Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

3. diel - Raspberry Pi - Piny a protokoly

V predchádzajúcej lekcii, Raspberry Pi - Pripojenie pomocou SSH a VNC , sme sa naučili ako vzdialene ovládať naše Raspberry pomocou iného zariadenia.

V dnešnej lekcii sa dozvieme, čo sú to Raspberry Pi piny, ako fungujú a na čo sa používajú. Pozrieme sa, akú majú funkciu u Raspberry aj u iných zariadení a predovšetkým aké rozdiely medzi nimi sú.

Čo sú to piny?

Piny sú elektrické kontakty, ktoré sa používajú na jednoduché pripojenie modulov, napr. K Raspberry alebo k Arduino. Také piny majú rôzne druhy a funkcie. Skupine pinov reprezentujúcich nejaké rozhranie sa potom hovorí port.

Aké zariadenia piny používajú?

Piny používajú predovšetkým zariadenia s otvoreným prístupom. To sú také zariadenia, ktoré používajú predovšetkým vývojári. Keď máme napríklad mobil, tak väčšina výrobcov nechce, aby sa im v ňom niekto hrabal, upravoval hardvér alebo softvér. Ale zas na stranu druhú väčšina štandardných používateľov nechce svoj mobil upravovať a meniť. Chce hotový a fungujúci produkt, s ktorým nebude musieť nič viac robiť.

Tí, čo sa niekedy pohybovali vo svete elektrotechniky, si možno všimli, že podobné nožičky ako sú piny má aj väčšina elektrotechnických súčiastok. To je z dôvodu, že takéto súčiastky väčšinou používame niekde v obvode, kam sa jednoducho zápasom do otvorov pre ne určených. Nožičky sú preto najjednoduchšie voľbou.

Aké sú teda zariadenia používajúce tieto piny? Sú to napríklad:

  • práve Raspberry Pi,
  • Arduino,
  • NodeMcu (zariadenie veľmi podobné Arduino s vstavanou Wi-Fi a o poznanie menšie, vzhľadom pripomína mikroprocesor),
  • Orange Pi alebo napríklad
  • Sony Spresense (veľmi zaujímavá vývojová doska od Sony podobná Raspberry, ale o poznanie drahšie).
  • A ďalšie ...
Raspberry Pi

Piny Raspberry Pi

Raspberry existuje vo viacerých variantoch. Máme tu:

  • model Zero,
  • 3 Model B,
  • 3 Model A

Každý tento model má iné vlastnosti a iný počet pinov a ich rozmiestnenie. Preto než začneme rozoberať čo aký pin robí, mali by sme sa pozrieť, aké piny naša Raspberry vôbec má.

Získanie informácií o pinoch

Do terminálu na Raspberry napíšeme príkaz:

pinout

Zobrazí sa nám podrobný výpis všetkého ohľadom pinov nášho konkrétneho Raspberry, na ktorom tento príkaz spúšťame:

Piny na Raspberry Pi - Raspberry Pi

Na obrázku vyššie vidíme typ nášho Raspberry ako obrázok a ďalej už výpis všetkých pinov, ako idú za sebou. Piny idú na Raspberry zľava doprava, keď vpravo máme USB konektory. Poďme si ich popísať.

GPIO piny

GPIO piny (General Purpose Input / Output, teda univerzálny vstupné a výstupné piny) možno ovládať pomocou knižnice GPIO. Používajú sa napríklad na ovládanie LED diód alebo čohokoľvek iného.

Číslovanie GPIO board vs. GPIO BCM

Keď budeme chcieť používať GPIO port potrebné na ovládanie diódy, musíme si nastaviť, aký režim číslovanie chceme používať. Pomocou neho potom určíme, aký pin budeme ovládať. Tieto režimy sú:

  • GPIO.board - Používa určovanie pomocou čísel na doske Raspberry. Každý pin má pridelené číslo.
  • GPIO.BCM - Na rozdiel od toho používa určovanie pomocou GPIO označenie. Všimnime si, že každý pin GPIO má svoje číslo a toto číslo sa práve používa u režimu BCM.

Rozdiel vidíme na obrázku nižšie:

Raspberry Pi
Červeno je vždy označené, aký režim používa ktorá označenie.

Nastavenie režimu číslovania

V Pythone nastavujeme režim pomocou príkazu:

GPIO.setmode(GPIO.BCM)

Protokoly I2C, SPI a UART

Pre dátovú komunikáciu so zložitejšími zariadeniami môžeme na Raspberry využívať niekoľko protokolov. Ak vás zaujíma, ktorý z nich musíte použiť na pripojenie k danému zariadeniu, krátku odpoveďou je skontrolovať špecifikačný list. Napríklad jedna malá LED obrazovka môže vyžadovať SPI a ďalšie môže používať I2C (takmer nič nepoužíva UART). Ak si prečítate dokumentáciu dodávanú s produktom (za predpokladu, že nejakú má), zvyčajne vám povie, ktoré piny Pi použiť.

Poďme si teraz vysvetliť o čom je vlastne reč:)

