- Material requerido:
- Concepto de trabajo del robot de extinción de incendios:
- Diagrama de circuito:
- Programando su Arduino:
- Funcionamiento del robot de extinción de incendios:
Según la Oficina Nacional de Registros Criminales (NCRB, por sus siglas en inglés), se estima que se han causado más de 1,2 lakh de muertes debido a accidentes de incendio en India entre 2010 y 2014. Aunque se toman muchas precauciones para los accidentes de incendio, estos desastres naturales o provocados por el hombre ocurren de vez en cuando. En caso de incendio, para rescatar personas y apagar el fuego nos vemos obligados a utilizar recursos humanos que no son seguros. Con el avance de la tecnología, especialmente en robótica, es muy posible reemplazar a los humanos con robots para combatir el fuego. Esto mejoraría la eficiencia de los bomberos y también evitaría que arriesguen vidas humanas. Hoy vamos a construir un robot de extinción de incendios con Arduino, que detectará automáticamente el fuego y pondrá en marcha la bomba de agua.
En este proyecto, aprenderemos cómo construir un robot simple usando Arduino que podría moverse hacia el fuego y bombear agua a su alrededor para apagar el fuego. Es un robot muy simple que nos enseñaría el concepto subyacente de robótica; podrá construir robots más sofisticados una vez que comprenda los siguientes conceptos básicos. Entonces empecemos…
Material requerido:
- Arduino UNO
- Sensor de fuego o sensor de llama (3 números)
- Servomotor (SG90)
- Módulo controlador de motor L293D
- Mini bomba sumergible DC
- Placa de pruebas pequeña
- Chasis de robot con motores (2) y ruedas (2) (cualquier tipo)
- Una lata pequeña
- Cables de conexión
Compre todos los componentes requeridos anteriormente para el robot de extinción de incendios Arduino.
Concepto de trabajo del robot de extinción de incendios:
El cerebro principal de este proyecto es el Arduino, pero para detectar el fuego usamos el módulo de sensor de fuego (sensor de llama) que se muestra a continuación.
Como puede ver, estos sensores tienen un receptor de infrarrojos (fotodiodo) que se utiliza para detectar el fuego. ¿Cómo es esto posible? Cuando el fuego arde, emite una pequeña cantidad de luz infrarroja, esta luz será recibida por el receptor de infrarrojos en el módulo del sensor. Luego usamos un amplificador operacional para verificar el cambio de voltaje en el receptor de infrarrojos, de modo que si se detecta un incendio, el pin de salida (DO) dará 0V (BAJO) y si no hay fuego, el pin de salida será de 5V (ALTO).
Entonces, colocamos tres de estos sensores en tres direcciones del robot para detectar en qué dirección arde el fuego.
Detectamos la dirección del fuego, podemos usar los motores para movernos cerca del fuego conduciendo nuestros motores a través del módulo L293D. Cuando estamos cerca de un fuego tenemos que apagarlo con agua. Utilizando un recipiente pequeño podemos llevar agua, también se coloca una bomba de 5V en el recipiente y se coloca todo el recipiente encima de un servomotor para que podamos controlar la dirección en la que se ha de rociar el agua. Procedamos con las conexiones ahora
Diagrama de circuito:
El diagrama de circuito completo de este robot de extinción de incendios se muestra a continuación.
Puede conectar todas las conexiones mostradas para cargar el programa y verificar el funcionamiento o puede ensamblar el bot por completo y luego continuar con las conexiones. En ambos sentidos, las conexiones son muy simples y debería poder hacerlo bien.
Según el chasis robótico que esté utilizando, es posible que no pueda utilizar el mismo tipo de contenedor que yo. En ese caso, utilice su propia creatividad para configurar el sistema de bombeo. Sin embargo, el código seguirá siendo el mismo. Usé una pequeña lata de aluminio (lata de bebidas frías) para colocar la bomba dentro y vertí agua dentro. Luego monté toda la lata sobre un servomotor para controlar la dirección del agua. Mi robot se ve así después del montaje.
Como puede ver, he fijado la aleta del servo al fondo del contenedor con pegamento y he fijado el servomotor con el chasis con tuercas y tornillos. Simplemente podemos colocar el recipiente en la parte superior del motor y activar la bomba en su interior para bombear agua al exterior a través del tubo. Luego, todo el recipiente se puede girar usando el servo para controlar la dirección del agua.
Programando su Arduino:
Una vez que esté listo con su hardware, puede cargar el código Arduino para realizar alguna acción. El programa completo se encuentra al final de esta página. Sin embargo, he explicado con más detalle algunas partes importantes aquí.
Como sabemos, el sensor de incendios emitirá un nivel ALTO cuando haya fuego y un nivel BAJO cuando haya fuego. Así que tenemos que seguir comprobando estos sensores si se ha producido algún incendio. Si no hay fuego, pedimos a los motores que permanezcan detenidos haciendo que todos los pines estén altos como se muestra a continuación
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Si no se detecta fuego, todos los sensores son cero {// No mueva el robot digitalWrite (LM1, HIGH); escritura digital (LM2, ALTA); escritura digital (RM1, ALTA); escritura digital (RM2, ALTA); }
Del mismo modo, si hay algún incendio, podemos pedirle al robot que se mueva en esa dirección girando el motor respectivo. Una vez que llega al fuego, el sensor izquierdo y derecho no detectará el fuego, ya que estaría parado frente al fuego. Ahora usamos la variable llamada " fuego " que ejecutaría la función para apagar el fuego.
else if (digitalRead (Forward_S) == 0) // Si el fuego está en línea recta {// Mueve el robot hacia adelante digitalWrite (LM1, HIGH); escritura digital (LM2, BAJA); escritura digital (RM1, ALTA); escritura digital (RM2, BAJA); fuego = verdadero; }
Una vez que la variable fuego se convierte en verdadera, el código arduino del robot de extinción de incendios ejecutará la función put_off_fire hasta que se apague el fuego. Esto se hace usando el siguiente código.
while (fuego == verdadero) {put_off_fire (); }
Dentro de put_off_fire () solo tenemos que detener el robot haciendo que todos los pines estén altos. Luego encienda la bomba para empujar el agua fuera del recipiente, mientras esto se hace también podemos usar el servomotor para rotar el recipiente de modo que el agua se divida por todas partes de manera uniforme. Esto se hace usando el siguiente código
void put_off_fire () {retraso (500); escritura digital (LM1, ALTA); escritura digital (LM2, ALTA); escritura digital (RM1, ALTA); escritura digital (RM2, ALTA); digitalWrite (bomba, ALTA); retraso (500); para (pos = 50; pos <= 130; pos + = 1) {miservo.escribir (pos); retraso (10); } para (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); retraso (10); } digitalWrite (bomba, BAJA); myservo.write (90); fuego = falso; }
Funcionamiento del robot de extinción de incendios:
Se recomienda verificar la salida del robot en pasos en lugar de ejecutarlo todo junto por primera vez. Puede construir el robot hasta el servomotor y verificar si es capaz de seguir el fuego con éxito. Luego, puede verificar si la bomba y el servomotor funcionan correctamente. Una vez que todo funcione como se esperaba, puede ejecutar el programa a continuación y disfrutar del funcionamiento completo del robot bombero.
El funcionamiento completo del robot se puede encontrar en el video que se muestra a continuación. La distancia máxima a la que se puede detectar el fuego depende del tamaño del fuego, para una cerilla pequeña la distancia es relativamente menor. También puede usar los potenciómetros en la parte superior de los módulos para controlar la sensibilidad del robot. He usado un banco de energía para alimentar el robot, puede usar una batería o incluso alimentarlo con una batería de 12V.
Espero que hayas entendido el proyecto y disfrutes construyendo algo similar. Si tiene algún problema para obtener esta compilación, use la sección de comentarios a continuación para publicar sus necesidades o use los foros para obtener ayuda técnica.
Consulte nuestra sección de robótica para encontrar más robots de bricolaje geniales.