- Potrebný materiál:
- Pracovná koncepcia hasiaceho robota:
- Schéma zapojenia:
- Programovanie vášho Arduina:
- Práca hasiaceho robota:
Podľa údajov Národného úradu pre kriminalitu (NCRB) sa odhaduje, že v dôsledku požiarnych nehôd v Indii z rokov 2010 - 2014 bolo spôsobených viac ako 1,2 lakhu. Aj keď existuje veľa preventívnych opatrení pri požiarnych nehodách, občas dôjde k týmto prírodným katastrofám. V prípade požiaru, na záchranu ľudí a na uhasenie požiaru, sme nútení používať ľudské zdroje, ktoré nie sú bezpečné. S pokrokom v technológii, najmä v robotike, je veľmi možné nahradiť ľudí robotmi na boj s ohňom. To by zlepšilo efektivitu hasičov a tiež by im zabránilo v riskovaní ľudských životov. Dnes sa chystáme postaviť hasičského robota pomocou Arduina, ktorý automaticky rozpozná oheň a spustí vodné čerpadlo
V tomto projekte sa naučíme, ako pomocou Arduina zostrojiť jednoduchého robota, ktorý by sa dokázal pohybovať smerom k ohňu a odčerpávať okolo neho vodu, aby oheň uhasil. Je to veľmi jednoduchý robot, ktorý by nás naučil základný koncept robotiky; po pochopení nasledujúcich základov by ste boli schopní zostaviť sofistikovanejšie roboty. Tak poďme na to…
Potrebný materiál:
- Arduino UNO
- Snímač požiaru alebo snímač plameňa (3 čísla)
- Servomotor (SG90)
- Modul ovládača motora L293D
- Mini DC ponorné čerpadlo
- Malá nepárna doska
- Robotický podvozok s motormi (2) a kolesami (2) (akýkoľvek typ)
- Malá plechovka
- Pripojovacie vodiče
Kúpte si všetky požadované komponenty pre hasičského robota Arduino.
Pracovná koncepcia hasiaceho robota:
Hlavným mozgom tohto projektu je Arduino, ale na snímanie požiaru používame modul snímača ohňa (snímač plameňa), ktorý je zobrazený nižšie.
Ako vidíte, tieto snímače majú IR prijímač (fotodióda), ktorý sa používa na detekciu požiaru. Ako je to možné? Pri horení vyžaruje malé množstvo infračerveného svetla, ktoré bude prijímané infračerveným prijímačom na snímacom module. Potom použijeme Op-Amp na kontrolu zmeny napätia na IR prijímači, takže ak je detekovaný požiar, výstupný pin (DO) dá 0V (LOW) a ak nie je oheň, výstupný pin bude 5V (VYSOKÉ).
Takže umiestnime tri takéto senzory do troch smerov robota, aby sme zistili, ktorým smerom horí oheň.
Zisťujeme smer požiaru, ktorým sa môžeme pomocou motorov pohybovať v blízkosti požiaru, a to tak, že poháňame naše motory cez modul L293D. Keď sme v blízkosti ohňa, musíme ho uhasiť pomocou vody. Pomocou malého kontajnera, ktorým môžeme prenášať vodu, je do kontajnera umiestnené aj 5V čerpadlo a celý kontajner je umiestnený na vrchu servomotora, aby sme mohli ovládať smer, ktorým musí byť voda striekaná. Teraz pokračujme v pripojeniach
Schéma zapojenia:
Kompletná schéma zapojenia tohto hasiaceho robota je uvedená nižšie
Môžete buď pripojiť všetky zobrazené pripojenia na nahranie programu, aby ste skontrolovali funkčnosť, alebo môžete robot úplne zostaviť a potom pokračovať v pripojeniach. Obidva spôsoby spojenia sú veľmi jednoduché a mali by ste byť schopní uviesť to na pravú mieru.
Na základe robotického podvozku, ktorý používate, pravdepodobne nebudete môcť použiť rovnaký typ kontajnera, aký používam ja. V takom prípade použite vlastnú kreativitu na nastavenie čerpacieho systému. Kód však zostane rovnaký. Použil som malú hliníkovú plechovku (plechovka na chladené nápoje), aby som do nej vložil čerpadlo a nalial do neho vodu. Celú plechovku som potom zostavil na servomotor na riadenie smeru vody. Môj robot vyzerá po montáži asi takto.
Ako vidíte, pripevnil som servomotor k spodnej časti nádoby pomocou lepidla a pomocou matíc a skrutiek som upevnil servomotor s podvozkom. Nádobu môžeme jednoducho položiť na motor a spustiť v nej čerpadlo, aby sa cez hadičku odčerpala voda von. Celú nádobu je možné potom otočiť pomocou serva na riadenie smeru vody.
Programovanie vášho Arduina:
Keď budete pripravení na hardvér, môžete nahrať kód Arduino a vykonať nejakú akciu. Kompletný program je uvedený na konci tejto stránky. Ďalej som tu však vysvetlil niekoľko dôležitých drobností.
Ako vieme, snímač požiaru vydá pri požiari hodnotu HIGH a pri požiari vydá hodnotu LOW. Takže musíme neustále kontrolovať tieto snímače, ak došlo k požiaru. Ak tam nie je požiar, požiadame motory, aby zostali zastavené tým, že urobia všetky kolíky vysoko, ako je to znázornené nižšie
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Ak nie je detekovaný oheň, všetky senzory sú nulové {// Nepohýbajte robotom digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); }
Podobne, ak dôjde k požiaru, môžeme požiadať robot, aby sa pohyboval týmto smerom otáčaním príslušného motora. Akonáhle dosiahne oheň, ľavý a pravý senzor nebude detekovať oheň, pretože by stál priamo pred ohňom. Teraz použijeme premennú s názvom „ oheň “, ktorá by vykonala funkciu na odloženie požiaru.
else if (digitalRead (Forward_S) == 0) // Ak je Fire rovno, {// Posuňte robota dopredu digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, HIGH); digitalWrite (RM2, LOW); oheň = pravda; }
Len čo sa premenná oheň stane skutočnou, kód arduina hasiaceho robota bude vykonávať funkciu put_off_fire, kým sa oheň neodloží . To sa deje pomocou kódu uvedeného nižšie.
while (fire == true) {put_off_fire (); }
Vo vnútri put_off_fire () musíme iba zastaviť robota tým, že urobíme všetky kolíky vysoko. Potom zapnite čerpadlo, aby ste vytlačili vodu mimo nádobu, zatiaľ čo to môžeme urobiť, môžeme tiež pomocou servomotora otočiť nádobu tak, aby sa voda rovnomerne rozdelila. To sa deje pomocou kódu uvedeného nižšie
void put_off_fire () {oneskorenie (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); digitalWrite (pumpa, VYSOKÁ); oneskorenie (500); pre (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); oneskorenie (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); oneskorenie (10); } digitalWrite (pumpa, NÍZKA); myservo.write (90); oheň = nepravda; }
Práca hasiaceho robota:
Odporúča sa skontrolovať výkon robota v krokoch, namiesto toho, aby ste ho spustili prvýkrát spolu. Môžete zostaviť robota až po servomotor a skontrolovať, či je schopný úspešne nasledovať oheň. Potom môžete skontrolovať, či čerpadlo a servomotor fungujú správne. Len čo všetko funguje podľa očakávaní, môžete spustiť program uvedený nižšie a vychutnať si úplnú prácu hasičského robota.
Kompletné fungovanie robota nájdete na videu uvedenom nižšie. Maximálna vzdialenosť, do ktorej je možné oheň zistiť, závisí od veľkosti požiaru, pre malú zápalku je vzdialenosť relatívne menšia. Môžete tiež použiť potenciometre na vrchu modulov na riadenie citlivosti robota. Na napájanie robota som použil powerbanku, ktorú môžete použiť na batériu alebo dokonca na napájanie z 12V batérie.
Dúfam, že ste projektu porozumeli a radi by ste niečo podobné postavili. Ak máte problémy so získaním tohto zostavenia, pošlite svoje požiadavky v sekcii komentárov nižšie alebo použite technickú pomoc na fórach.
V našej sekcii robotiky nájdete viac skvelých domácich robotov.