Raspberry Pi je ploča zasnovana na ARM arhitekturi zasnovana za elektroničke inženjere i hobiste. PI je jedna od trenutno najpouzdanijih platformi za razvoj projekata. S većom brzinom procesora i 1 GB RAM-a, PI se može koristiti za mnoge projekte visokog profila poput obrade slika i Interneta stvari.
Za izvođenje bilo kojeg od projekata visokog profila treba razumjeti osnovne funkcije PI-a. U ovim ćemo uputstvima pokriti sve osnovne funkcionalnosti Raspberry Pi-a. U svakom ćemo tutorialu raspravljati o jednoj od funkcija PI-a. Do kraja ove udžbeničke serije Raspberry Pi moći ćete sami raditi projekte visokog profila. Prođite kroz vodiče u nastavku:
- Početak rada s Raspberry Pi
- Konfiguracija Raspberry Pi
- LED žmigavac
- Sučelje gumba Raspberry Pi
- PWM generacija Raspberry Pi
- Upravljanje istosmjernim motorom pomoću Raspberry Pi
- Upravljanje koračnim motorom s Raspberry Pi
- Povezivanje Shift registra s Raspberry Pi
U ovom uputstvu spojit ćemo ADC (analogno u digitalnu konverziju) čip s Raspberry Pi. Znamo sve parametre analognih, što znači da se oni kontinuirano mijenjaju tijekom vremena. Recimo za primjer temperature u sobi, sobna temperatura kontinuirano varira s vremenom. Ova temperatura sadrži decimalne brojeve. Ali u digitalnom svijetu ne postoje decimalni brojevi, pa moramo analognu vrijednost pretvoriti u digitalnu vrijednost. Ovaj postupak pretvorbe vrši se ADC tehnikom. Ovdje saznajte više o ADC: Uvod u ADC0804
ADC0804 i Raspberry Pi:
Uobičajeni kontroleri imaju ADC kanale, ali za PI ne postoje interno osigurani ADC kanali. Dakle, ako želimo povezati bilo koji analogni senzor, trebamo ADC jedinicu za pretvorbu. U tu svrhu idemo na sučelje ADC0804 s Raspberry Pi.
ADC0804 je čip dizajniran za pretvaranje analognog signala u 8-bitne digitalne podatke. Ovaj je čip jedna od popularnih serija ADC-a. To je 8-bitna jedinica za pretvorbu, tako da imamo vrijednosti ili 0 do 255 vrijednosti. S mjernim naponom od maksimalno 5V, imat ćemo promjenu za svakih 19,5mV. Ispod je Pinout ADC0804:

Sada je ovdje još jedna važna stvar, ADC0804 radi na 5V i tako daje izlaz u 5V logičkom signalu. U 8-polnom izlazu (koji predstavlja 8-bit), svaki pin ima + 5V izlaza za predstavljanje logike'1 '. Dakle, problem je u tome što je PI logika od + 3,3 v, tako da ne možete dati + 5 V logiku na + 3,3 V GPIO pinu PI. Ako dajete + 5V na bilo koji GPIO pin PI, ploča se oštećuje.
Dakle, za spuštanje logičke razine od + 5V, koristit ćemo krug djelitelja napona. Ranije smo razgovarali o krugu djelitelja napona, a prethodno smo ga istražili radi daljnjeg pojašnjenja. Ono što ćemo učiniti je da koristimo dva otpora da podijelimo + 5V logiku u logiku 2 * 2,5V. Dakle, nakon podjele dat ćemo PI logiku + 2.5v. Dakle, kad god ADC0804 predstavi logiku '1' vidjet ćemo + 2,5V na PI GPIO Pinu, umjesto + 5V.
Ovdje saznajte više o GPIO pribadačama Raspberry Pi i prođite kroz naše prethodne vodiče.
Potrebne komponente:
Ovdje koristimo Raspberry Pi 2 Model B s Raspbian Jessie OS. Svi osnovni hardverski i softverski zahtjevi su prethodno raspravljeni, možete ih potražiti u Uvodu o Raspberry Pi, osim onoga što nam treba:
- Spojne igle
- Otpornik od 220Ω ili 1KΩ (17 komada)
- 10K lonac
- Kondenzator 0,1µF (2 komada)
- ADC0804 IC
- Daska za kruh
Objašnjenje sklopa:
Radi na opskrbnom naponu od + 5v i može mjeriti promjenjivi raspon napona u rasponu od 0-5V.

Su priključci za povezivanje na ADC0804 malina PI, prikazani su na dijagramu sklop gore.
ADC uvijek ima puno buke, ta buka može uvelike utjecati na performanse, pa za filtriranje buke koristimo kondenzator od 0,1 uF. Bez toga bit će puno fluktuacija na izlazu.
Čip radi na RC (Resistor-Capacitor) oscilator taktu. Kao što je prikazano na shemi spojeva, C2 i R20 čine sat. Ovdje je važno upamtiti da se kondenzator C2 može promijeniti na nižu vrijednost za veću brzinu pretvorbe ADC-a. Međutim, s većom brzinom doći će do smanjenja točnosti. Dakle, ako aplikacija zahtijeva veću točnost, odaberite kondenzator veće vrijednosti, a za veću brzinu kondenzator manje vrijednosti.
Objašnjenje programiranja:
Nakon što se sve spoji prema shemi spojeva, možemo UKLJUČITI PI za pisanje programa u PYHTON.
Razgovarat ćemo o nekoliko naredbi koje ćemo koristiti u programu PYHTON, Uvest ćemo GPIO datoteku iz knjižnice, donja funkcija omogućuje nam programiranje GPIO pinova PI. Također smo preimenovali "GPIO" u "IO", pa ćemo u programu kad god se želimo pozvati na GPIO pinove upotrijebiti riječ "IO".
uvezi RPi.GPIO kao IO
Ponekad, kada GPIO pinovi, koje pokušavamo koristiti, možda rade neke druge funkcije. U tom ćemo slučaju primiti upozorenja tijekom izvršavanja programa. Ispod naredba govori PI-u da zanemari upozorenja i nastavi s programom.
IO.setwarnings (False)
GPIO pinove PI možemo uputiti bilo brojem pina na ploči ili brojem njihove funkcije. Poput 'PIN 29' na ploči je 'GPIO5'. Dakle, ovdje kažemo ili ćemo ovdje predstavljati pin s '29' ili '5'.
IO.setmode (IO.BCM)
Postavljamo 8 pinova kao ulazne pinove. Ovim ćemo iglama otkriti 8 bit ADC podataka.
IO.setup (4, IO.IN) IO.setup (17, IO.IN) IO.setup (27, IO.IN) IO.setup (22, IO.IN) IO.setup (5, IO.IN) IO.setup (6, IO.IN) IO.setup (13, IO.IN) IO.setup (19, IO.IN)
U slučaju da je uvjet u zagradama istinit, izrazi unutar petlje izvršit će se jednom. Dakle, ako GPIO pin 19 pređe visoko, tada će se izrazi unutar IF petlje izvršiti jednom. Ako GPIO pin 19 ne ide visoko, tada se izvodi unutar IF petlje neće izvršiti.
if (IO.input (19) == True):
Ispod se koristi naredba zauvijek, s ovom naredbom će se izrazi unutar ove petlje kontinuirano izvršavati.
Dok je 1:
Daljnje objašnjenje programa dano je u odjeljku koda ispod.
Radno:
Nakon pisanja programa i njegovog izvođenja na zaslonu ćete vidjeti '0'. '0' znači 0 volti na ulazu.

Ako prilagodimo lonac od 10K spojen na čip, vidjet ćemo promjenu vrijednosti na zaslonu. Vrijednosti na zaslonu neprestano se pomiču, to su digitalne vrijednosti koje je očitao PI.
Recimo ako dođemo do sredine, imamo + 2,5 V na ulazu ADC0804. Dakle, na ekranu vidimo 128 kao što je prikazano dolje.

Za analognu vrijednost od + 5V imat ćemo 255.

Dakle, varirajući lonac mijenjamo napon od 0 do + 5V na ulazu ADC0804. Ovim PI očitavaju vrijednosti od 0-255. Vrijednosti su ispisane na zaslonu.
Dakle, povezali smo ADC0804 s Raspberry Pi.
