Control de LEDs sin tocar con sensores infrarrojos y Arduino
Imagina que puedes encender luces… sin tocarlas.
Acercas tu mano y, de repente, los LEDs comienzan a encenderse uno tras otro. No hay botones que presionar. Solo tu movimiento.
Parece magia, pero en realidad estás usando sensores infrarrojos.
En este proyecto con Arduino, vas a crear un sistema capaz de detectar tu mano y generar un efecto de barrido de LEDs, ya sea de izquierda a derecha o al revés, dependiendo de qué sensor actives.
Lo interesante no es solo el efecto visual, sino lo que hay detrás: estás trabajando con detección de proximidad, una tecnología que se usa en puertas automáticas, dispensadores y muchos sistemas reales.
Y lo mejor… lo vas a construir tú mismo, paso a paso.
Materiales
Antes de comenzar, vamos a reunir todo lo necesario para dar vida a este proyecto. Cada componente cumple un papel importante para lograr que el sistema responda al movimiento de tu mano y genere el efecto de barrido en los LEDs.
Asegúrate de tener lo siguiente:
- 2 sensores de proximidad infrarrojos (módulos IR)
- 5 resistencias de 330 ohmios
- 5 LEDs del color que prefieras
- 1 placa Arduino
- 1 protoboard grande
- 10 cables jumper de 10 cm
- 4 cables jumper de 20 cm
- 1 metro de alambre de timbre
Diagrama de conexiones
Para este proyecto, vas a guiarte del diagrama de conexiones que se proporciona en la imagen. Observa con atención cada conexión y replica el circuito paso a paso en tu protoboard.
Antes de continuar, ten en cuenta algunos detalles importantes que pueden evitar errores durante el montaje:
- Asegúrate de puentear los rieles de alimentación del protoboard, ya que al ser un modelo grande, estos están divididos en el centro. Puedes usar el alambre de timbre para realizar esta conexión.
- Verifica que todas las tierras (GND) estén correctamente conectadas. Esto es fundamental para el funcionamiento del circuito.
- Revisa que los cables estén bien ajustados y no se encuentren flojos.
- Confirma la correcta orientación de los LEDs y las conexiones de los sensores.
Con esto listo, ya tendrás tu circuito preparado para pasar a la siguiente etapa.
Programación
Ahora es momento de darle vida al proyecto.
En esta práctica vamos a trabajar con programación por bloques utilizando PictoBlox, una herramienta ideal para aprender de forma visual e intuitiva.
Antes de comenzar, es importante que tengas una base. Por eso, te recomiendo revisar los siguientes contenidos:
Una vez que hayas revisado estos recursos, regresa a este proyecto para continuar con la programación.
Aquí encontrarás una imagen con el diagrama de bloques que debes seguir paso a paso para lograr el funcionamiento del sistema. Observa con atención cada bloque y replica la lógica en tu entorno.
Además, más abajo también tendrás disponible el código en formato texto. Esto te permitirá tener una referencia adicional y comparar ambos enfoques de programación.
🧠 IA Educativa desde cero
Explora nuestros eBooks educativos con proyectos guiados paso a paso para enseñar inteligencia artificial desde casa o en el aula.
//This c++ code is generated by PictoBlox
void setup() {
//put your setup code here, to run once:
pinMode(2, INPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(4, INPUT);
}
void loop() {
//put your main code here, to run repeatedly:
if ((!(digitalRead(2)))) {
digitalWrite(8, true);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, true);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, true);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, true);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, true);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
}
if ((!(digitalRead(4)))) {
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, true);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, true);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, true);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, true);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, true);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
digitalWrite(8, false);
digitalWrite(9, false);
digitalWrite(10, false);
digitalWrite(11, false);
digitalWrite(12, false);
delay(0.1 * 1000);
}
}
Con esto, ya estás listo para programar y ver cómo tu sistema responde al movimiento de tu mano.
Pruebas Experimentales
Con el circuito armado, es momento de cargar el programa en tu placa. Si tienes dudas sobre este proceso, puedes apoyarte en la publicación donde se explica cómo programar Arduino con bloques usando PictoBlox.
Una vez cargado el código, el primer paso es realizar la calibración de los sensores.
Calibración de sensores
Cada módulo infrarrojo cuenta con un potenciómetro que puedes ajustar con un destornillador.
Mientras el sistema está encendido, acerca tu mano al sensor y observa el comportamiento:
- Uno de los LEDs del módulo indica que el sensor está alimentado y debe permanecer encendido.
- El segundo LED se activa cuando el sensor detecta tu mano.
- Ajusta el potenciómetro hasta lograr una detección clara y estable.
Realiza este proceso en ambos sensores hasta que respondan correctamente al acercar la mano.
Prueba de funcionamiento
Una vez calibrados los sensores, puedes comprobar el comportamiento del sistema:
- Acerca tu mano a uno de los sensores infrarrojos.
- Observa cómo los LEDs comienzan a encenderse desde ese lado, siguiendo una secuencia.
- Luego, acerca tu mano al sensor contrario.
- Verifica que ahora el barrido se realice en sentido opuesto.
Este es el funcionamiento esperado del sistema.
🧠 IA Educativa desde cero
Explora nuestros eBooks educativos con proyectos guiados paso a paso para enseñar inteligencia artificial desde casa o en el aula.