int P1 = 4; // Definición de un pin de entrada para alguna funcionalidad no especificada
int IN1 = 22; // Definición de pines para controlar un motor DC
int IN2 = 21;
int Led; // Variable para almacenar el estado de un pin (posiblemente conectado a algún sensor)
const int pinLEDR = 23; // Pin conectado al LED RGB para el color rojo
int valorPotenciometroR; // Variable para almacenar el valor del potenciómetro
// Pines de los potenciómetros (entradas analógicas)
const int pinPotenciometroR = 15; // Pin analógico para el color rojo
// Configuración de las propiedades de PWM
const int frecuencia = 5000; // Frecuencia del PWM
const int resolucion = 8; // Resolución del PWM
// Variables para almacenar los valores del ciclo de trabajo
int cicloLEDR = 0;
const int canalLEDR = 0; // Canal para controlar el LED RGB
void setup() {
Serial.begin(9600);
pinMode(pinLEDR, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
// Configurar las funcionalidades de PWM para los LEDs
ledcSetup(canalLEDR, frecuencia, resolucion);
// Asociar el canal a los pines GPIO que controlarán los LEDs
ledcAttachPin(pinLEDR, canalLEDR);
}
void loop() {
Led = digitalRead(P1); // Leer el estado del pin P1
delay(3000);
valorPotenciometroR = analogRead(pinPotenciometroR); // Leer el valor del potenciómetro para el color rojo
cicloLEDR = map(valorPotenciometroR, 0, 4095, 0, 255); // Mapear el valor del potenciómetro al rango del ciclo de trabajo PWM
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
ledcWrite(canalLEDR, cicloLEDR); // Establecer el ciclo de trabajo para el LED RGB
Serial.println(Led); // Imprimir el valor de Led en el puerto serie
delay(3000);
// Repetir el proceso para otras configuraciones del motor DC y el LED RGB
}