Raspberry Pi je plošča na osnovi procesorja ARM, zasnovana za elektronske inženirje in ljubitelje. PI je zdaj ena najbolj zaupanja vrednih platform za razvoj projektov. Z večjo hitrostjo procesorja in 1 GB RAM-a se PI lahko uporablja za številne odmevne projekte, kot sta obdelava slik in Internet stvari.
Za izvajanje katerega koli od pomembnih projektov je treba razumeti osnovne funkcije PI. V teh vadnicah bomo obravnavali vse osnovne funkcije Raspberry Pi. V vsaki vaji bomo obravnavali eno od funkcij PI. Do konca te vadnice Raspberry Pi boste lahko sami izvajali odmevne projekte. Pojdite skozi spodnje vaje:
- Uvod v Raspberry Pi
- Konfiguracija Raspberry Pi
- LED utripa
- Vmesnik gumba Raspberry Pi
- Generacija Raspberry Pi PWM
- Nadzor enosmernega motorja z uporabo Raspberry Pi
- Nadzor koračnega motorja z Raspberry Pi
- Povezava Shift registra z Raspberry Pi
V tej vadnici bomo povezali kapacitivno sledilno ploščico z Raspberry Pi. Kapacitivna sledilna ploščica ima 8 tipk od 1 do 8. Te tipke niso ravno tipke, so ploščice, občutljive na dotik, nameščene na PCB. Ko se dotaknemo ene od blazinic, blazinice na svoji površini doživijo spremembo kapacitivnosti. To spremembo zajame krmilna enota in krmilna enota kot odziv povleče ustrezen zatič visoko na izhodni strani.
Ta kapacitivni senzorski modul sledilne ploščice bomo pritrdili na Raspberry Pi, da ga bomo uporabili kot vhodno napravo za PI.
Pred nadaljevanjem bomo razpravljali o Raspberry Pi GPIO Pins.
GPIO zatiči:
Kot je prikazano na zgornji sliki, obstaja 40 izhodnih zatičev za PI. Ko pa pogledate drugo sliko spodaj, lahko vidite, da vseh 40 pinov ni mogoče programirati za našo uporabo. To je le 26 GPIO nožic, ki jih je mogoče programirati. Ti nožici gredo iz GPIO2 v GPIO27.
Teh 26 GPIO nožic lahko po potrebi programirate. Nekateri od teh zatičev opravljajo tudi nekatere posebne funkcije, o tem bomo razpravljali kasneje. Ob posebnem GPIO na stran imamo na voljo še 17 GPIO (svetlo zelena barva).
Vsak od teh 17 zatičev GPIO lahko oddaja največ 15 mA toka. In vsota tokov iz vseh GPIO ne sme presegati 50 mA. Tako lahko iz vsakega od teh GPIO zatičev v povprečju narišemo največ 3 mA. Zato se v te stvari ne bi smeli posegati, razen če veste, kaj počnete.
Zdaj je tu še ena pomembna stvar, da je nadzor logike PI + 3,3 v, zato ne morete dati več kot + 3,3 V logike na GPIO pin PI. Če kakemu GPIO zatiču PI daste + 5V, se plošča poškoduje. Kapacitivno sledilno ploščico moramo torej napajati na + 3,3 V, da dobimo ustrezne logične izhode za PI.
Potrebne komponente:
Tu uporabljamo model Raspberry Pi 2 Model B z OS Raspbian Jessie. Vse osnovne zahteve glede strojne in programske opreme so že obravnavane, poglejte jih v uvodu Raspberry Pi, razen tistega, ki ga potrebujemo:
- Povezovalni zatiči
- Kapacitivna sledilna ploščica
Shema vezja:
Povezave, ki so narejene za kapacitivno povezavo sledilne ploščice, so prikazane v zgornjem vezju.
Pojasnilo o delu in programiranju:
Ko je vse povezano po shemi vezja, lahko vklopimo PI in napišemo program v PYHTON.
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)
Kot vhodne zatiče nastavljamo 8 nožic. Zaznali bomo 8 ključnih izhodov iz kapacitivne sledilne ploščice.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Če je pogoj v oklepajih resničen, se stavki znotraj zanke izvedejo enkrat. Če gre torej pin GPIO 21 visoko, bodo stavki znotraj zanke IF izvedeni enkrat. Če zatič GPIO 21 ne gre visoko, stavki znotraj zanke IF ne bodo izvedeni.
if (IO.input (21) == True):
Spodaj se ukaz uporablja kot zanka za vedno, s tem ukazom se bodo stavki znotraj te zanke izvajali neprekinjeno.
Medtem ko 1:
Ko v PYTHON napišemo spodnji program in ga zaženemo, smo pripravljeni. Ko se blazinice dotaknete, modul povleče ustrezni zatič in PI zazna ta sprožilec. Po zaznavanju PI na zaslon natisne ustrezno tipko.
Tako imamo vmesniško kapacitivno sledilno ploščico na PI.