- Potreben material:
- Modul IR senzorja:
- Shema vezja in razlaga:
- Programiranje vašega Raspberry Pi:
- Delo:
Kot vsi vemo, je Raspberry Pi čudovita razvijalska platforma, ki temelji na mikroprocesorju ARM. S svojo visoko računsko močjo lahko naredi čudeže v rokah ljubiteljev elektronike ali študentov. Vse to je mogoče le, če vemo, kako omogočiti interakcijo z resničnim svetom. Obstaja veliko senzorjev, ki lahko zaznajo določene parametre iz realnega časa in jih prenesejo v digitalni svet. Veliko projektov Raspberry Pi smo pokrili s številnimi senzorji. Raspberry Pi je tudi blaginja za projekte IoT, saj je žepni računalnik z vgrajenim Wi-Fi in zmogljivostmi mikrokrmilnika.
V tej vadnici bomo izvedeli, kako lahko povežemo IR senzor z Raspberry pi. Ti senzorji so najpogosteje uporabljeni pri majhnih robotih, kot so roboti s sledilnimi črtami, roboti, ki se izogibajo robotu itd. Preprosto povedano lahko zazna prisotnost predmetov pred seboj in razlikuje tudi med belo in črno barvo. Sliši se kul, kajne?
Naučimo se torej, kako povezati ta senzor z Raspberry Pi. V tem projektu, ko pred IR senzorjem ni predmeta, ostane rdeča LED vklopljena in takoj, ko nekaj postavimo pred IR senzor, se rdeča LED ugasne in vklopi zelena LED. To vezje lahko služi tudi kot vezje varnostnega alarma.
Potreben material:
- Raspberry Pi 3 (kateri koli model)
- Modul IR senzorja
- Zelena in rdeča LED luč
- Breadboard
- Priključne žice
Modul IR senzorja:
IR senzorji (infrardeči senzor) so moduli, ki zaznajo prisotnost predmetov pred njimi. Če je predmet prisoten, da kot izhod 3,3 V in če ni prisoten, daje 0 voltov. To je mogoče z uporabo para IR parov (oddajnik in sprejemnik), oddajnik (IR LED) bo oddajal IR žarek, ki se bo odseval, če je pred njim prisoten predmet. Ta IR- signal bo sprejemnik sprejel nazaj (fotodioda), izhod pa bo po ojačanju z op-amp-povezavo LM358 ojačan. Več o vezju modula IR senzorja lahko izveste tukaj.
IR senzor, uporabljen v tem projektu, je prikazan zgoraj. Kot vsi IR senzor ima tudi tri nožice, ki so 5V, Gnd oziroma Out. Modul napaja 5V pin iz Raspberry Pi, izhodni pin pa je povezan z GPIO14 Raspberry Pi. Potenciometer na vrhu modula lahko uporabite za nastavitev obsega IR senzorja.
Shema vezja in razlaga:
Shema vezja za povezavo Raspberry Pi z IR senzorjem je prikazana spodaj. Kot lahko vidite, je diagram vezja zelo preprost. IR modul smo neposredno napajali iz 5V in Ground Pin Raspberry Pi. Izhodni zatič IR modula je povezan z GPIO14. Za prikaz predmeta smo uporabili tudi dve LED (zeleno in rdečo). Ti dve LED sta povezani z GPIO3 oziroma GPIO2.
Ker so zatiči GPIO na Raspberry Pi 3.3V, upor za omejevanje toka ni obvezen. Po želji pa lahko med ozemljitvenim zatičem LED in Raspberry Pi dodamo upor vrednosti 470 ohmov. Celotno vezje napaja 5V mobilni polnilnik skozi vrata micro USB na Raspberry pi.
Opomba: Ko priključujete kateri koli senzor, preverite, ali je ozemljitev senzorja priključena na maso MCU ali MPU (tukaj Raspberry Pi). Šele takrat bodo lahko komunicirali.
Programiranje vašega Raspberry Pi:
Tu uporabljamo programski jezik Python za programiranje RPi. Obstaja veliko načinov za programiranje vašega Raspberry Pi. V tej vadnici uporabljamo Python 3 IDE, saj je ta najpogosteje uporabljena. Celoten program Python je podan na koncu tega učbenika. Več o programiranju in zagonu kode v Raspberry Pi lahko preberete tukaj.
Govorili bomo o nekaj ukazih, ki jih bomo uporabili v programu PYHTON,
Datoteko GPIO bomo uvozili iz knjižnice, spodnja funkcija nam omogoča programiranje GPIO nožic PI. Prav tako preimenujemo »GPIO« v »IO«, zato bomo v programu, kadar se želimo sklicevati na zatiče GPIO, uporabili besedo »IO«.
uvozi RPi.GPIO kot IO
Včasih, ko zatiči GPIO, ki jih poskušamo uporabiti, morda opravljajo nekatere druge funkcije. V tem primeru bomo med izvajanjem programa prejeli opozorila. Spodaj ukaz PI-ju sporoči, naj prezre opozorila in nadaljuje s programom.
IO.setwarnings (False)
Zatiče GPIO PI lahko označimo bodisi s številko zatiča na krovu bodisi s številko njihove funkcije. Tako kot »PIN 29« na plošči je »GPIO5«. Torej tukaj povemo, ali bomo tu zastopali pin z '29' ali '5'.
IO.setmode (IO.BCM)
Nastavimo 3 nožice kot vhodne / izhodne nožice. Dva izhodna zatiča bosta upravljala LED, vhodni zatič pa bo odčitaval signal IR senzorja.
IO.setup (2, IO.OUT) #GPIO 2 -> Rdeča LED kot izhod IO.setup (3, IO.OUT) #GPIO 3 -> Zelena LED kot izhod IO.setup (14, IO.IN) #GPIO 14 -> IR senzor kot vhod
Zdaj moramo ugasniti zeleno LED in vklopiti rdečo LED, ko je predmet daleč. To lahko storite s preverjanjem zatiča GPIO14.
if (IO.input (14) == True): #object is away IO.output (2, True) #Red led ON IO.output (3, False) # Green led OFF
Podobno moramo vklopiti zeleno LED in ugasniti rdečo LED, ko je objekt blizu.
if (IO.input (14) == False): #object is near IO.output (3, True) #Green led ON IO.output (2, False) # Red led OFF
Spodaj se ukaz uporablja kot zanka za vedno, s tem ukazom se bodo stavki znotraj te zanke izvajali neprekinjeno.
Medtem ko 1:
Delo:
Ko ustvarite svojo kodo python, jo zaženite z ukazom run. Če se program zažene brez napak, se prikaže naslednji zaslon.
Prav tako bi morali videti rdečo barvo LED, ko se pred senzorjem ne nahaja noben predmet, kot je prikazano spodaj.
Zdaj približajte nekaj IR luči in opazili boste, da se rdeča LED ugasne in vklopi zelena. Celotno delo najdete na spodnjem videoposnetku.
Upam, da ste projekt razumeli in ste z njim lahko zgradili nekaj koristnega. Če imate kakršna koli vprašanja, jih objavite v spodnjem komentarju ali na forumu.