#include <Arduino.h>
#define mydelay 250
// Definición de pines de leds
#define led_R 5
#define led_G 17
#define led_B 16
// Definición de pines de botones en el ESP32
#define but_R 26
#define but_G 27
#define but_B 14
#define sensorPin A0 // Pin analógico para leer el voltaje
void setup() {
// Configura los pines de los leds como salidas
pinMode(led_R, OUTPUT);
pinMode(led_G, OUTPUT);
pinMode(led_B, OUTPUT);
// Apaga los LEDs al inicio
digitalWrite(led_R, LOW);
digitalWrite(led_G, LOW);
digitalWrite(led_B, LOW);
Serial.begin(115200); // Iniciar comunicación serial para imprimir el voltaje
}
void loop() {
// Leer voltaje analógico del pin A0
int lectura_analogica = analogRead(sensorPin);
// Convertir lectura a voltaje (de 0 a 3.3V)
float voltaje = (lectura_analogica / 4095.0) * 3.3;
// Imprimir voltaje en el Monitor Serie
Serial.print("Voltaje: ");
Serial.print(voltaje);
Serial.println(" V");
// Controlar LEDs según los botones presionados
// Verifica el estado de cada botón y controla los LEDs correspondientes
if (digitalRead(but_R) == LOW) {
digitalWrite(led_R, HIGH); // Enciende el LED rojo si se presiona el botón R
} else {
digitalWrite(led_R, LOW); // Apaga el LED rojo si no se presiona el botón R
}
if (digitalRead(but_G) == LOW) {
digitalWrite(led_G, HIGH); // Enciende el LED verde si se presiona el botón G
} else {
digitalWrite(led_G, LOW); // Apaga el LED verde si no se presiona el botón G
}
if (digitalRead(but_B) == LOW) {
digitalWrite(led_B, HIGH); // Enciende el LED azul si se presiona el botón B
} else {
digitalWrite(led_B, LOW); // Apaga el LED azul si no se presiona el botón B
}
}