En este proyecto, controlaremos un LED para encenderlo y apagarlo mediante un módulo de botón.
Cuando se presiona el botón, la salida de la señal se encuentra en bajo nivel (0) LOW; cuando se suelta, la salida de la señal del sensor se mantiene en alto nivel (1) HIGH.
1.- MATERIALES NECESARIOS PARA ESTA ACTIVIDAD
Paso 1: Conexiones
Conecta el LED a tu Placa R3 tal y como ves arriba:
Módulo de botón:
GND -- GND
VCC -- 5V
OUT -- D4
LED:
GND -- GND
SIG -- D5
Paso 2: Código de prueba
A continuación, diseñaremos el programa para encender el LED con el botón.
En comparación con experimentos anteriores, agregamos una instrucción de juicio condicional.
Usamos la instrucción "if"
Las frases escritas en Arduino se basan en el lenguaje C, por lo tanto, la instrucción de juicio condicional de C es adecuada para Arduino, como "while", "switch", etc.
Para esta lección, tomamos la instrucción "if" como ejemplo para demostrar: Si se presiona el botón y el digital 4 está en bajo nivel, entonces hacemos que el digital 5 emita un alto nivel, luego el LED se encenderá; inversamente, si se suelta el botón y el digital 4 está en alto nivel, hacemos que el digital 5 emita un bajo nivel y el LED se apagará.
Abre el entorno de desarrollo de Arduino y crea un nuevo proyecto. Luego, copia y pega el siguiente código:
int ledpin = 5; // Define the led light in D5
int inpin = 4; // Define the button in D4
int val; // Define variable val
void setup ()
{
pinMode (ledpin, OUTPUT); // The LED light interface is defined as output
pinMode (inpin, INPUT); // Define the button interface as input
}
void loop ()
{
val = digitalRead (inpin); // Read the digital 4 level value and assign it to val
if (val == LOW) // Whether the key is pressed, the light will be on when pressed
{digitalWrite (ledpin, HIGH);}
else
{digitalWrite (ledpin, LOW);}
}
int ledpin = 5; - Se define el pin del LED como D5.
int inpin = 4; - Se define el pin del botón como D4.
int val; - Se define una variable llamada "val" para almacenar el valor leído del botón.
void setup () - Esta función se ejecuta una vez al inicio del programa y se encarga de configurar los pines.
pinMode (ledpin, OUTPUT); - El pin del LED se configura como salida.
pinMode (inpin, INPUT); - El pin del botón se configura como entrada.
void loop () - Esta función se ejecuta continuamente en un bucle.
val = digitalRead (inpin); - Se lee el valor del pin del botón (D4) y se almacena en la variable "val".
if (val == LOW) - Se verifica si el botón está presionado (nivel bajo).
{digitalWrite (ledpin, HIGH);} - Si el botón está presionado, se enciende el LED (D5).
else
{digitalWrite (ledpin, LOW);} - Si el botón no está presionado, se apaga el LED.
Abre Mblock y crea un nuevo proyecto.
Arrastra y coloca los bloques necesarios desde la sección "Control" y "Robots & Servos" para construir tu programa.
Desde "Eventos":
Agrega un bloque "Cuando Arduino Uno se inicie".
Desde "Control"
Agrega un bloque "Para siempre".
Agrega un bloque "Si - sino"
Desde "Operadores"
Agrega un bloque "="
Desde "Pin":
Agrega un bloque "Lee pin digital" dentro del bloque "=" "Pin digital 4 =1".
Agrega un bloque "Pon el pin digital 5 en ALTO" Si se cumple la condición
Agrega un bloque "Pon el pin digital 5 en BAJO" Sin NO se cumple la condición
Haz clic para ejecutar tu programa.
Esto debería replicar la lógica del código en bloques en Mblock. Ajusta los bloques según sea necesario y verifica que el programa funcione como se espera.
Paso 3: Compilar y cargar
Compila el código y carga el programa en tu Arduino. Asegúrate de seleccionar el puerto y el tipo de placa correctos en el entorno de Arduino antes de cargar el código.
Programa en bloques y revisa bien las conexiones, actualiza el Firmware si fuera necesario. Carga la programación y observa si funciona.
Paso 4: Observa el resultado
Resultado de la Prueba: Este experimento es bastante simple y se aplica ampliamente a varios circuitos y electrodomésticos.
En nuestra vida, puedes encontrar este principio en cualquier dispositivo, como cuando se enciende la retroiluminación al presionar cualquier botón, lo cual es un ejemplo típico.
¡Diviértete explorando el mundo de Arduino!
RETOS ADICIONALES
🔵 Reto 1: LED intermitente con el botón
Modifica el código para que cuando se presione el botón, el LED parpadee en lugar de encenderse fijo.
🔴 Reto 2: Botón con memoria
Ahora el botón debe alternar el estado del LED:
Primera pulsación: LED encendido
Segunda pulsación: LED apagado
Tercera pulsación: LED encendido... y así sucesivamente.
💡 Pista: Usa una variable booleana para almacenar el estado del LED.
🟢 Reto 3: Segundo LED
Añade otro LED y haz que cuando se presione el botón, uno se encienda y el otro se apague (efecto de "interruptor").
🟣 Reto 4: Semáforo sencillo
Añade 2 LEDs (rojo y verde) para simular un semáforo:
Al pulsar el botón, se enciende el LED verde.
Si se vuelve a pulsar, se apaga el verde y se enciende el rojo.