Dispensador De Gel Automático-Arduino
by Hadasa in Circuits > Arduino
1905 Views, 0 Favorites, 0 Comments
Dispensador De Gel Automático-Arduino
Contenido
- Introducción.
- Materiales empleados.
- Diseño y Conexión del Circuito en Tinkercad.
- Código
- Ensamble.
- Video de Demostración.
- Aprendizaje.
INTRODUCCIÓN.
Actualmente vivimos días difíciles a raíz de todo lo acontecido con el COVID-19, pero, una de las cosas a nuestro favor es la notable mejora en nuestros hábitos de higiene, incluido el uso de Alcohol en Gel o de Gel Antibacteriano para lavarnos las manos .
Por ello, nos propusimos desarrollar este proyecto: Un dispensador automático de gel. Y claro, quiero compartir contigo una explicación paso a paso, así como la guía de conexiones y el respectivo código fuente de la programación.
MATERIALES EMPLEADOS
- Placa Arduino UNO
- Sensor de ultrasonidos
- 1 Led verde
- 1 Led rojo
- 2 Resistencia
- Protoboard (pequeño)
- 1 Micro servomotor
DISEÑO Y CONEXIÓN DEL CIRCUITO EN TINKERCAD
En el circuito tenemos el sensor de distancia que tomará la distancia hasta el objeto más cercano y los LEDs que indicarán la disponibilidad del sistema (si está disponible o no para expulsar jabón).
El sensor de distancia esta conectado a la placa de pruebas en el positivo y negativo también a los pines 6 y 7 del Arduino UNO.
Los leds conectados en la placa de pruebas a las resistencias y los pines 10 y 11 del Arduino.
El micro servomotor conectado a el negativo y positivo de la placa de pruebas, y en el pin 3 del Arduino
Y finalmente el GND y 5V del Arduino conectado al negativo y positivo, respectivamente, de la placa de pruebas.
CÓDIGO
#include <Servo.h>
#define trigPin 7
#define echoPin 6
Larga duración;
larga distancia;
int LEDr = 11;
int LEDv = 10;
Servo ASU1;
<strong> <em> <u> En este segmento del código, vamos a estar asignando las variables y los componentes a sus propiedades pines y valores de inicio. </u> </em> </strong> <strong> <em> <u>
-Include Servo.h es la librería necesaria para el funcionamiento del servomotor
-Define trigpin y echopin se utilizan para incluir los puertos trig y echo en el sensor de movimiento al código
-Larga duración y larga distancia son variables numéricas. Son de tipo long ya que los datos no van a ser números exactos, sino números con decimales incluidos </u> </em> </strong>
<p> void setup () {</p> Serial.begin (9600);
ASU1.attach (3); <strong> <em> <u> | Aquí se le asigna un puerto digital al servomotor, en este caso el puerto 3 </u> </em> </strong>
pinMode (trigPin, SALIDA); <strong> <em> <u> </u> </em> </strong> <strong> <em> <u> aquí se asigna la variable de salida del pulso generado por el sensor </u> </ em > </strong>
pinMode (echoPin, ENTRADA); <em> <strong> <u> </u> </strong> </em> <em> <strong> <u> aquí se asigna la variable de entrada del pulso generado por el sensor </u> </ strong > </em>
pinMode (LEDr, SALIDA); <strong> <em> <u> </u> </em> </strong> <strong> <em> <u> Se asigna el primer LED </u> </em> </strong> <i>
</i> pinMode (LEDv, SALIDA); Se asigna el segundo LED
}
<strong> <em> <u> Desde aquí, empezamos a trabajar dentro de la estructura Void Loop </u> </em> </strong>
<p> Void Loop () <br> {</p> digitalWrite (trigPin, LOW); <strong> <em> <u> Línea dedicada al recibimiento de los pulsos generados </u> </em> </strong>
delayMicroseconds (5);
digitalWrite (trigPin, HIGH); <strong> <em> <u> </u> </em> </strong> <strong> <em> <u> Línea dedicada al envío de los pulsos generados </u> </ em> </strong>
delayMicroseconds (10);
delayMicroseconds (10);
digitalWrite (trigPin, BAJO);
duración = pulseIn (echoPin, HIGH); <strong> <em> <u> </u> </em> </strong> <strong> <em> <u> Línea que mide el pulso entrante </u> </ em> </strong>
distancia = larga (duración * 0,017); <strong> <em> <u> Fórmula para calcular la distancia del sensor ultrasónico. </u> </em> </strong>
si (distancia <10) <strong> <em> <u> | </u> </em> </strong> <strong> <em> <u> En el caso de que la distancia medida sea inferior a 10cm, entonces ... </u> </em> </strong>
{
ASU1.write (0);
escritura digital (LEDv, BAJO); <strong> <em> <u> el LED verde (que indica actividad) se apaga </u> </em> </strong> <i>
</i> escritura digital (LEDr, ALTO); el LED rojo (Que indica inactividad) se enciende
}
más {<strong> <em> <u> | </u> </em> </strong> <strong> <em> <u> En el caso de que se detecte actividad por encima de los 10cm entonces ... </u> </em> </strong>
escritura digital (LEDv, ALTA); <strong> <em> <u> el LED verde (actividad) ahora va a indicar que hay movimiento dentro del rango asignado </u> </em> </strong>
escritura digital (LEDr, BAJO);
ASU1.write (90);
retraso (1000);
ASU1.write (0); <strong> <em> <u> </u> </em> </strong> <strong> <em> <u> | El servo va a realiza un movimiento de 0 ° a 90 ° mientras que se cumpla esta condición </u> </em> </strong>
retraso (1000);
}
Serial.print ("distancia =");
Serial.print (distancia);
Serial.println ("CM");
retraso (100);
}
Serial.print ("distancia =");
Serial.print (distancia);
Serial.println ("CM");
retraso (100); <strong> <em> <u> </u> </em> </strong> <strong> <em> <u> | Entre mensajes se va a haber un retardo para no sobrecargar el Monitor serial </u> </em> </strong>
}ENSAMBLE
- Preparamos nuestro Arduino, conectándolo a la computadora y cargando el código.
- Instalamos en la placa de pruebas los componentes que van en ella.
- Añadimos las resistencias para los leds.
-
Conectamos los cables de 5V y GND.
-
Realizamos las conexiones correspondientes al Sensor Ultrasónico (Cable GND, cable 5V, cable trig y cable echo).
-
Conectamos los pines digitales que corresponden a los leds con sus elementos apropiados (No olvidar que hay que conectar los puertos que fueron asignados para cada elemento apropiadamente).
-
Preparamos el servomotor para conectarlo a la placa de pruebas con cables GND, 5V y conexión a su pin digital.
-
Realizamos las conexiones que le corresponden al servomotor, combinando entre conexiones a la placa de pruebas y directamente a la placa Arduino.
VIDEO DE DEMOSTRACIÓN.
Una vez ya tengamos la parte mecánica, el circuito electrónico y la programación cargada en el Arduino, lo que procede es posicionar todo esto dentro de una maqueta hecha de caño PVC el cual tiene pegado el servomotor a un costado y por los dos mencionados esta atado una pequeña cuerda que al hacer funcionar se estira y expulsa el gel en la mano de la persona =
APRENDIZAJE.
- Sobre el proyecto =
La idea de este proyecto surge a partir de la situación actual relativa a la pandemia provocada por el COVID-19, ya que nos parece deseable que existan este tipo de dispensadores automáticos que no obligan a que las personas deban presionarlo y mantener un contacto con el mismo que pueda suponer un riesgo de contagio (sobre todo, si el dispensador está colocado en un sitio público).
- Sobre el Arduino =
Para realizar este proyecto utilizamos la Placa de Arduino, para nosotros el Arduino es la mejor opción posible cuando lo que queremos desarrollar no está destinado a la venta y no disponemos de mucho tiempo para desarrollarlo.
En el ámbito educativo Arduino es genial, no entrará más en el mundo de la programación y el diseño de hardware.