- Szükséges anyag:
- A tűzoltó robot működési koncepciója:
- Kördiagramm:
- Az Arduino programozása:
- A tűzoltó robot működése:
A Nemzeti Bűnügyi Nyilvántartási Iroda (NCRB) adatai szerint becslések szerint több mint 1,2 ezer halálesetet okoztak indiai tűzbalesetek miatt 2010-2014 között. Annak ellenére, hogy sok óvintézkedést alkalmaznak a tűzbalesetekkel kapcsolatban, ezek a természeti / ember okozta katasztrófák időnként előfordulnak. Tűzkitörés esetén az emberek megmentésére és a tűz oltására kénytelenek vagyunk emberi erőforrásokat használni, amelyek nem biztonságosak. A technológia fejlődésével, különösen a robotika terén, nagyon lehetőség van az emberek cseréjére robotokkal a tűz elleni küzdelemben. Ez javítaná a tűzoltók hatékonyságát, és megakadályozná őket az emberi élet kockáztatásában is. Ma egy tűzoltó robotot fogunk építeni az Arduino segítségével, amely automatikusan érzékeli a tüzet és elindítja a vízszivattyút
Ebben a projektben megtanuljuk, hogyan lehet egy egyszerű robotot építeni az Arduino segítségével, amely képes a tűz felé haladni, és körülötte vizet pumpálni a tűz eloltására. Ez egy nagyon egyszerű robot, amely megtanítaná a robotika alapfogalmát; kifinomultabb robotokat tudna felépíteni, ha megértette a következő alapokat. Tehát kezdjük…
Szükséges anyag:
- Arduino UNO
- Tűzérzékelő vagy lángérzékelő (3 sz.)
- Szervomotor (SG90)
- L293D motor meghajtó modul
- Mini DC merülő szivattyú
- Kis kenyérlemez
- Robot alváz motorral (2) és kerekekkel (2) (bármilyen típusú)
- Egy kis doboz
- Csatlakozó vezetékek
Vásárolja meg a fenti szükséges alkatrészeket az Arduino tűzoltó robothoz.
A tűzoltó robot működési koncepciója:
A projekt fő agya az Arduino, de a tűz érzékelése érdekében az alább látható Tűzérzékelő modult (lángérzékelőt) használjuk.
Mint látható, ezeknek az érzékelőknek van egy IR vevőjük (fotodióda), amelyet a tűz észlelésére használnak. Hogyan lehetséges ez? Ha tűz ég, kis mennyiségű infravörös fényt bocsát ki, ezt a fényt az érzékelő modul infravörös vevője veszi fel. Ezután Op-Amp segítségével ellenőrizzük az infravörös vevő feszültségváltozását, így ha tüzet észlel, a kimeneti tű (DO) 0V (LOW) értéket ad, és ha nincs tűz, a kimeneti tű 5V lesz (MAGAS).
Tehát három ilyen érzékelőt helyezünk a robot három irányába, hogy érzékeljük, melyik irányban ég a tűz.
Észleljük a tűz irányát, és használhatjuk a motorokat a tűz közelében való mozgáshoz azáltal, hogy motorjainkat az L293D modulon keresztül vezetjük. Tűz közelében vízzel kell eloltanunk. Egy kis tartály segítségével vizet tudunk szállítani, egy 5 V-os szivattyút is helyezünk a tartályba, és az egész tartályt egy szervomotor tetejére helyezzük, hogy ellenőrizhessük azt az irányt, amelybe a vizet permetezni kell. Most folytassuk a csatlakozásokat
Kördiagramm:
A tűzoltó robot teljes kapcsolási rajzát az alábbiakban adjuk meg
Vagy csatlakoztathatja az összes bemutatott kapcsolatot a program feltöltéséhez a működés ellenőrzéséhez, vagy teljesen összeállíthatja a botot, majd folytathatja a kapcsolatokat. A kapcsolatok mindkét módon nagyon egyszerűek, és képesnek kell lennie arra, hogy rendbe hozza.
Az Ön által használt robotváz alapján előfordulhat, hogy nem tudja használni ugyanazt a típusú tárolót, mint amit én használok. Ebben az esetben használja a saját kreativitását a szivattyúrendszer felállításához. A kód azonban ugyanaz marad. Egy kis alumínium dobozból (hűvös italos kannából) állítottam be a szivattyút, és vizet öntöttem bele. Ezután az egész kannát egy szervomotor tetejére állítottam össze, hogy ellenőrizzem a víz irányát. A robotom összeszerelés után kb.
Amint láthatja, a szervo uszonyot ragasztóval rögzítettem a tartály aljára, és anyákkal és csavarokkal rögzítettem a szervomotort alvázzal. Egyszerűen elhelyezhetjük a tartályt a motor tetején, és beindíthatjuk a benne lévő szivattyút, hogy a vizet a csövön keresztül kifelé pumpálja. Ezután a teljes tartályt el lehet forgatni a szervo segítségével a víz irányának szabályozásához.
Az Arduino programozása:
Miután elkészült a hardverével, feltöltheti az Arduino kódot bizonyos műveletekhez. A teljes program az oldal végén található. Néhány fontos részletet azonban itt kifejtettem.
Mint tudjuk, a tűzérzékelő HIGH-t ad ki, ha tűz van, és LOW-t, ha tűz van. Tehát folyamatosan ellenőriznünk kell ezeket az érzékelőket, ha tűz történt. Ha nincs tűz, akkor azt kérjük, hogy a motorok maradjanak leállítva, az összes csapot az alábbiak szerint magasra téve
if (digitalRead (Bal_S) == 1 && digitalRead (Jobb_S) == 1 && digitalRead (Előre_S) == 1) // Ha a Tűz nem észlelhető, akkor az összes érzékelő nulla {// Ne mozgassa a robotot DigitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); }
Hasonlóképpen, ha tűz van, megkérhetjük a robotot, hogy az adott motor forgatásával haladjon ebben az irányban. Amint eléri a tüzet, a bal és a jobb oldali érzékelő nem érzékeli a tüzet, mivel egyenesen a tűz előtt állna. Most a „ tűz ” nevű változót használjuk, amely végrehajtaná a funkciót a tűz eloltására.
else if (digitalRead (Forward_S) == 0) // Ha a Fire egyenesen halad {// Vigye a robotot előre digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, HIGH); digitalWrite (RM2, LOW); tűz = igaz; }
Amint a változó tűz igaz lesz, a tűzoltó robot arduino kódja végrehajtja a put_off_fire függvényt, amíg a tüzet el nem oltják . Ez az alábbi kód segítségével történik.
while (tűz == igaz) {put_off_fire (); }
A put_off_fire () belsejében csak le kell állítanunk a robotot azáltal, hogy az összes csapot magasra tesszük. Ezután kapcsolja be a szivattyút, hogy a vizet a tartályon kívülre tolja, miközben ez megtörtént a szervomotorral is forgathatjuk a tartályt, hogy a víz egyenletesen legyen felosztva. Ez az alábbi kód segítségével történik
void put_off_fire () {késés (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); digitalWrite (szivattyú, HIGH); késés (500); for (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); késés (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); késés (10); } digitalWrite (szivattyú, LOW); myservo.write (90); tűz = hamis; }
A tűzoltó robot működése:
Javasoljuk, hogy a robot kimenetét lépésenként ellenőrizze, ahelyett, hogy először futtatná az egészet. Felépítheti a robotot a szervomotorig, és ellenőrizheti, hogy képes-e sikeresen követni a tüzet. Ezután ellenőrizheti, hogy a szivattyú és a szervomotor megfelelően működik-e. Miután minden a várt módon működik, futtathatja az alábbi programot, és élvezheti a tűzoltó robot teljes működését.
A robot teljes működése az alábbi videón található. A tűz maximális távolsága a tűz méretétől függ, egy kis gyufaszál esetében a távolság viszonylag kisebb. Használhatja a modulok tetején található potenciométereket is a robot érzékenységének szabályozásához. A robot áramellátásához egy bankot használtam. Használhat akkumulátort, vagy akár 12 V-os akkumulátorral is.
Remélem, megértette a projektet, és élvezni fogja valami hasonló építését. Ha bármilyen problémája van ennek az összeállításnak a megszerzésével, használja az alábbi megjegyzések részt a vázlatok közzétételéhez, vagy használja a fórumokat technikai segítségre.
Nézze meg a Robotika szekciónkat, hogy további jó DIY robotokat találjon.