Encender y apagar un led en ESP32 con dos pulsadores
Ya aprendimos a encender y apagar un led con pulsador, ahora vamos a Encender y apagar un led en ESP32 con dos pulsadores, lo haremos con el siguiente reto:
- Al presionar el pulsador1 encender y apagar el led.
- Al presionar el pulsador2 encender y apagar el led.
- Sí se presiona dos veces el pulsador1 y el pulsador2 mantener encendido el led.
Requerimientos:
- 2 Pulsadores.
- 3 Resistencias de 330 Ω.
- 1 Led.
- Cables
Conexiones
- Conectamos el pulsador1 al pin 4.
- Conectamos el pulsador2 al pin 5.
- Conectamos el led al pin 2.
Código para Encender y apagar un led en ESP32 con dos pulsadores
//Variable que cuenta la cantidad de veces que se ha precionado el pulsador 1 int CONTADOR1 = 0; //Variable que cuenta la cantidad de veces que se ha precionado el pulsador 2 int CONTADOR2 = 0; //Definimos el pin del pulsador 1 int pinPulsador1=4; //Definimos el pin del pulsador 1 int pinPulsador2=5; //Definimos el pin del led int pinLed=2; void setup() { //Inicializamos el pin del puñzador 1 como salida pinMode(pinPulsador1, INPUT); //Inicializamos el pin del puñzador 2 como salida pinMode(pinPulsador2, INPUT); //Inicializamos el pin del led como salida pinMode(pinLed, OUTPUT); //Iniciamos la velocidad en 9600 baudios Serial.begin(9600); } void loop() { //Si se precionamos el pulsador 1 if (digitalRead(pinPulsador1) == HIGH) { //Incrementamos el contador1 en 1 CONTADOR1 += 1; //Encendemos el led digitalWrite(pinLed, HIGH); //Esperamos 200 milisegundos delay(200); //Apagamos el led digitalWrite(pinLed, LOW); } //Si se precionamos el pulsador 2 if (digitalRead(pinPulsador2) == HIGH) { //Incrementamos el contador2 en 1 CONTADOR2 += 1; //Encendemos el led digitalWrite(pinLed, HIGH); //Esperamos 200 milisegundos delay(200); //Apagamos el led digitalWrite(pinLed, LOW); } mostrar(); if (CONTADOR1 == 2 && CONTADOR2 == 2) { digitalWrite(pinLed, HIGH); } else { digitalWrite(pinLed, LOW); } if (CONTADOR1 > 2) { CONTADOR1 = 0; } if (CONTADOR2 > 2) { CONTADOR2 = 0; } delay(100); } void mostrar(){ Serial.print("CONTADOR1:"); Serial.println(CONTADOR1); Serial.print("CONTADOR2:"); Serial.println(CONTADOR2); }
Explicación del código
- Declaramos la variable que cuenta, la cantidad de veces que se ha presionado el pulsador 1
- Declaramos la variable que cuenta la cantidad de veces que se ha precionado el pulsador 2
- Variable que define el pin del pulsador 1
- Variable que define el pin del pulsador 2
- Definimos el pin del led
- Inicializamos el pin del pulsador 1 como salida
- Inicializamos el pin del pulsador 2 como salida
- Inicializamos el pin del led como salida
- Iniciamos la velocidad en 9600 baudios
- Si se presionamos el pulsador 1
- Incrementamos el contador1 en 1
- Encendemos el led
- Esperamos 200 milisegundos
- Apagamos el led
Link de la simulación https://wokwi.com/projects/342314100874805843
🎦 Este curso: https://www.youtube.com/watch?v=VuJkqL2Ys3Y&list=PLCTD_CpMeEKTvjzabAvLGHakg-ql6t0q6&ab_channel=ProgramadorNovato
🎦 Curso de Arduino: https://www.youtube.com/watch?v=oGinJt9aALc&list=PLCTD_CpMeEKSqw3Nh7rA9aXUAzbPIPkdv&ab_channel=ProgramadorNovato
🎦 [CURSO] C++ DE 0 A HEROE: https://www.youtube.com/watch?v=APN8aCyPvww&list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc
<<Anterior tutorial Siguiente tutorial >>