Raspberry Pi je doska založená na procesore ARM architektúry určená pre elektronických inžinierov a fandov. PI je jednou z najdôveryhodnejších platforiem pre vývoj projektov. Vďaka vyššej rýchlosti procesora a 1 GB RAM môže byť PI použitý pre mnoho významných projektov, ako je spracovanie obrazu a internet vecí.
Pri uskutočňovaní ktoréhokoľvek z významných profilov je potrebné porozumieť základným funkciám PI. V týchto výučbách sa budeme venovať všetkým základným funkciám Raspberry Pi. V každom návode si rozoberieme jednu z funkcií PI. Na konci série tutoriálov budete môcť sami robiť vysoko hodnotné projekty. Začiarknite tieto políčka Začíname s konfiguráciou Raspberry Pi a Raspberry Pi.
V minulých tutoriáloch sme diskutovali o LED blinkách a tlačidlovom rozhraní s Raspberry Pi. V tomto výučbe Raspberry Pi PWM si povieme o získaní výstupu PWM pomocou Raspberry Pi. PWM je skratka pre „ Pulse Width Modulation “. PWM je metóda používaná na získanie premenlivého napätia z konštantného napájacieho zdroja. Budeme generovať PWM signál z Raspberry PI a demonštrovať PWM zmenou jasu LED pripojenej k Pi.
Pulzná šírková modulácia:
O PWM sme už hovorili mnohokrát v: Pulse width Modulation s ATmega32, PWM s Arduino Uno, PWM s 555 časovačom IC a PWM s Arduino Due.
Na obrázku vyššie, ak je spínač nepretržite zapnutý po určitú dobu, bude LED svietiť počas tejto doby nepretržite. Ak je spínač na pol sekundy zatvorený a otvorený na ďalšiu pol sekundu, potom bude LED svietiť iba v prvej pol sekunde. Teraz sa proporcia, pre ktorú svieti LED dióda po celkovú dobu, nazýva pracovným cyklom a dá sa vypočítať takto:
Pracovný cyklus = čas zapnutia / (čas zapnutia + čas vypnutia)
Pracovný cyklus = (0,5 / (0,5 + 0,5)) = 50%
Takže priemerné výstupné napätie bude 50% napätia batérie.
To je prípad jednej sekundy a môžeme vidieť, že LED dióda je vypnutá na pol sekundy a LED je zapnutá na druhú pol sekundu. Ak Frekvencia časov zapnutia a vypnutia vzrástla z „1 za sekundu“ na „50 za sekundu“. Ľudské oko nemôže túto frekvenciu zachytiť. Pre normálne oko bude LED dióda viditeľná ako polovica jasu. Takže s ďalším znížením času ZAPNUTIA sa LED dióda javí oveľa svetlejšia.
Naprogramujeme PI na získanie PWM a pripojíme LED, aby sme ukázali jeho fungovanie.
V Raspberry Pi je 40 výstupných pinov GPIO. Ale zo 40 možno naprogramovať iba 26 pinov GPIO (GPIO2 až GPIO27). Ak sa chcete dozvedieť viac informácií o pinoch GPIO, prečítajte si: Blikanie LED s Raspberry Pi
Požadované komponenty:
Tu používame Raspberry Pi 2 Model B s Raspbian Jessie OS. Všetky základné hardvérové a softvérové požiadavky sú už diskutované. Môžete si ich vyhľadať v úvode k Raspberry Pi, okrem toho, čo potrebujeme:
- Spojovacie čapy
- 220Ω alebo 1KΩ odpor
- LED
- Chlebová doska
Vysvetlenie obvodu:
Ako je znázornené na schéme zapojenia, chystáme sa pripojiť LED medzi PIN35 (GPIO19) a PIN39 (zem). Ako už bolo povedané, z jedného z týchto pinov nemôžeme odoberať viac ako 15 mA, takže na obmedzenie prúdu pripájame rezistor 220Ω alebo 1KΩ do série s LED.
Pracovné vysvetlenie:
Keď je všetko spojené, môžeme zapnúť Raspberry Pi, aby program napísal do PYHTONU a spustil ho.
Povieme si o niekoľkých príkazoch, ktoré použijeme v programe PYHTON.
Chystáme sa importovať súbor GPIO z knižnice, funkcia nižšie nám umožňuje programovať GPIO piny PI. Premenujeme „GPIO“ na „IO“, takže v programe budeme kedykoľvek, keď budeme chcieť odkazovať na piny GPIO, použiť slovo „IO“.
importovať RPi.GPIO ako IO
Niekedy, keď piny GPIO, ktoré sa snažíme používať, môžu robiť nejaké ďalšie funkcie. V takom prípade dostaneme varovania počas vykonávania programu. Príkaz dole povie PI, aby ignoroval varovania a pokračoval v programe.
IO.setwarnings (False)
Môžeme označiť GPIO piny PI, buď číslom kolíka na doske, alebo počtom ich funkcií. V schéme pinov môžete vidieť, že „PIN 35“ na doske je „GPIO19“. Takže tu hovoríme, že tu budeme špendlík reprezentovať číslicami „35“ alebo „19“.
IO.setmode (IO.BCM)
Ako výstupný pin nastavujeme GPIO19 (alebo PIN35). Z tohto pinu dostaneme výstup PWM.
IO.setup (19, IO.IN)
Po nastavení kolíka ako výstupu musíme nastaviť kolík ako PWM výstupný kolík, p = IO.PWM (výstupný kanál, frekvencia signálu PWM)
Vyššie uvedený príkaz slúži na nastavenie kanálu a tiež na nastavenie frekvencie signálu PWM. 'p' tu je premenná, môže to byť čokoľvek. Ako výstupný kanál PWM používame GPIO19. „ Frekvencia signálu PWM “ bola zvolená 100, pretože nechceme, aby LED blikala.
Nasledujúci príkaz sa používa na spustenie generovania signálu PWM, „ DUTYCYCLE “ slúži na nastavenie pomeru zapnutí , 0 znamená, že LED bude svietiť 0% času, 30 znamená, že LED bude svietiť 30% času a 100 znamená úplne ZAPNUTÉ.
p.start (DUTYCYCLE)
Tento príkaz vykoná slučku 50 krát, x sa zvýši od 0 do 49.
pre x v rozsahu (50):
Zatiaľ čo 1: sa používa pre nekonečnú slučku. Týmto príkazom sa budú príkazy v tejto slučke vykonávať nepretržite.
S vykonávaným programom sa zvyšuje pracovný cyklus signálu PWM. A potom klesá po dosiahnutí 100%. Keď je k tomuto PIN pripojená LED, jas LED sa najskôr zvyšuje a potom klesá.