- Reikalinga medžiaga:
- Gaisro gesinimo roboto darbo koncepcija:
- Grandinės schema:
- „Arduino“ programavimas:
- Gaisro gesinimo roboto darbas:
Nacionalinio nusikaltimų registravimo biuro (NCRB) duomenimis, manoma, kad dėl gaisro avarijų Indijoje 2010–2014 m. Įvyko daugiau kaip 1,2 tūkst. Nors gaisro avarijų metu imamasi daugybės atsargumo priemonių, šios stichinės ar žmogaus sukeltos nelaimės kartais ir įvyksta. Kilus gaisrui, žmonėms gelbėti ir gaisrui gesinti esame priversti naudoti nesaugius žmogiškuosius išteklius. Tobulėjant technologijoms, ypač robotikos srityje, labai įmanoma pakeisti žmones robotais, skirtais gesinti ugnį. Tai pagerintų ugniagesių darbą ir taip pat neleistų jiems rizikuoti žmonių gyvybėmis. Šiandien mes sukursime priešgaisrinį robotą naudodami „Arduino“, kuris automatiškai pajus ugnį ir paleis vandens siurblį
Šiame projekte sužinosime, kaip sukurti paprastą robotą naudojant „Arduino“, kuris galėtų judėti link gaisro ir išpumpuoti aplink jį vandenį, kad užgesintų ugnį. Tai labai paprastas robotas, kuris išmokytų mus pagrindinės robotikos sampratos; galėtumėte sukurti sudėtingesnius robotus, kai suprasite šiuos pagrindus. Taigi pradėkime…
Reikalinga medžiaga:
- „Arduino UNO“
- Gaisro jutiklis arba liepsnos jutiklis (3 nr.)
- Servo variklis (SG90)
- L293D variklio vairuotojo modulis
- Mini DC panardinamasis siurblys
- Maža duonos lenta
- Roboto važiuoklė su varikliais (2) ir ratais (2) (bet kokio tipo)
- Maža skardinė
- Jungiamieji laidai
Įsigykite visus aukščiau nurodytus komponentus „Arduino“ gaisro gesinimo robotui.
Gaisro gesinimo roboto darbo koncepcija:
Pagrindinės šio projekto smegenys yra „Arduino“, tačiau norėdami pajusti ugnį, mes naudojame „ Fire sensor“ modulį (liepsnos jutiklį), kuris parodytas žemiau.
Kaip matote, šie jutikliai turi IR imtuvą (fotodiodą), kuris naudojamas gaisrui aptikti. Kaip tai įmanoma? Degant ugniai ji skleidžia nedidelį kiekį infraraudonųjų spindulių, šią šviesą gauna jutiklio modulio IR imtuvas. Tada mes naudojame „Op-Amp“, kad patikrintume IR imtuvo įtampos pokyčius, kad jei aptiktų gaisrą, išvesties kaištis (DO) duos 0 V (LOW), o jei gaisro nėra, išvesties kaištis bus 5 V (AUKŠTAS).
Taigi, tris tokius jutiklius išdėstome trimis roboto kryptimis, kad pajustume, kuria kryptimi dega ugnis.
Mes nustatome gaisro kryptį, mes galime naudoti variklius, kad galėtume judėti šalia ugnies, varydami variklius per L293D modulį. Netoli gaisro turime jį užgesinti naudodami vandenį. Naudodami nedidelį indą, kuriame galime nešti vandenį, į talpyklą taip pat dedamas 5V siurblys, o visas indas dedamas ant servovariklio, kad galėtume valdyti vandens purškimo kryptį. Tęskime ryšius dabar
Grandinės schema:
Visa šio gaisro gesinimo roboto schema pateikta žemiau
Norėdami patikrinti, ar veikia, galite prijungti visus rodomus ryšius, kad įkeltumėte programą, arba galite visiškai surinkti robotą ir tęsti ryšius. Abiem būdais jungtys yra labai paprastos, ir jūs turėtumėte sugebėti ją tinkamai išspręsti.
Atsižvelgiant į jūsų naudojamą robotizuotą važiuoklę, gali būti, kad negalėsite naudoti to paties tipo konteinerių, kuriuos naudoju aš. Tokiu atveju naudokitės savo kūrybiškumu, kad sukurtumėte siurbimo sistemą. Tačiau kodas išliks tas pats. Aš panaudojau mažą aliuminio skardinę (vėsių gėrimų skardinę), kad į ją įstumčiau siurblį, ir įpyliau vandens. Tada surinkau visą skardinę ant servovariklio, kad galėčiau kontroliuoti vandens kryptį. Po surinkimo mano robotas atrodo maždaug taip.
Kaip matote, aš pritvirtinau servo peleką prie konteinerio dugno naudodamas klijus, o servo variklį pritvirtinau važiuokle veržlėmis ir varžtais. Talpyklą galime paprasčiausiai uždėti ant variklio ir priversti jo viduje esantį siurblį pumpuoti vandenį pro vamzdį. Tada visą konteinerį galima pasukti naudojant servo valdyti vandens kryptį.
„Arduino“ programavimas:
Kai būsite pasirengę naudoti aparatinę įrangą, galėsite įkelti „Arduino“ kodą tam tikram veiksmui atlikti. Visa programa pateikiama šio puslapio pabaigoje. Tačiau aš čia paaiškinau keletą svarbių detalių.
Kaip žinome, gaisro jutiklis išleidžia HIGH, kai yra gaisras, ir LOW, kai yra gaisras. Taigi mes turime nuolat tikrinti šiuos jutiklius, jei kilo gaisras. Jei nėra gaisro, mes prašome variklių likti sustabdyti, kai visi kaiščiai yra aukšti, kaip parodyta žemiau
if (digitalRead (kairė_S) == 1 && digitalRead (dešinė_S) == 1 && digitalRead (pirmyn_S) == 1) // jei gaisras neaptiktas, visi jutikliai yra lygūs nuliui {// nejudinkite roboto digitalWrite (LM1, HIGH); „digitalWrite“ (LM2, HIGH); „digitalWrite“ (RM1, HIGH); „digitalWrite“ (RM2, HIGH); }
Panašiai, jei kyla gaisras, galime paprašyti roboto judėti ta kryptimi sukdami atitinkamą variklį. Kai pasieks ugnį, kairysis ir dešinysis jutikliai neaptiks gaisro, nes jis stovėtų tiesiai prieš gaisrą. Dabar mes naudojame kintamąjį, pavadintą „ ugnis “, kuris vykdytų ugnį gesinančią funkciją.
else if (digitalRead (Forward_S) == 0) // Jei Fire yra tiesiai į priekį {// Perkelkite robotą į priekį digitalWrite (LM1, HIGH); „digitalWrite“ (LM2, LOW); „digitalWrite“ (RM1, HIGH); „digitalWrite“ (RM2, LOW); ugnis = tiesa; }
Kai kintama ugnis taps tiesa, gaisro gesinimo roboto „Arduino“ kodas vykdys funkciją „ put_off_fire“, kol gaisras bus užgesintas. Tai atliekama naudojant žemiau esantį kodą.
while (ugnis == tiesa) {put_off_fire (); }
Viduje put_off_fire () mes tiesiog turime sustabdyti robotas darant visi smeigtukai aukštas. Tada įjunkite siurblį, kad vanduo išstumtų už indo ribų, o tai padarius, mes taip pat galime naudoti servovariklį konteineriui pasukti, kad vanduo būtų tolygiai padalytas. Tai atliekama naudojant žemiau esantį kodą
void put_off_fire () {delsa (500); „digitalWrite“ (LM1, HIGH); „digitalWrite“ (LM2, HIGH); „digitalWrite“ (RM1, HIGH); „digitalWrite“ (RM2, HIGH); „digitalWrite“ (siurblys, AUKŠTAS); vėlavimas (500); for (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); vėlavimas (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); vėlavimas (10); } digitalWrite (siurblys, LOW); myservo.write (90); ugnis = klaidinga; }
Gaisro gesinimo roboto darbas:
Rekomenduojama roboto išvestį tikrinti pakopomis, o ne pirmą kartą paleisti viską kartu. Galite pastatyti robotą iki servo variklio ir patikrinti, ar jis sėkmingai seka ugnį. Tada galite patikrinti, ar siurblys ir servovariklis veikia tinkamai. Kai viskas veiks taip, kaip tikėtasi, galite paleisti žemiau pateiktą programą ir mėgautis visišku gaisrininkų pajėgų roboto darbu.
Visą roboto veikimą galima rasti žemiau pateiktame vaizdo įraše. Didžiausias atstumas, iki kurio galima aptikti gaisrą, priklauso nuo gaisro dydžio, mažos degtinės lazdele atstumas yra santykinai mažesnis. Taip pat galite naudoti modulių viršuje esančius potenciometrus, kad valdytumėte roboto jautrumą. Aš naudoju maitinimo banką, kad galėčiau valdyti robotą. Galite naudoti akumuliatorių arba netgi jį maitinti 12 V akumuliatoriumi.
Tikiuosi, kad supratote projektą ir jums patiks kurti ką nors panašaus. Jei turite kokių nors problemų įsigydami šį paketą, naudokite toliau pateiktą komentarų skiltį, kad paskelbtumėte savo norus, arba naudokite forumus techninei pagalbai.
Peržiūrėkite mūsų robotikos skyrių, kad rastumėte daugiau šaunių „pasidaryk pats“ robotų.