Pasador de diapositivas con Arduino y sensor HC-SR04
Hoy haremos un pasador de diapositivas, el cual se activa con tan solo acercar la mano, sin nedesidad de pulsar ningun botón ni tener las manos ocupadas con mandos de control remoto ni ningun otro dispositivo.
Para hacerlo funcionar, usamos Arduino Leonardo como un teclado de ordenador. La diferencia es que en vez de pulsar un botón para enviar el caracter, nosotros haremos esa activación con un sensor de distancia por ultrasonidos HC-SR04.
El caracter que enviaremos, cuando el sensor nos detecte, será un espacio, y esto nos servirá para pasar una diapositiva en el caso de tener abierta cualquier tipo de presentación en nuestro ordenador.
Materiales usados.
![]() |
Arduino Leonardo |
![]() |
Sensor HC-SR04 |
![]() |
Cables |
Esquema de conexión
En el siguiente esquema se muestra como conectar el sensor a Arduino.

Código.
El siguiente código envia un espacio cada vez que la distancia entre el sensor y cualquier objeto es menor que 50cm.
En el caso de una detección continuada las diapositivas pasaran hasta apartar el objeto detectado.
#include <Ultrasonic.h>//Incluimos la libreria para el control del sensor HC-SR04. Ultrasonic sensor(9,8,30000); // (Trig PIN,Echo PIN, microsegundos max "distancia máxima") 30000us = 5 metros. int distancia=0;//Declaramos la variable donde despues gurdaremos la distancia medida por el sensor void setup() { Serial.begin(9600);//Iniciamos el puerto serie Keyboard.begin();//Iniciamos el modo teclado } void loop() { distancia=sensor.Ranging(CM);//Medimos la distancia y la guardamos en la variable if(distancia<50){//Si la distancia es menor que 50 entramos en el bucle Keyboard.write(' ');//Envimos un espacio delay(200);//Esperamos 200 milisegundos } }
Puedes descargar la librería del sensor HC-SR04 aquí
Fotos del montaje
En la siguiente foto se ve como se conecta el sensor a Arduino.

Video de muestra.
Hola buenas he estado intetando probar este proyecto pero mi IDE de Arduino dice que el codigo esta esta mal en esta parte || Keyboard.write(‘ ‘);//Envimos un espacio ||
Gracias y Un saludo