En este tutorial utilizaremos el Sensor Push Button KY-004 para poder activar el servomotor SG90.
El servomotor SG90 nos es útil para proyectos en donde indicamos el ángulo que se requiere específicamente , en el caso de este dispositivo va de 0° a 180° (dextrógiro o levógiro).
Realizaremos la siguiente conexión entre los componentes, para lo cual requeriremos:
Diagrama de conexiones entre el KY-004 y dispositivos
Realizaremos las siguientes conexiones entre nuestros componentes y Arduino UNO:
Programación del código en Arduino IDE
Con el siguiente código podremos controlar el encendido del SG90 al presionar el push button:
#include <Servo.h> //Librería para poder utilizar el servo sg90 #include <SoftwareSerial.h> Servo sg90; //Nombramos al servo int ky04 = 8; // Definimos el pin de detección de interrupción por medio del push button int boton ; // Variable botón en donde se reserva el valor del push button // (0-presionado, 1-No es presionado) void setup() { Serial.begin(9600); // Se inicializa la comunicación a 9600 baudios pinMode(ky04,INPUT); // Definimos al push como señal de entrada sg90.attach(10); //Pin para la señal al servo-Pin10 sg90.write(0); //Siempre que se inicie el programa el servo tendrá un valor de 0° } void loop() { boton = digitalRead (ky04) ; //Se reserva el valor del push button a la variable botón if (boton == LOW) { //Si el botón es presionado se activara el servo comenzando con la //siguiente rutina for (int i = 0; i <= 180; i++) { //sentido antihorario abre sg90.write(i); //se dará el valor del ángulo de 0 a 180 incrementando delay(5); //realizara el movimiento mas rápido 10 milisegundo sg90.write(i); Serial.println(i); } for (int i = 180; i > 0; i--) { //sentido horario cierra sg90.write(i); //se dará el valor del ángulo de 180 a 0 decrementando delay(20); //realizara el movimiento mas lento 50 milisegundo Serial.println(i); } } else { //de lo contrario, si botón = HIGH, No es presionado sg90.write(0); //el servo tendrá un valor de 0° } }
Como podemos observar en el programa y en el siguiente video , el servomotor solo tendrá movilidad en 180°. El SG90 comenzara a moverse en cuanto pulsemos el KY-004; primero de forma incremental (sentido antihorario/levógiro) hasta que llegue al valor de 180 (como se muestra en el Monitor Serial) y posteriormente decrementara el valor de 180 hasta que llegue a 0 (sentido horario/dextrógiro).
Al modificar el delay (milisegundos) podemos observar como decrementa e incrementa de manera mas rápida y/o lenta , según nos convenga.
En este caso usamos el Sensor Push Button para activar nuestro sistema, aunque también lo podemos usar como interruptor o para activar otros sistemas
Te invitamos a que revises otros proyectos en donde podrían activarse con el KY-004: