- Požadované komponenty:
- Kruhový diagram:
- Posuvný registr IC 74HC595:
- Průběh práce:
- Vysvětlení programování:
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
V tomto tutoriálu posuvného registru Raspberry Pi budeme s rozhraním Shift Register s Pi. PI má 26 GPIO pinů, ale když děláme projekty jako 3D tiskárna, výstupní piny poskytované PI nestačí. Takže potřebujeme více výstupních pinů, pro přidání dalších výstupních pinů do PI přidáme Shift Register Chip. Čip Shift Register bere data z desky PI sériově a poskytuje paralelní výstup. Čip má 8 bitů, takže čip sériově odebírá 8 bitů z PI a poté poskytuje 8bitový logický výstup prostřednictvím 8 výstupních pinů.
Pro 8bitový posuvný registr použijeme IC 74HC595. Je to 16 PIN čip. Konfigurace pinů čipu je vysvětlena níže v tomto tutoriálu.
V tomto tutoriálu použijeme tři PIO GPI piny k získání osmi výstupů z Shift Register Chip. Pamatujte si, že PINy čipu jsou pouze pro výstup, takže nemůžeme k výstupu čipu připojit žádné senzory a očekávat, že je PI přečte. LED diody jsou připojeny na výstup čipu, aby viděly 8bitová data odeslaná z PI.
Než půjdeme dále, probereme něco o GPIO pinech Raspberry Pi,
V Raspberry Pi 2 je 40 výstupních pinů GPIO. Ale ze 40 lze naprogramovat pouze 26 pinů GPIO (GPIO2 až GPIO27). Některé z těchto pinů plní některé speciální funkce. Se speciálním GPIO odloženým stranou nám zbývá jen 17 GPIO. Každý z těchto 17 GPIO pinů může dodávat proud maximálně 15 mA. A součet proudů ze všech pinů GPIO nemůže překročit 50 mA. Chcete-li se dozvědět více o pinech GPIO, projděte si: LED bliká s Raspberry Pi
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
- 220Ω nebo 1KΩ rezistor (6)
- LED (8)
- Kondenzátor 0,01µF
- 74HC595 IC
- Chlebová deska
Kruhový diagram:
Posuvný registr IC 74HC595:
Pojďme si promluvit o PINECH SHIFT REGISTRU, které zde použijeme.
Název PIN |
Popis |
Q0 - Q7 |
Jsou to výstupní piny (červený obdélník), kde dostaneme paralelně 8 bitových dat. Připojíme k nim osm LED, abychom viděli paralelní výstup. |
Datový kolík (DS) |
První data se posílají kousek po kousku tomuto kolíku. Chcete-li odeslat 1, vytáhneme pin DATA vysoko a pro odeslání 0 vytáhneme pin DATA. |
Pin hodin (SHCP) |
Každý pulz na tomto pinu nutí registry, aby přijaly jeden bit dat z DATA pinu a uložily jej. |
Shift Output (STCP) |
Po obdržení 8 bitů poskytneme pulzování tohoto kolíku, abychom viděli výstup. |
Průběh práce:
Budeme sledovat vývojový diagram a napíšeme program desetinných čítačů do PYTHONU. Když spustíme program, uvidíme počítání LED pomocí Shift Register v Raspberry Pi.
Vysvětlení 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)
Jako výstup nastavujeme piny GPIO4, GPIO5 a GPIO6
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
Tento příkaz provede smyčku 8krát.
pro y v rozsahu (8):
Zatímco 1: se používá pro nekonečnou smyčku. S tímto příkazem budou příkazy uvnitř této smyčky prováděny nepřetržitě.
Další vysvětlení programu je uvedeno v části o kódu níže. Nyní máme všechny pokyny potřebné k odeslání dat do SHIFT REGISTER.