LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Raspberry π VIII. - Úvod do GPIO

Ale Raspberry Pi toho dokáže ještě víc. Můžeme jej využít i jako zázemí pro nízkoúrovňovou práci s hardwarem, tedy s různými blikátky, hejblátky a tlačítky. A kdo ví, třeba bude Raspberry jednou mozkem nového pána tvorstva - Robota.

10.10.2012 21:00 | Petr Horáček | Články autora | přečteno 49783×

Určitě jste si na destičce Raspberry všimli dvou řad pinů, ty slouží k nízko úrovňové komunikaci s hardwarem. Můžeme pomocí nich například rozsvítit LEDku, spustit servo motor, zobrazit čísla na displayi a podobně. Hardwarová část (tedy “zbastlené” zařízení připojené na ony piny) je poté ovládána pomocí softwaru běžícím v Raspberry. V této části seriálu se vymaníme z čistě softwarových záležitostí a krátce nahlédneme do světa hardwaru ač velice jednoduchého (přesto bude nutné znát alespoň elementární základy elektroniky).

V dnešním díle si představíme funkce jednotlivých pinů, možnosti zapojování a možnosti programování.

GPIO

GPIO nebo General Purpose Input/Output jsou piny, tedy jakési vývody, které lze programovat pomocí softwaru. Do těchto pinů lze posílat elektrický signál nebo jej z nich naopak přijímat, tím lze ve finále pracovat s připojeným hardware na té nejnižší úrovní.

Na Raspberry je takových vývodů celkem 26. GPIO vývodů je zde standardně 8, krom nich se zde nachází i dva piny pro UART, dva pro I2C a šest pro SPI, ty však jdou také přenastavit pro GPIO využití. Nesmíme zapomenout ani na dva výstupy s napětím (3,3V a 5V) a zem.

Při používání jakéhokoliv pinu dávejte veliky pozor, jsou totiž připojeny bez ochrany přímo na čip (narozdíl třeba od Arduina) a ten zvládá napětí nanejvíš 3,3V. Nikdy tedy nezapojujte do pinů napětí 5V, v opačném případě by mohlo dojít ke zničení polovodičového srdce Raspberry. Tak dvakrát měř a jednou řež.

Značení pinů

Co nás nožná bude z počátku mást, je značení jednotlivých pinů, jiná jména jsou jim přiřazena z pohledu značení Raspberry, jiná z pohledu procesoru a jiná z pohledu knihovny RPi.GPIO, kterou si ještě v dnešním článku představíme.

Dále předkládám obrázek se značením pinů, které platí pro značení Raspberry.

A zde je tabulka pro převody mezi značeními:

Číslo pinu Raspberry Pi RPi.GPIO Čip
P1-01 3V3 1
P1-02 5V0 2
P1-03 SDA0 3 GPIO0
P1-04 DNC 4
P1-05 SCL0 5 GPIO1
P1-06 GND (zem) 6
P1-07 GPIO7 7 GPIO4
P1-08 TXD 8 GPIO14
P1-09 DNC 9
P1-10 RXD 10 GPIO15
P1-11 GPIO0 11 GPIO17
P1-12 GPIO1 12 GPIO18
P1-13 GPIO2 13 GPIO21
P1-14 DNC 14
P1-15 GPIO3 15 GPIO22
P1-16 GPIO4 16 GPIO23
P1-17 DNC 17
P1-18 GPIO5 18 GPIO24
P1-19 SPI_MOSI 19 GPIO10
P1-20 DNC 20
P1-21 SPI_MISO 21 GPIO9
P1-22 GPIO6 22 GPIO25
P1-23 SPI_SCLK 23 GPIO11
P1-24 SPI_CE0_N 24 GPIO8
P1-25 DNC 25
P1-26 SPIO_CE1_N 26 GPIO7

Hardware

Co budeme krom samotného Raspberry potřebovat? Vystačíme si s málem, v dalších dílech budu k bastlení používat nepájivou propojovací desku na zkoušení obvodů, propojení mezi deskou a počítačem pak budu řešit jednoduchými drátky z ribbon kabelu. Krom toho použijeme odpory, LEDky, spínače apod., to si ale upřesníme v jednotlivých dílech tohoto seriálu v seriálu.

