¡Una forma simple pero efectiva de combatir COVID-19 con lavado de manos y santificación de manos, sin tocar la botella!
Material
La siguiente lista muestra los materiales necesarios para construir tu propio dispensador de jabón para manos automático con Arduino.
Elementos y componentes
Arduino Nano R3
Sensor ultrasónico HC-SR04 (o sensor infrarrojo)
Jumpers hembra-hembra
Servomotor MF-06
Caja de plástico
Alambre de cobre (30 cm)
Jabón o gel antibacterial en botella dispensadora
Software, aplicaciones y servicios online
Arduino IDE
Herramientas y máquinas de fabricación
Tornillo o clavo
Pistola de silicón (genérica)
Computadora o laptop
Marcador
Cúter
Selección de componentes
Sensor
Necesitaremos un sensor para detectar nuestra proximidad o presencia, que básicamente actuará como un interruptor sin necesidad de contacto para este sistema.
Tenemos dos opciones aquí, es decir, podemos usar el módulo de sensor infrarrojo o el módulo de sensor ultrasónico.
Podemos usar el módulo de sensor infrarrojo, que es básicamente una opción barata y eficiente, pero a veces inexacta.
O podemos usar el sensor ultrasónico HC-SR04, que es bastante preciso por encima del rango de 2 cm, y una opción ligeramente costosa. Para este tutorial usaremos el sensor ultrasónico para una mejor precisión.
Motor
La mejor opción será usar un Servomotor con engranajes metálicos para mayor torque. Evitaremos el uso de microbombas, ya que deben insertarse en el contenedor, lo que crea un punto de contaminación. Por lo tanto, utilizar un mecanismo externo con ayuda de un servo es una buena elección.
Microcontrolador
Para la construcción de este proyecto necesitaremos un microcontrolador para controlar la entrada y la salida, calcular la distancia, detectar el disparador del sensor y procesar la salida en forma de movimiento del servomotor.
Podemos usar cualquier tipo de Arduino, aquí usaremos un Arduino Nano para nuestro dispensador automático.
Conexión
¡Las conexiones para este proyecto de dispensador para manos sin contacto son muy simples!
Conexión Sensor-Arduino
- Trig a D10
- Echo a D11
- Vcc a 5 volts (Arduino)
- GND a GND
Conexión Servomotor-Arduino
- Señal a D9
- Vcc a Vin
- GND a GND
Montaje
1.- Acopla el servo a la base.
El primer paso en el montaje mecánico es unir el servomotor a una superficie rígida dentro de la caja, usando silicón caliente.
Tenga cuidado al usar la pistola de silicón caliente.
2.- Pasa el cable de cobre a través del brazo del servo.
Pase el cable de cobre a través del servomotor utilizando los orificios del brazo de fijación. Pasa el cable al menos a través de 2 orificios para garantizar que se logre la tensión adecuada. Utilizar el brazo de fijación circular sería la mejor opción, ya que uno recto puede quedar atrapado dentro.
3.- Agrega un pedazo de barra de silicón con un orificio en el medio al cable.
Corte un trozo de barra de silicón de aproximadamente 2 cm de largo y haga un agujero en el medio, pase el alambre de cobre a través del silicón.
Esto ayudará a aumentar el área de superficie en el punto de contacto del bote de jabón o gel antibacterial.
4.- Fija el cable con un tornillo.
Conecte el segundo extremo del cable a otra superficie rígida (cara opuesta del servomotor) usando un tornillo o un clavo. El que se usa en este proyecto es una opción de tornillo. Este tornillo nos permitirá ajustar la tensión o quitar la botella para rellenarla.
Código
El código es muy simple de entender, utilizamos la librería de servos y definimos configuraciones y variables básicas.
El código principal calcula la distancia en centímetros y si la distancia es inferior a 10 cm, el servomotor realiza un movimiento de barrido para liberar el líquido.
Puedes encontrar la librería para Servo aquí.
const int servo = 9; //define 'Servo Signal Pin'
const int trigPin = 10; //define 'Trigger Pin'
const int echoPin = 11; //define 'Echo Pin'
// define variables
long duration;
int distance;
#include <Servo.h>
Servo myservo; // Crea una variable para controlar el servo
int pos = 0; // Variable para almacenar la posicion del servo
void setup() {
pinMode(trigPin, OUTPUT); // Establece a 'trigPin' como Salida
pinMode(echoPin, INPUT); // Establece a 'echoPin' como Entrada
myservo.attach(servo); // Acopla al servo en el pin 9
myservo.write(0); // Sets Servo to initially 0 degrees
Serial.begin(9600); // Comienza la comunicacion serial
}
void loop() {
//
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Establece a 'trigPin' en estado alto (HIGH) por 10 microsegundos
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lectura del 'echoPin', retorna el tiempo de viaje de la onda ultrasonica en microsegundos
duration = pulseIn(echoPin, HIGH);
// Calculando la distancia
distance= duration*0.034/2;
// Imprime la distancia en el monitor serial
Serial.print("Distance: ");
Serial.println(distance);
//Servo
if(distance<10)
{ //Revision: que la distancia sea menos que 10cm
myservo.write(45); // Establece el Servo en etapas de 0 a 180 grados para que el jabon no salga
delay(100);
myservo.write(90);
delay(100);
myservo.write(135);
delay(100);
myservo.write(120); //Ajuste que tan lejos quiere que llegue el servo
delay(1000);
myservo.write(00); // Reinicia el servo a 0 Degrees
delay(2500); //Retrasa la proxima vez que alguien pueda conseguir jabon en milisegundos
}
}
Ajustes
Una vez descargado el código, sería bueno probar y ajustar este proyecto antes de completar el gabinete.
En esta prueba, podemos ver claramente que cuando nuestra mano se coloca por encima del sensor ultrasónico, 10 cm, se activa el servomotor y se dispensa alcohol con alcohol.
Puede modificar el código para cambiar la distancia en la que se activa el ultrasónico. Una vez que que esté satisfecho con la distancia del sensor y el proyecto funciona correctamente, podemos avanzar al siguiente paso.
Completar base
Una vez que nuestro proyecto parece estar funcionando, es hora de completar el gabinete.
Sigue los siguientes pasos para completarlo:
- Mide las dimensiones (diámetro) para los agujeros del sensor ultrasónico y la botella.
- Haz una ranura para el alambre de cobre con espacio adicional para el giro.
- Marca con una pluma o plumón todos los agujeros de corte.
- Usa un exacto o un taladro para cortar los agujeros.
- Arregla y une todo con la ayuda de silicona caliente.
¡Ahora solo queda colocar todo en su lugar!
¡TODO LISTO! EL PROYECTO DE DESINFECTANTE DE MANOS AUTOMÁTICO (DISPENSADOR AUTOMÁTICO DE JABÓN) ESTÁ TERMINADO.
Submit your review | |
Arduino Arduino nano Principiantes Proyecto Servomotor Ultrasónico
20 comentarios
hola, una pregunta ¿se necesita el Arduino uno?, por que solo tengo los materiales que esta en su articulo
Oye hijo estamos haciendo el mismo proyecto pero estamos teniendo un problema, ya que nuestro servomotor se queda encendido y no se apaga, pero si funciona cuando le ponemos la mano. El problema no se apaga.
Disculpe una pregunta necesita batería o algo para que funcione?
disculpe me salto un error al momento de subir :
el programa Arduino:1.8.16 (Windows 10), Tarjeta:»Arduino Uno»
El Sketch usa 4288 bytes (13%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
Las variables Globales usan 241 bytes (11%) de la memoria dinámica, dejando 1807 bytes para las variables locales. El máximo es 2048 bytes.
Puerto serie no seleccionado.
Este informe podría contener más información con
«Mostrar salida detallada durante la compilación»
opción habilitada en Archivo -> Preferencias.
me aparecio asi hay alguna solucion ???
Verifica en Herramientas que esté seleccionado correctamente el puerto COM y la placa el modelo de tu Arduino. Para más información: https://mielectronicafacil.com/cursos/arduino-principiantes/instalar-arduino/
¿Puede utilizarse un Arduino Uno?
Si puedes, solamente cambia el código con los pines que utilices para el Sensor ultrasónico HC-SR04 (o sensor infrarrojo) y el Servo
Se puede usar tambien :Arduino Servomotor Futaba S3003
Si claro! La conexión es la misma
Podría usar un micro servo 9g? Saludos.
Que batería usó para el funcionamiento? O como se energizó el circuito? y a donde irían estas conexiones. Gracias
Con una batería de 5V – 6V (Pueden ser 4 pilas AA) y van conectadas al Arduino en sus terminales GND y VIN/+5V
Hola, me puede precisar qué cable va a dónde porfavor 🙂
Claro, el diagrama se encuentra en la sección de Conexión
Muchas gracias no encontraba codigo para hacer una igual saludos.
para este proyecto cual seria la fuente de alimentación adecuada
De cuanta capacidad puede ser el gel antibacterial?
Te recomendamos usar botellas de 100 a 250 mililitros
se podria usar un sensor de movimiento o una fotocelta basica
¡Claro! En este proyecto se propuso el módulo de sensor sensor ultrasónico, pero puedes usar lo que mencionas siempre y cuando modifiques el código y la conexión.