I2C

I2C je názov pre typ počítačovej zbernice, pomocou ktorej je možné k Raspberry pripojiť externý hardvérové ​​moduly (rozumejme zložitejšie hardvér, než je napr. LED dióda), ktoré potrebujú viac signálov. Môžeme tak pripojiť napríklad Arduino alebo displej.

Zbernica I2C používa pre komunikáciu iba dva signálové vodiče: SDA a SCL. Fungujú tak, že odosielajú dáta do pripojenie SDA, pričom rýchlosť je riadená pomocou pinu SCL.

Táto zbernica beží celá na topológii master / slave:

  • Master je vždy iba jedno zariadenie. Je to teda to hlavné zariadenie, ktoré určuje, aké zariadenie slave bude vysielať dáta.
  • Slave zariadenie môže byť viac. To znamená, že môžeme hovoriť s viacerými zariadeniami na jednom pripojenie I2C, pretože každé zariadenie je jedinečné a zistiteľné užívateľom a počítačom pomocou príkazov Linuxu ako je i2cdetect.

I2C je rýchly a jednoduchý spôsob, ako do projektu pridať mnoho rôznych komponentov ako sú LCD / OLED obrazovky, teplotné senzory a analógovo-digitálne prevodníky pre použitie s fotorezistory atď. Aj keď je ich pochopenie trochu zložitejšie než štandardných pinov GPIO, vedomosti získané z učenia I2C vám dobre poslúži. Rovnako tak pochopíte, ako pripojiť senzory s vyššou presnosťou pre použitie v teréne.

Spi

SPI (skratka z Serial Peripheral Interface Bus, česky zbernica sériového periférneho rozhrania). Ide o ďalší protokol pre pripojenie kompatibilných zariadení k vášmu Raspberry Pi. Podobá sa I2C v tom, že medzi Raspberry Pi a pripojenými zariadeniami existuje vzťah master - slave.

SPI sa zvyčajne používa na odosielanie dát na krátke vzdialenosti medzi mikrokontrolérmi a komponentmi, ako sú posuvné registre, senzory a dokonca aj SD karta. Dáta sú synchronizované pomocou hodín (SCLK na GPIO11) z hlavnej jednotky (naše Pi) a dáta odosielané z Pi do našej komponenty SPI pomocou kolíka MOSI (GPIO GPIO10). MOSI označuje Master Out Slave In (Master je vždy výstup, Slave vstup). Ak komponent potrebuje odpovedať na naše Pi, odošle dáta späť pomocou MISO pinu (GPIO9), čo je skratka pre Master In Slave Out.

UART

UART (univerzálny asynchrónny prijímač / vysielač) je sériovo používaný pre komunikáciu s inými zariadeniami. Bežne známy ako "Serial", piny UART poskytujú napr. Prihlásenie cmd / terminálu pre bezkontaktné nastavenie, čo znamená pripojenie k Pi bez klávesnice a myši. Jednoduchší spôsob je ten, ktorý sme si ukázali v minulej lekcii.

Ďalšie označenia pinov

Môžeme sa stretnúť s ďalšími skratkami označujúcou kam čo zapojiť.

DNC

DNC (Do Not Connect) je skratka pre "nepripojujte", to je celkom samo-vysvetľujúce.

GND

GND sú piny, ktoré používame na uzemnenie. Nezáleží na tom, ktorý pin použijeme, pretože sú všetky pripojené k rovnakej krajine. GND je miesto, odkiaľ možno merať všetky napätia, a tiež uzatvára elektrický obvod.

Pri vytváraní obvodov je vždy múdre najprv pripojiť GND pred použitím akéhokoľvek napájania, pretože to zabráni zničeniu citlivých súčiastok.

Príklad

Keď teda budeme chcieť zapojiť a ovládať LED diódu (u diódy musíme jednu nohu v obvode dať do plus a druhú do mínus), anódu (spravidla tá dlhšia nožička) zapojíme do ľubovoľného GPIO portu katódu do GND. Týmto zapojením sa nám vytvorí jednoduchý obvod, ktorý budeme môcť ovládať pomocou Raspberry a treba Pythone. Ako na to si ukážeme už nabudúce.

5V a 3V

Tieto piny používame k napájaniu daným napätím. Nedajú sa ovládať, jednoducho sú stále pod daným napätím. Používajú sa štandardne, keď nepotrebujeme pin ovládať, ale potrebujeme len jeho napätie, alebo prísun napätia ovládame inak, napríklad pomocou bridge. Do týchto pinov dá zapojiť väčšinu súčiastok.

V budúcej lekcii, Raspberry Pi - Blikanie diódy , si vytvoríme jednoduchý obvod s diódou.


 

Predchádzajúci článok
Raspberry Pi - Pripojenie pomocou SSH a VNC
Všetky články v sekcii
Raspberry Pi
Preskočiť článok
(neodporúčame)
Raspberry Pi - Blikanie diódy
Článok pre vás napísal Aleš Hlavín
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Raspberry
Aktivity