Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
Šiame projekte mes sukursime gaisro gesinimo robotą, kuris persekios liepsną ir užgesins ją pučiant orą iš ventiliatoriaus.
Baigę šį projektą žinosite, kaip naudoti liepsnos jutiklius su PICO, kaip nuskaityti jų išėjimo vertę ir kaip su ja elgtis, ir kaip naudoti Darlingtono jutiklius su nuolatinės srovės varikliais ir kaip juos valdyti. Žinoma, kartu su labai šauniu gaisro gesinimo robotu.
Prekės
- PICO
- Liepsnos jutiklis
- Mažas nuolatinės srovės variklis
- Mažasis sraigtas
- L298N H tilto variklio vairuotojas
- PCA9685 12 bitų 16 kanalų PWM tvarkyklė
- 2WD robotų važiuoklės komplektas
- Mini duonos lenta
- Jumperio laidai
- Varžtai ir veržlės
1 žingsnis: Liepsnos jutiklio prijungimas prie PICO
Pradėkime nuo svarbiausios mūsų gaisro gesinimo roboto dalies - gebėjimo aptikti gaisrus, kai jie įvyksta. Štai kodėl mes ketiname pradėti nuo komponentų, atsakingų už gaisro aptikimą, tačiau prieš tai surinkime savo 2WD robotų važiuoklės komplektą, nes pagal jį sukursime savo robotą.
Šiame projekte naudosime 3 liepsnos jutiklius ir leisime robotui judėti savarankiškai, naudojant jų rodmenis, šiuos jutiklius pastatysime viduryje, kairėje ir dešinėje roboto važiuoklės pusėje. Ir jie bus išdėstyti taip, kad būtų galima tiksliai nustatyti liepsnos šaltinį ir jį užgesinti.
Prieš pradėdami naudoti liepsnos jutiklius, pakalbėkime apie jų veikimą: liepsnos jutiklių moduliai daugiausia pagaminti iš infraraudonųjų spindulių imtuvo šviesos diodų, galinčių aptikti liepsnos skleidžiamą infraraudonųjų spindulių šviesą ir siųsti duomenis skaitmeniniu arba analoginiu būdu. Jei naudosime liepsnos jutiklį, siunčiantį skaitmeninę išvestį.
Liepsnos jutiklio modulio kištukai:
- VCC: teigiami 5 voltai, prijungti prie PICO VCC kaiščio.
- GND: neigiamas kaištis, prijungtas prie PICO GND kaiščio.
- D0: skaitmeninis išvesties kaištis, prijungtas prie norimo skaitmeninio PICO.
Dabar prijunkime jį prie mūsų PICO, kad patikrintume laidus ir kodo logiką, kad įsitikintume, jog viskas veikia tinkamai. Liepsnos jutiklių prijungimas yra labai lengvas, tiesiog prijunkite jutiklių VCC ir GND prie VCC ir atitinkamai PICO GND, tada prijunkite išvesties kaiščius taip:
- D0 (dešiniojo liepsnos jutiklis) → A0 (PICO)
- D0 (vidurinis liepsnos jutiklis) → A1 (PICO)
- D0 (kairės liepsnos jutiklis) → A2 (PICO)
2 žingsnis: PICO kodavimas naudojant liepsnos jutiklius
Dabar, kai liepsnos jutikliai yra prijungti prie PICO, pradėkime koduoti, kad žinotume, kuris liepsnos jutiklis turi liepsną priešais, o kuris ne.
Kodo logika:
- Nustatykite PICO A0, A2 ir A3 kaiščius kaip įvesties kaiščius
- Perskaitykite kiekvieną jutiklio išėjimo vertę
- Išspausdinkite kiekvieną jutiklio išvesties vertę serijiniame monitoriuje, kad galėtume nustatyti, ar viskas veikia tinkamai, ar ne.
Atminkite, kad mūsų jutikliai turi žemą rodiklį „0“, kai jie jaučia ugnį, ir aukštą rodiklį „1“, kai jie nejaučia ugnies.
Norėdami išbandyti kodą, atidarykite nuoseklųjį monitorių ir pažiūrėkite, kaip jis pasikeičia, kai priešais yra ugnis, palyginti su tuo, kas vyksta. Pridedamuose vaizduose yra rodmenų, kad liepsna apskritai nėra, ir vienos liepsnos rodmenys prieš vidurinį jutiklį.
3 žingsnis: Ventiliatoriaus prijungimas
Kad gaisro gesinimo robotas būtų veiksmingas, jis turi turėti galimybę gesinti ugnį, ir tam mes sukursime ventiliatorių, kuriuo siekiame ugnies ir ją užgesiname. Ir mes sukursime šį ventiliatorių naudodami mažą nuolatinės srovės variklį, kuriame sumontuotas propeleris.
Taigi, pradėkime prijungdami nuolatinės srovės variklius. Nuolatinės srovės varikliai turi didelę srovę, todėl negalime jų tiesiogiai prijungti prie savo PICO, nes jis gali pasiūlyti tik 40 mA vienam GPIO kaiščiui, o varikliui reikia 100 mA. Štai kodėl mes turime naudoti tranzistorių, kad jį prijungtume, ir mes naudosime TIP122 tranzistorių, nes galime jį naudoti norėdami padidinti mūsų PICO teikiamą srovę iki variklio reikalingos sumos.
Mes pridėsime savo nuolatinės srovės variklį ir išorinę „VIETOS LAIKIKLIO“bateriją, kad variklis gautų reikiamą galią, nepakenkdamas mūsų PICO.
DC variklis turi būti prijungtas taip:
- Bazinis kaištis (TIP122) → D0 (PICO)
- Kolektoriaus kaištis (TIP122) → nuolatinės srovės variklio laidas „Nuolatinės srovės varikliai neturi poliškumo, todėl nesvarbu, koks laidas“
- Skleidžiamasis kaištis (TIP122) → GND
- Tuščias nuolatinės srovės variklio laidas → Teigiamas (raudonas laidas) išorinė baterija
Nepamirškite prijungti akumuliatoriaus GND prie PICO GND, nes jei jis nėra prijungtas, grandinė visiškai neveiks
Ventiliatoriaus kodo logika: kodas yra labai paprastas, mes tiesiog pakeisime kodą, kurį jau turime įjungti, kai vidurinio jutiklio rodmenys yra dideli, ir išjunkime ventiliatorių, kai vidurinio jutiklio rodmenys yra žemi.
4 žingsnis: Automobilių robotų variklių prijungimas
Dabar, kai mūsų robotas gali aptikti gaisrus ir gesinti juos su ventiliatoriumi, kai ugnis yra tiesiai priešais jį. Laikas suteikti robotui galimybę judėti ir pastatyti jį tiesiai priešais ugnį, kad jis galėtų jį užgesinti. Mes jau naudojame 2WD robotų važiuoklės komplektą, kuriame yra 2 pavarų nuolatinė srovė, kurią ketiname naudoti.
Kad galėtumėte valdyti nuolatinės srovės variklio greitį ir kryptį, turite naudoti L298N H tilto variklio tvarkyklę, kuri yra variklio tvarkyklės modulis, galintis valdyti variklio važiavimo greitį ir kryptį, taip pat maitinti variklius iš išorinio maitinimo šaltinio.
L298N variklio vairuotojui reikalingi 4 skaitmeniniai įėjimai, skirti valdyti variklių sukimosi kryptį, ir 2 PWM įėjimai, skirti valdyti variklių sukimosi greitį. Deja, PICO turi tik vieną PWM išvesties kaištį, kuris negali valdyti variklio sukimosi krypties ir greičio. Čia mes naudojame PCA9685 PWM kaiščių išplėtimo modulį, kad padidintume PICO PWM, kad atitiktų mūsų poreikius.
Laidai dabar tapo šiek tiek sudėtingesni, nes mes valdome 2 naujus variklius ir 2 modulius. Tačiau tai nebus problema, jei atliksite pateiktas schemas ir veiksmus:
Pradėkime nuo PCA9685 PWM modulio:
- Vcc (PCA9685) → Vcc (PICO)
- GND (PCA9685) → GND
- SDA ((PCA9685) → D2 (PICO)
- SCL (PCA9685) → D3 (PICO)
Dabar prijunkime L298N variklio tvarkyklės modulį:
Pradėkime nuo prijungimo prie maitinimo šaltinio:
- +12 (L298N modulis) → Teigiamas raudonas laidas (baterija)
- GND (L298N modulis) → GND
Norėdami valdyti variklio sukimosi kryptį:
- In1 (L298N modulis) → PWM 0 kontaktų (PCA9685)
- In2 (L298N modulis) → PWM 1 kontaktas (PCA9685)
- In3 (L298N modulis) → PWM 2 kontaktų (PCA9685)
- In4 (L298N modulis) → PWM 3 kontaktų (PCA9685)
Norėdami valdyti variklio sukimosi greitį:
- enableA (L298N modulis) → PWM 4 kontaktų (PCA9685)
- enableB (L298N modulis) → PWM 5 kontaktų (PCA9685)
L298N variklio tvarkyklė gali išvesti reguliuojamą +5 voltų įtampą, kurią naudosime savo PICO įjungimui:
+5 (L298N modulis) → Vin (PICO)
Nejunkite šio kaiščio, jei PICO yra įjungtas per USB
Dabar, kai viskas yra prijungta, užprogramuosime robotą pajudėti tiesiai į liepsną ir įjungti ventiliatorių.
5 žingsnis: kodo užbaigimas
Dabar, kai viskas yra tinkamai prijungta, laikas jį koduoti, kad jis taip pat veiktų. Ir mes norime, kad mūsų kodas atliktų šiuos dalykus:
Jei jis jaučia ugnį tiesiai į priekį (vidurinis jutiklis jaučia ugnį), tada robotas juda tiesiai link jo, kol pasiekia nustatytą atstumą ir įjungia ventiliatorių
Jei jis jaučia ugnį dešinėje roboto pusėje (dešinysis jutiklis jaučia ugnį), tada robotas sukasi tol, kol ugnis yra tiesiai priešais robotą (vidurinis jutiklis), tada juda link jo, kol pasieks nustatytą atstumą ir įjungia ventiliatorių
Jei jis jaučia ugnį kairėje roboto pusėje, jis veiks taip pat, kaip nurodyta aukščiau. Tačiau jis pasuks į kairę, o ne į dešinę.
Ir jei jis visai nejaučia jokio gaisro, visi jutikliai išves AUKŠTĄ vertę, sustabdydami robotą.
6 žingsnis: baigta
Šiame projekte mes išmokome skaityti jutiklio išvestį ir imtis veiksmų, priklausomai nuo to, kaip naudoti Darlingtono tranzistorių su nuolatinės srovės varikliais ir kaip valdyti nuolatinės srovės variklius. Mes panaudojome visas savo žinias kurdami gaisro gesinimo robotą kaip programą. Tai labai šaunu x)
Nedvejodami užduokite klausimus komentaruose arba mūsų svetainėje mellbell.cc. Ir kaip visada, gamink toliau:)
Rekomenduojamas:
Autonominis gaisro gesinimo robotas su liepsnomis: 3 žingsniai
Autonominis priešgaisrinis robotas su savaiminėmis liepsnomis: GALINGIAUSI AUTONOMINIAI Gaisro gesinimo robotai GEN2.0HII … Tai pirmasis mūsų projektas. Taigi pradėkime. Šio roboto koncepcija yra labai paprasta. išgelbėti žmogaus gyvybę automatinis nebrangus greitas ugniai atsparus
Gaisro gesinimo robotas naudojant „Arduino“: 4 žingsniai
Gaisro gesinimo robotas naudojant „Arduino“: Šiandien mes sukursime gaisro gesinimo robotą naudodami „Arduino“, kuris automatiškai pajus ugnį ir paleis vandens siurblį. Šiame projekte mes išmoksime sukurti paprastą robotą naudojant „Arduino“, kuris galėtų judėti link ugnis ir siurblys
Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai
Balansavimo robotas / 3 ratų robotas / STEM robotas: Mes sukūrėme kombinuotą balansavimo ir 3 ratų robotą, skirtą naudoti mokyklose ir po pamokų. Robotas sukurtas naudojant „Arduino Uno“, pasirinktinį skydą (pateikiama visa konstrukcijos informacija), „Li Ion“akumuliatorių paketą (visa tai atitinka
Sviesto robotas: „Arduino“robotas su egzistencine krize: 6 žingsniai (su nuotraukomis)
Sviesto robotas: „Arduino“robotas su egzistencine krize: Šis projektas paremtas animaciniu serialu „Rikas ir Mortis“. Viename iš epizodų Rikas sukuria robotą, kurio vienintelis tikslas yra atnešti sviesto. Kaip studentai iš Bruface (Briuselio inžinerijos fakultetas), mes turime užduotį mecha
Pridėkite greito gaisro mygtuką prie pelės naudodami 555 laikmatį: 5 žingsniai (su nuotraukomis)
Pridėkite greitojo šaudymo mygtuką prie pelės naudodami 555 laikmatį: ar žaidžiant vaizdo žaidimus jūsų pirštas lengvai pavargsta? Ar kada norėjote, kad galėtumėte pn n00b greičiau nei šviesos greitis, niekada neprakaituojant? Ši instrukcija parodys, kaip tai padaryti