4. diel - Raspberry Pi - Blikanie diódy
V predchádzajúcej lekcii, Raspberry Pi - Piny a protokoly , sme sa naučili, čo robia jednotlivé piny Raspberry Pi a na čo ich využiť.
V dnešnom Python tutoriále si ukážeme, ako piny môžeme využívať v praxi a ovládať ich pomocou programovacieho jazyka Python. K svojmu Raspberry Pi si pripojíme LED diódu, ktorú rozblikajú a následne, aby to nebolo tak jednoduché, pripojíme ďalšie dve diódy a vytvoríme si semafor.
V dnešnej lekcii si ukážeme dva štýly riešenie: ako som projekty vytvoril ja len s drôtiky a pre väčšiu prehľadnosť aj ich návrh pomocou nepájivého poľa v Raspberry simulátore Fritzing.
Fritzing je aplikácia, ktorá sa dá v základnej verzii zadarmo stiahnuť na všetky operačné systémy. Táto aplikácia je určená na tvorenie plošných spojov, alebo práve k vytvoreniu jednoduchého schémy pre váš projekt.
Potrebné súčiastky
K realizácii dnešného projektu budeme potrebovať:
- 3x rôznofarebné LED diódy
- 3x rezistor (odpor 300 ohmov alebo trochu viac)
- Raspberry Pi
- pri najlepšom nepájivé polia a niekoľko drôtikov, ktorými spojíme naše diódy s Raspberry Pi
LED dióda
LED dióda je označenie pre diódu, ktorá vyžaruje svetlo (zo skratky Light-Emitting Diode). LED diód je veľa druhov rôznych farieb, tvarov a veľkostí. Dióda sama o sebe nie vždy svieti, ako by si ľudia mohli myslieť. Je veľká kopa typov diód, avšak jedno majú všetky spoločné a to, že sú to súčiastky, ktoré prepúšťajú prúd len jedným smerom. Ďalšou vecou, čo majú všetky diódy spoločné, je, že majú tieto dva vývody (nožičky):
- Jedna sa volá katóda, ktorá sa zapája vždy do záporného pólu zdroja (ľudovo povedané do mínusu). Ak ste nožičky neštípali, je to tá dlhšia nožička, inak je často označená plôškou inak kruhového tvaru spodnej časti diódy.
- Anóda sa zapája vždy na kladný pól (tým pádom do plusu). Táto nožička je u nových diód kratšie.
Rezistor
Rezistor (hovorovo "odpor") je elektrotechnická súčiastka, ktorá predstavuje odpor pre elektrický prúd, ktorý tým znižuje. Jeho odpor sa udáva v ohmoch (čím viac ohmov, tým viac odporu). My budeme tento odpor potrebovať pre náš obvod z dôvodu, že napätie (5 V), ktoré pošle naše Raspberry Pi do diódy, by dióda nemusela uniesť (LED diódy sú väčšinou na 2 V). Preto medzi ňou a Raspberry zapojíme resistor, ktorý nám ochráni diódu pred tým, aby sa poškodila.
Odpor sme spočítali cez vzťah R = U / I. V našom prípade sa U = 5 V na Raspberry a I = 0.02 A, čo je približne prúd, ktorý bežná LED dióda za svojho prevádzkového napätia odoberá. Výsledná hodnota je 250 ohmov, čo môžeme pokojne zaokrúhliť na 300.
Zistenie GPIO portov
V minulej lekcii sme si povedali všetko, čo o GPIO portoch potrebujeme vedieť a ukázali sme si ako zistiť aký pin na našom Raspberry Pi čo robí. Toho dnes využijeme. Do terminálu nášho Raspberry pi zadáme príkaz:
pinout
Už vieme, že príkaz nám vypíše, aké číslo a funkciu má aký pin na našom Raspberry Pi.
Zapojenie súčiastok
Upozorňujem, že všetky súčiastky k Raspberry Pi pripájame, keď je vypnuté! Inak by sa mohlo Raspberry Pi poškodiť.
Zapojenie rezistora
Rezistor pripojíme tesne pred diódu, je jedno na ktorý vývod. Ak máme nepájivé pole, môžeme rezistor zapojiť podľa obrázku vyššie. Ak nie, napájame ho spájkovačkou pred diódu, ako som to urobil ja.
Ak nemáte ani spájkovačku, musíte byť kreatívny a použiť napr. Pevne obtočené izolačnú pásku. Avšak také spoje nie sú príliš trvanlivé a keď vám z nich drôtik vyskočí, môžete si aj niečo odpáliť.
Máme teda diódu s rezistorom.
Zapojenie diódy s rezistorom do Raspberry Pi
Diódu zapojíme týmto spôsobom:
- katódu, záporný pól diódy, zapojíme do
GND
- anódu do nejakého GPIO pinu (v mojom prípade do pinu
číslo
14
). GPIO port budeme ovládať pomocou Raspberry Pi a Pythone a tým aj rozsvecovať a zhasínať onú diódu.
Python a piny u Raspberry Pi
Pretože v našich lekciách budeme k programovaniu používať Python, povieme si o ňom dnes niečo málo a pozrieme sa, čo všetko s piny vie.
Programovací jazyk Python
Python je viacúčelový programovací jazyk. Dá sa využiť na tvorbe webových služieb aj desktopových aplikácií a napríklad sa tiež veľmi často používa pre výučbu programovania. Nenechajte sa ale zmiasť. Python je síce veľmi dostupný programovací jazyk pre nováčikov, ale plne sa vyrovná jazykom ako sú C #, C ++ alebo Jave. Je tiež multiplatformový, takže ho nebudeme mať problém používať ako na Windows, tak na Linuxe i na Mac OS.
Knižnice
Python podporuje štandardné objektové programovanie a jeho veľmi
dôležitou súčasťou sú knižnice. Tie budeme veľmi využívať pri našom
programovaní. Jedná sa o balíčky, ktoré niekto vytvoril, napríklad balík
time
, ktorý si importujeme a pomocou neho potom môžeme pracovať
s aktuálnym časom. Python je vlastne základné prostredie a my pre jeho
vylepšenie (pretože nevie všetko) používame knižnice. Je to ako, keď
máme mobil, ale mobil v základe treba nemá nainštalovaný Messenger, tak si
ho jednoducho stiahneme.
K tomuto sťahovanie sa u Pythone používa program pip
. Pip je
taký Google Play pre náš Python. Nájdeme si na internete knižnicu, ktorú
chceme stiahnuť a potom len v cmd alebo termináli zadáme napr:
pip install time
Pip nám potom túto knižnicu stiahne a my si ju iba na začiatku nášho Python programu importujeme. Viac sa môžete prípadne dozvedieť v miestnych kurzoch zameraných priamo na Python.
Python a knižnica GPIO
Už vieme, že v Pythone používame knižnice. Hlavný knižnicou pre nás bude GPIO knižnica, pretože s jej pomocou budeme jednoducho ovládať GPIO porty. Čo táto knižnica napríklad vie?
- zapnúť a vypnúť nejaký GPIO pin
- nastavuje, či budeme používať číslovanie BCM alebo board
- nastavuje, aký pin používame
- dokáže "vyčistiť" piny (zmaže všetko nastavenie pinov)
A to je len malý zoznam vecí, ktoré budeme používať.
V budúcej lekcii, Raspberry Pi - Jednoduchý semafor , si ukážeme, ako vytvoriť jednoduchý semafor.