Pokud ale budete chtít víc než tento primitivní (avšak pro náš účel dostačující) základ, můžete si koupit jednu z již hotových desek (či stavebnici) se spoustou součástek, k dispozici je třeba deska Getboard nabízející spoustu funkcí a dovedností.

Programování

Pro samotné programování jsem použil nejnovější verzi distribuce Raspbianu (z 18. září), v jeho nastavení je mimochodem vestavěná nová možnost - přetaktování, té jsem hned využil, a tak mi Raspberry běží s frekvencí celého gigahertze.

Aplikace pro ovládání GPIO můžeme psát v C, Javě, Pythonu, Perlu, Shellu a dalších jazycích, příklady skriptů si můžete prohlédnout na webu elinux.org. Já pro tento seriál zvolil Python, práce v něm je jednoduchá, kód je jaksi “malý” a navíc je programovačně-jazyčnou vlajkovou lodí Raspberry Pi. Pro editaci kódu budu používát vestavěné Python IDLE.

Pro práci s GPIO si doinstalujeme jednu malou pythonovskou knihovnu, díky které budeme moci k pinům přistupovat bez zbytečné námahy, rychle a krátce. Například rozsvícení LEDky se vejde na pouhé tři řádky kódu. Pro instalaci této knihovny vložte do terminálu (LXTerminalu) následující příkazy:

wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.1.0.tar.gz
tar zxf RPi.GPIO-0.1.0.tar.gz
cd RPi.GPIO-0.1.0
sudo python setup.py install

Po úspěšné instalaci by měl být počítač připraven ke GPIO programování, to si ale předvedeme až v dalším díle - sestavíme si obvod s LED, kterou rozblikáme pomocí Pythonu.

Závěr

A to je vše, doufám, že vás tento úvod do nízkoúrovňového programování hardwaru na Raspberry Pi zaujal.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

8.5.2016 17:19 /Redakce Linuxsoft.cz
PR: Dne 26.5.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, cloudové služby, infrastruktura cloudu, efektivní využití cloudu, možné nástrahy cloudů a jak se jim vyhnout
Přidat komentář

21.4.2016 8:01 /František Kučera
Spolek OpenAlt zve na 127. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 28. dubna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

2.3.2016 22:41 /Ondřej Čečák
Letošní ročník konference InstallFest již tento víkend!
Přidat komentář

14.2.2016 16:39 /Redakce Linuxsoft.cz
O víkendu 5. a 6. března 2016 proběhne na pražském Strahově 8. ročník tradiční konference InstallFest. Celkem za dva dny uvidíte ​30 přednášek​ a ​6 workshopů.
Přidat komentář

5.2.2016 17:38 /Petr Ježek
Utilitka z XFce "xfce4-power-manager" nejen umožňuje nastavení lhůty pro uspání či hybernaci, ale i zapínání a vypínání prezentačního módu pro nerušené sledování videí. Stačí ji nastavit v každém vybavenějším panelu a v jakémkoli nontiled WM/DE.
Přidat komentář

10.1.2016 11:32 /Pavel `Goldenfish' Kysilka
LinuxMarket změnil provozovatele. Nově jej provozuje Marek Pszczolka. Více info a detaily #1 a #2.
Přidat komentář

29.12.2015 11:38 /Ondřej Čečák
Ještě posledních pár dní můžete přidávat příspěvky nebo nápady na Install Fest 2016, který se bude konat 5. a 6. března 2016.
Přidat komentář

8.12.2015 11:36 /Petr Ježek
Logické se stává realitou. LibreOffice a Thunderbird se mají dle článku na Redditu stát protiváhou MS řešení (MS Office a Outlook).
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

7.5.2016 14:58 / Teodor Komárek
Soubory

20.4.2016 0:07 / Jakub Cleing
Sázkový panel PHP FUSION

9.4.2016 9:43 / jiwopene@gmail.com
Re: problém s dpkg a nemožností instalovat

9.4.2016 9:41 / jiwopene@gmail.com
Re: změna velikosti disk.oddílu

9.4.2016 9:40 / jiwopene@gmail.com
Re: Přenesení starého OS Win7 na virtuál v Debianu

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2016) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze