- Materiaal vereist:
- Werkconcept van brandbestrijdingsrobot:
- Schakelschema:
- Programmeren van uw Arduino:
- Werking van Fire Fighting Robot:
Volgens het National Crime Records Bureau (NCRB) zijn er naar schatting meer dan 1,2 lakh-doden gevallen als gevolg van brandongevallen in India van 2010-2014. Hoewel er veel voorzorgsmaatregelen zijn genomen bij brandongevallen, komen deze natuurrampen / door de mens veroorzaakte rampen zo nu en dan voor. In het geval van brand zijn we genoodzaakt mensen te gebruiken die niet veilig zijn om mensen te redden en de brand te blussen. Met de vooruitgang van de technologie, met name in Robotica, is het heel goed mogelijk om mensen te vervangen door robots voor het bestrijden van het vuur. Dit zou de efficiëntie van brandweerlieden verbeteren en zou ook voorkomen dat ze mensenlevens riskeren. Vandaag gaan we een Fire Fighting Robot bouwen met Arduino, die automatisch het vuur detecteert en de waterpomp start
In dit project zullen we leren hoe we met Arduino een eenvoudige robot kunnen bouwen die naar het vuur kan bewegen en er water omheen kan pompen om het vuur te doven. Het is een heel eenvoudige robot die ons het onderliggende concept van robotica zou leren; je zou in staat zijn om meer geavanceerde robots te bouwen als je de volgende basisprincipes begrijpt. Dus laten we beginnen…
Materiaal vereist:
- Arduino UNO
- Brandsensor of vlamsensor (3 nrs)
- Servomotor (SG90)
- L293D motor Driver-module
- Mini DC-dompelpomp
- Kleine Breadboard
- Robotchassis met motoren (2) en wielen (2) (elk type)
- Een klein blikje
- Draden aansluiten
Koop alle bovenstaande benodigde componenten voor de Arduino-brandbestrijdingsrobot.
Werkconcept van brandbestrijdingsrobot:
Het belangrijkste brein van dit project is de Arduino, maar om vuur te voelen gebruiken we de Fire sensormodule (vlamsensor) die hieronder wordt weergegeven.
Zoals u kunt zien, hebben deze sensoren een IR-ontvanger (fotodiode) die wordt gebruikt om de brand te detecteren. Hoe is dit mogelijk? Wanneer vuur brandt, zendt het een kleine hoeveelheid infrarood licht uit, dit licht wordt ontvangen door de IR-ontvanger op de sensormodule. Vervolgens gebruiken we een Op-Amp om te controleren op verandering in spanning over de IR-ontvanger, zodat als er brand wordt gedetecteerd de outputpin (DO) 0V (LOW) zal geven en als er geen fire is, zal de outputpin 5V zijn (HOOG).
We plaatsen dus drie van dergelijke sensoren in drie richtingen van de robot om te voelen in welke richting het vuur brandt.
We detecteren de richting van het vuur, we kunnen de motoren gebruiken om in de buurt van het vuur te komen door onze motoren door de L293D-module te sturen. In de buurt van een vuur moeten we het blussen met water. Met behulp van een kleine container kunnen we water vervoeren, er wordt ook een 5V-pomp in de container geplaatst en de hele container wordt bovenop een servomotor geplaatst zodat we de richting waarin het water moet worden gespoten kunnen regelen. Laten we nu verder gaan met de verbindingen
Schakelschema:
Het volledige schakelschema voor deze brandbestrijdingsrobot wordt hieronder weergegeven
Je kunt ofwel alle getoonde verbindingen verbinden om het programma te uploaden om de werking te controleren, of je kunt de bot volledig in elkaar zetten en dan verder gaan met de verbindingen. Beide manieren zijn zeer eenvoudig en u zou het goed moeten kunnen doen.
Op basis van het robotchassis dat u gebruikt, kunt u mogelijk niet hetzelfde type container gebruiken dat ik gebruik. Gebruik dan je eigen creativiteit om het pompsysteem op te zetten. De code blijft echter hetzelfde. Ik heb een klein aluminium blikje (blikje met gekoelde dranken) gebruikt om de pomp erin te zetten en giet er water in. Vervolgens heb ik het hele blik op een servomotor gemonteerd om de richting van het water te regelen. Mijn robot ziet er na montage ongeveer zo uit.
Zoals je kunt zien, heb ik de servovin met lijm aan de bodem van de container bevestigd en de servomotor met chassis met bouten en moeren vastgezet. We kunnen de container eenvoudig bovenop de motor plaatsen en de pomp erin activeren om water door de buis naar buiten te pompen. De hele container kan vervolgens worden gedraaid met behulp van de servo om de richting van het water te regelen.
Programmeren van uw Arduino:
Zodra u klaar bent met uw hardware, kunt u de Arduino-code uploaden voor wat actie. Het volledige programma vindt u aan het einde van deze pagina. Ik heb hier echter enkele belangrijke stukjes en beetjes verder uitgelegd.
Zoals we weten, zal de brandsensor een HOOG uitsturen als er brand is en een LAAG uitvoeren als er brand is. We moeten deze sensor dus blijven controleren als er brand is opgetreden. Als er geen vuur is, vragen we de motoren om te stoppen door alle pinnen hoog te maken, zoals hieronder weergegeven
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Als er geen brand wordt gedetecteerd, zijn alle sensoren nul {// Beweeg de robot niet digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); }
Evenzo, als er vuur is, kunnen we de robot vragen om in die richting te bewegen door de betreffende motor te draaien. Zodra het vuur bereikt is, zullen de linker en rechter sensor het vuur niet detecteren omdat het recht voor het vuur zou staan. Nu gebruiken we de variabele genaamd “ fire ” die de functie zou uitvoeren om het vuur te doven.
else if (digitalRead (Forward_S) == 0) // If Fire is recht vooruit {// Beweeg de robot vooruit digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, HIGH); digitalWrite (RM2, LOW); vuur = waar; }
Zodra de variabele brand waar wordt, zal de arduino-code van de brandbestrijdingsrobot de put_off_fire- functie uitvoeren totdat het vuur is gedoofd. Dit doet u met behulp van onderstaande code.
while (fire == true) {put_off_fire (); }
Binnen de put_off_fire () moeten we de robot gewoon stoppen door alle pinnen hoog te maken. Zet vervolgens de pomp aan om water uit de container te duwen, terwijl we dit doen kunnen we ook de servomotor gebruiken om de container te draaien zodat het water gelijkmatig verdeeld wordt. Dit doet u met behulp van onderstaande code
void put_off_fire () {vertraging (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); digitalWrite (pomp, HIGH); vertraging (500); voor (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); vertraging (10); } voor (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); vertraging (10); } digitalWrite (pomp, LOW); myservo.write (90); fire = false; }
Werking van Fire Fighting Robot:
Het wordt aanbevolen om de output van de robot in stappen te controleren in plaats van alles voor de eerste keer samen te laten draaien. Je kunt de robot tot aan de servomotor bouwen en kijken of hij het vuur met succes kan volgen. Vervolgens kunt u controleren of de pomp en de servomotor goed werken. Zodra alles werkt zoals verwacht, kunt u het onderstaande programma uitvoeren en genieten van de volledige werking van de brandweerrobot.
De volledige werking van de robot is te vinden in de onderstaande video. De maximale afstand waarop de brand kan worden gedetecteerd is afhankelijk van de grootte van de brand, voor een kleine lucifer is de afstand relatief kleiner. Ook kun je de potmeters bovenop de modules gebruiken om de gevoeligheid van de robot te regelen. Ik heb een powerbank gebruikt om de robot van stroom te voorzien, je kunt een batterij gebruiken of zelfs een 12V-batterij.
Ik hoop dat je het project hebt begrepen en het leuk zou vinden om iets soortgelijks te bouwen. Als je problemen hebt met het verkrijgen van deze build, gebruik dan de commentaarsectie hieronder om je katernen te posten of gebruik de forums voor technische hulp.
Bekijk onze sectie Robotica voor meer coole DIY-robots.