|
En la entrada de hoy aprenderemos a programar salidas digitales en Arduino mediante el uso de LEDs y buzzers, dispositivos fundamentales para generar señales visuales y sonoras. La actividad se centra en la construcción y programación de una baliza de localización, que combina ambos elementos para simular una herramienta de recuperación de un CANSAT.
Comenzaremos montando un circuito paralelo en el que conectaremos los LEDs y el buzzer, explorando cómo funcionan estos componentes y cómo se controlan mediante las salidas digitales del Arduino. Una vez completado el montaje, programaremos el circuito utilizando Arduino Blocks, una herramienta visual que facilita la comprensión del código. Finalmente, daremos el salto al IDE de Arduino para implementar el mismo programa en lenguaje C++, desarrollando así una comprensión más profunda del funcionamiento y control de las salidas digitales.
Comenzaremos montando un circuito paralelo en el que conectaremos los LEDs y el buzzer, explorando cómo funcionan estos componentes y cómo se controlan mediante las salidas digitales del Arduino. Una vez completado el montaje, programaremos el circuito utilizando Arduino Blocks, una herramienta visual que facilita la comprensión del código. Finalmente, daremos el salto al IDE de Arduino para implementar el mismo programa en lenguaje C++, desarrollando así una comprensión más profunda del funcionamiento y control de las salidas digitales.
Listado de componentes para la práctica: Baliza de localización con Arduino
- Placa Arduino Uno (o compatible).
- Cables de conexión (jumper): macho-macho, macho-hembra.
- Protoboard (placa de pruebas).
- LEDs: mínimo 2 unidades (rojo y verde, opcional).
- Resistencias: 220 Ω (una para cada LED).
- Buzzer activo: 1 unidad.
- Fuente de alimentación: Cable USB para conectar el Arduino al ordenador o batería externa (opcional).
- Software: Arduino Blocks y IDE de Arduino.
Diodo Emisor de Luz (LED)
|
Buzzer o zubador
|
|
Conexión de LED y Buzzer a la placa Arduino Uno
|
Programación de la baliza con ArduinOblocks
Cuando programemos la baliza, queremos se se lleva a cabo el siguiente comportamiento:- Encendido del LED: El LED conectado al pin digital 12 se encenderá y permanecerá encendido durante 1 segundo.
- Zumbidos del buzzer: Después de que el LED se apague, el buzzer conectado al pin digital 6 emitirá tres zumbidos consecutivos. Cada zumbido durará 500 milisegundos, con un intervalo de 500 milisegundos entre ellos.
- Reinicio del ciclo: Una vez que terminen los zumbidos, el proceso volverá a empezar desde el encendido del LED, creando un ciclo continuo de señalización. Este patrón simula el comportamiento de una baliza de localización, alternando entre señales visuales (LED) y sonoras (buzzer) para maximizar su eficacia.
Los buzzers pasivos requieren una señal oscilante, en general de tipo PWM, que indique la frecuencia y la duración de la señal. Por eso es muy importante quel pin seleccionado tenga una virgulilla (~). Por ejemplo el 6
Programación de la baliza con Ide de Arduino
Puntos importantes para que lo entiendas y lo hagas tú mismo:
- Primero usamos pinMode en el setup para configurar el pin como salida (OUTPUT) porque sonactuadores.
- Usamos digitalWrite en el loop para enviar señales HIGH o LOW y controlar lo que pasa en el pin (encender/apagar el LED).
- tone y noTone: Estas funciones controlan el buzzer, activando o deteniendo sonidos con una frecuencia específica.
- for loop: Se usa para repetir una acción varias veces (en este caso, los tres zumbidos del buzzer).
- delay: Sirve para pausar la ejecución del programa durante un tiempo en milisegundos.
- ¿Qué significa HIGH? Envía una señal de 5V al pin, lo que "enciende" el dispositivo conectado (como un LED o un buzzer).
- ¿Qué significa LOW? Detiene la señal (0V) en el pin, lo que "apaga" el dispositivo conectado.
Este código es un excelente ejemplo para aprender a usar salidas digitales y bucles en Arduino. ¡Intenta replicarlo y experimenta cambiando los tiempos o las frecuencias del buzzer! ¿Qué ocurrirá?