- Potreben material:
- Delovni koncept gasilskega robota:
- Shema vezja:
- Programiranje vašega Arduina:
- Delo gasilskega robota:
Po podatkih Nacionalnega urada za evidenco kaznivih dejanj (NCRB) ocenjujejo, da je bilo zaradi požarnih nesreč v Indiji v obdobju 2010–2014 povzročeno več kot 1,2 milijona smrtnih žrtev. Čeprav je za požarne nesreče sprejetih veliko previdnostnih ukrepov, se naravne nesreče in nesreče, ki jih povzroči človek, zgodijo občasno. V primeru izbruha požara smo za reševanje ljudi in gašenje požara prisiljeni uporabljati človeške vire, ki niso varni. Z napredkom tehnologije, zlasti v robotiki, je zelo mogoče ljudi nadomestiti z roboti za gašenje požara. To bi izboljšalo učinkovitost gasilcev in jim tudi preprečilo, da bi tvegali človeška življenja. Danes bomo z uporabo Arduina izdelali gasilskega robota, ki bo samodejno zaznal ogenj in zagnal vodno črpalko
V tem projektu se bomo naučili, kako z uporabo Arduina zgraditi preprostega robota, ki se lahko premakne proti ognju in črpa vodo okoli njega, da ogenj ogne. To je zelo preprost robot, ki bi nas naučil osnovnega koncepta robotike; ko boste razumeli naslednje osnove, boste lahko izdelali bolj izpopolnjene robote. Začnimo torej…
Potreben material:
- Arduino UNO
- Požarni senzor ali senzor plamena (3 št.)
- Servo motor (SG90)
- L293D pogonski modul motorja
- Mini potopna črpalka DC
- Majhna tabla
- Robotsko podvozje z motorji (2) in kolesi (2) (kateri koli tip)
- Majhna pločevinka
- Priključne žice
Kupite vse zgoraj potrebne komponente za gasilskega robota Arduino.
Delovni koncept gasilskega robota:
Glavni možgani tega projekta so Arduino, toda za zaznavanje ognja uporabljamo modul požarnega senzorja (senzor plamena), ki je prikazan spodaj.
Kot lahko vidite, imajo ti senzorji IR sprejemnik (fotodiodo), ki se uporablja za zaznavanje požara. Kako je to mogoče? Ko ogenj gori, oddaja majhno količino infrardeče svetlobe, ki jo bo sprejemnik prejel na sprejemniškem modulu na senzorskem modulu. Nato uporabimo op-ojačevalnik za preverjanje spremembe napetosti na IR sprejemniku, tako da bo izhodni zatič (DO), če bo zaznan požar, dal 0V (LOW) in če ne bo požar, bo izhodni zatič 5V (VISOKO).
Torej postavimo tri take senzorje v tri smeri robota, da zaznamo, v katero smer gori ogenj.
Smer požara zaznamo, da se lahko z motorji premikamo v bližini ognja, tako da poganjamo svoje motorje skozi modul L293D. Ko smo blizu ognja, ga moramo pogasiti z vodo. Z majhno posodo lahko prenašamo vodo, v posodo je nameščena tudi 5V črpalka, celotna posoda pa je nameščena na servo motor, tako da lahko nadzorujemo smer, v katero je treba pršiti vodo. Zdaj nadaljujmo s povezavami
Shema vezja:
Popoln diagram vezja za tega gasilskega robota je spodaj
Za preverjanje delovanja lahko povežete vse prikazane povezave za nalaganje programa ali pa v celoti sestavite bota in nato nadaljujete s povezavami. V obeh smereh so povezave zelo enostavne in bi morali biti sposobni pravilno popraviti.
Glede na robotsko ohišje, ki ga uporabljate, morda ne boste mogli uporabljati iste vrste vsebnika, kot ga uporabljam jaz. V tem primeru za postavitev sistema črpanja uporabite svojo ustvarjalnost. Vendar bo koda ostala enaka. Uporabil sem majhno aluminijasto pločevinko (pločevinko za hladne napitke), da sem vstavil črpalko v njej in vlil vodo. Nato sem celotno pločevinko sestavil na servo motor za nadzor smeri vode. Moj robot po sestavi izgleda nekako tako.
Kot lahko vidite, sem s pomočjo lepila pritrdil servo plavut na dno posode in s pomočjo matic in vijakov pritrdil servo motor s šasijo. Posodo lahko preprosto namestimo na vrh motorja in v njej sprožimo črpalko, da skozi cev črpa vodo zunaj. Nato lahko celotno posodo zasukate s servo krmiljenjem za nadzor smeri vode.
Programiranje vašega Arduina:
Ko ste pripravljeni s svojo strojno opremo, lahko naložite kodo Arduino za nekaj dejanj. Celoten program je podan na koncu te strani. Vendar sem tukaj še razložil nekaj pomembnih kosov.
Kot vemo, bo požarni senzor ob požaru oddajal VISOKO, ob požaru pa NIZKO. Zato moramo še naprej preverjati ti senzor, če je prišlo do požara. Če ni požara, prosimo, da se motorji ustavijo, tako da vse nožice dvignejo visoko, kot je prikazano spodaj
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Če požar ni zaznan, so vsi senzorji nič {// ne premikajte robota digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); }
Podobno lahko v primeru požara robota prosimo, da se premakne v to smer z vrtenjem ustreznega motorja. Ko pride do požara, levi in desni senzor ne zaznata požara, saj bi stal naravnost pred ognjem. Zdaj uporabljamo spremenljivko z imenom " ogenj ", ki bi izvedla funkcijo za ogenj.
sicer if (digitalRead (Forward_S) == 0) // Če je ogenj naravnost {// Premakni robota naprej digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, HIGH); digitalWrite (RM2, LOW); ogenj = res; }
Ko je spremenljivka ogenj postane res je gašenje požara robot arduino koda bo izvršitev put_off_fire funkcijo, dokler se ogenj odvrne. To se naredi s spodnjo kodo.
while (ogenj == resnično) {put_off_fire (); }
Znotraj put_off_fire () moramo le ustaviti robota, tako da postavimo vse nožice visoko. Nato vklopite črpalko, da potiska vodo zunaj posode, medtem ko to storimo, lahko tudi servo motor zavrtimo posodo, tako da se voda enakomerno razdeli. To se naredi s spodnjo kodo
void put_off_fire () {zamuda (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); digitalWrite (črpalka, VISOKO); zamuda (500); for (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); zamuda (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); zamuda (10); } digitalWrite (črpalka, LOW); myservo.write (90); ogenj = napačno; }
Delo gasilskega robota:
Priporočljivo je, da izhod robota preverjate v korakih, namesto da prvič zaženete vse skupaj. Robota lahko sestavite do servo motorja in preverite, ali lahko uspešno sledi ognju. Nato lahko preverite, ali črpalka in servo motor pravilno delujeta. Ko vse deluje po pričakovanjih, lahko zaženete spodnji program in uživate v celotnem delu robota gasilca.
Popolno delovanje robota najdete na spodnjem videoposnetku. Največja razdalja, do katere je možno zaznati ogenj, je odvisna od velikosti požara, pri majhni vžigalici je razdalja razmeroma manjša. Potenciometre na vrhu modulov lahko uporabite tudi za nadzor občutljivosti robota. Za napajanje robota sem uporabil napajalnik, ki ga lahko uporabite z baterijo ali celo z 12V baterijo.
Upam, da ste projekt razumeli in bi z veseljem zgradili kaj podobnega. Če imate kakršne koli težave pri pridobivanju te gradnje, uporabite spodnji odsek za komentarje, da objavite svoje želje ali uporabite forume za tehnično pomoč.
Oglejte si naš oddelek za robotiko in poiščite bolj zanimive robote, ki jih lahko naredite sami.