Turinys:

Gaisro gaudymo robotas: 6 žingsniai (su nuotraukomis)
Gaisro gaudymo robotas: 6 žingsniai (su nuotraukomis)

Video: Gaisro gaudymo robotas: 6 žingsniai (su nuotraukomis)

Video: Gaisro gaudymo robotas: 6 žingsniai (su nuotraukomis)
Video: Part 5 - Tess of the d'Urbervilles Audiobook by Thomas Hardy (Chs 32-37) 2024, Liepa
Anonim
Image
Image
Liepsnos jutiklio prijungimas prie PICO
Liepsnos jutiklio prijungimas prie PICO

Š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

Liepsnos jutiklio prijungimas prie PICO
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

PICO kodavimas su liepsnos jutikliais
PICO kodavimas su liepsnos jutikliais
PICO kodavimas su liepsnos jutikliais
PICO kodavimas su liepsnos jutikliais

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

Ventiliatoriaus prijungimas
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: