Raspberry Pi je deska založená na procesoru architektury ARM určená pro elektronické inženýry a fandy. PI je jednou z nejdůvěryhodnějších platforem pro vývoj projektů. Díky vyšší rychlosti procesoru a 1 GB RAM lze PI použít pro mnoho významných projektů, jako je zpracování obrazu a internet věcí.
Při provádění některého z vysoce profilovaných projektů je třeba porozumět základním funkcím PI. V těchto cvičeních se budeme věnovat všem základním funkcím Raspberry Pi. V každém tutoriálu probereme jednu z funkcí PI. Na konci této série tutoriálů Raspberry Pi budete moci sami dělat vysoce postavené projekty. Projděte si níže výukové programy:
- Začínáme s Raspberry Pi
- Konfigurace Raspberry Pi
- LED Blinky
- Rozhraní tlačítka Raspberry Pi
- Generace PWM Raspberry Pi
- Ovládání stejnosměrného motoru pomocí Raspberry Pi
- Ovládání krokového motoru s Raspberry Pi
- Rozhraní Shift Register s Raspberry Pi
V tomto tutoriálu propojíme kapacitní touchpad s Raspberry Pi. Kapacitní touchpad má 8 kláves od 1 do 8. Tyto klávesy nejsou zrovna klávesami, jsou to dotykové podložky citlivé na PCB. Když se dotkneme jedné z podložek, podložky zažijí změnu kapacity na jejím povrchu. Tato změna je zachycena řídicí jednotkou a řídicí jednotka jako odezva vytáhne odpovídající kolík vysoko na výstupní straně.
Tento kapacitní senzorový modul touchpadu připojíme k Raspberry Pi, abychom jej mohli použít jako vstupní zařízení pro PI.
Než půjdeme dále, probereme něco o GPIO pinech Raspberry Pi.
GPIO piny:
Jak je znázorněno na obrázku výše, pro PI je 40 výstupních pinů. Ale když se podíváte na druhý obrázek níže, uvidíte, že ne všech 40 pinů lze naprogramovat pro naše použití. Jedná se pouze o 26 pinů GPIO, které lze naprogramovat. Tyto piny přecházejí z GPIO2 do GPIO27.
Těchto 26 GPIO pinů lze naprogramovat podle potřeby. Některé z těchto pinů také provádějí některé speciální funkce, o kterých si povíme později. Se speciálním GPIO odloženým stranou nám zbývá 17 GPIO (světle zelená barva).
Každý z těchto 17 GPIO pinů může dodávat proud maximálně 15 mA. A součet proudů ze všech GPIO nemůže překročit 50mA. Z každého z těchto pinů GPIO tedy můžeme v průměru čerpat maximálně 3 mA. Člověk by tedy neměl s těmito věcmi manipulovat, pokud nevíte, co děláte.
Další důležitá věc je, že logické řízení PI je +3,3 V, takže nemůžete dát více než +3,3V logiku na GPIO pin PI. Pokud dáte + 5V kterémukoli GPIO pinu PI, deska se poškodí. Abychom získali správné logické výstupy pro PI, musíme kapacitní touchpad napájet +3,3 V.
Požadované komponenty:
Zde používáme Raspberry Pi 2 Model B s Raspbian Jessie OS. Všechny základní požadavky na hardware a software jsou dříve diskutovány, můžete si je vyhledat v úvodu k Raspberry Pi, kromě toho, co potřebujeme:
- Spojovací kolíky
- Kapacitní dotyková podložka
Kruhový diagram:
Připojení, která se provádí pro kapacitní dotykové podložky, jsou zobrazena ve schématu zapojení výše.
Vysvětlení práce a programování:
Jakmile je vše připojeno podle schématu zapojení, můžeme zapnout PI pro zápis programu do PYHTONU.
Budeme mluvit o několika příkazech, které budeme používat v programu PYHTON, Chystáme se importovat soubor GPIO z knihovny, níže uvedená funkce nám umožňuje programovat GPIO piny PI. Přejmenováváme také „GPIO“ na „IO“, takže v programu, kdykoli budeme chtít odkazovat na piny GPIO, použijeme slovo „IO“.
importovat RPi.GPIO jako IO
Někdy, když piny GPIO, které se snažíme použít, mohou dělat nějaké další funkce. V takovém případě obdržíme varování při provádění programu. Níže uvedený příkaz říká PI, aby ignoroval varování a pokračoval v programu.
IO.setwarnings (False)
Můžeme označit GPIO piny PI, buď číslem kolíku na desce, nebo jejich číslem funkce. Jako „PIN 29“ na desce je „GPIO5“. Řekneme tedy, že zde buď budeme reprezentovat špendlík číslem '29' nebo '5'.
IO.setmode (IO.BCM)
Nastavujeme 8 pinů jako vstupní piny. Zjistíme 8 klíčových výstupů z kapacitního touchpadu.
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)
V případě, že je podmínka ve složených závorkách pravdivá, budou příkazy uvnitř smyčky provedeny jednou. Takže pokud pin 21 GPIO stoupne, pak se příkazy uvnitř smyčky IF provedou jednou. Pokud pin 21 GPIO nedosáhne vysoké hodnoty, příkazy uvnitř smyčky IF nebudou provedeny.
if (IO.input (21) == True):
Níže uvedený příkaz se používá jako navždy smyčka, s tímto příkazem budou příkazy uvnitř této smyčky prováděny nepřetržitě.
Zatímco 1:
Jakmile napíšeme níže uvedený program do PYTHONU a provedeme jej, jsme připraveni jít. Když se dotknete podložky, modul vytáhne odpovídající kolík a PI detekuje tuto spoušť. Po detekci PI vytiskne příslušnou klávesu na obrazovku.
Proto jsme propojili kapacitní touchpad na PI.