Reklama

Naučenie sa používať kolíky GPIO na Raspberry Pi otvára celý svet možností. Základné princípy získané prostredníctvom začiatočných projektov pripravujú cestu k užitočným znalostiam elektroniky pre domácich majstrov a programovania.

Tento tutoriál vám ukáže dva spôsoby, ako pridať tlačidlo do projektu Raspberry Pi. Tlačidlo sa použije na ovládanie LED. Pod videom sú k dispozícii písomné pokyny.

Budete potrebovať

Ak chcete začať, uistite sa, že máte nasledujúce komponenty:

  • 1 x Raspberry Pi (v tomto návode sa používa model 3B)
  • 1 x tlačidlo
  • 1 x LED
  • 1 x 220 ohmový rezistor (vyššie hodnoty sú v poriadku, vaša LED bude iba slabšia)
  • 1 x doska na chlieb
  • Pripojte vodiče

Po zhromaždení by ste mali mať komponenty, ktoré vyzerajú asi takto:

Časti potrebné pre výučbu s tlačidlom pí

Potrebujete tiež kartu SD s nainštalovaným operačným systémom Raspbian. Najrýchlejší spôsob, ako to dosiahnuť, je s obrázkom NOOBS (New Out of the Box Software). Pokyny na to, ako to urobiť, sú k dispozícii v tomto videu:

Nastavenie obvodu

Na vytvorenie okruhu použijete kolíky GPIO pi, a ak s nimi nie ste oboznámení, náš

instagram viewer
Sprievodca po kolíkoch Raspberry Pi GPIO pomôže. Okruh je tu takmer rovnaký ako v predchádzajúcom Projekt LED Raspberry Pi, pridaním tlačidla, ktoré dnes používate.

Nastavte si obvod podľa tohto diagramu:

Fritzingov diagram pre výučbu s tlačidlom pí
  • 5V a GND kolíky sa pripájajú k napájacím koľajniciam doštičky.
  • Pin 12 (GPIO 18) pripája sa k kladnému ramenu LED.
  • Jedna noha odpor Pripája sa k zápornému ramenu diód LED a druhá noha sa pripája k uzemňovacej koľajničke doštičky.
  • Pin 16 (GPIO 23) Pripája sa k jednej strane gombíka, druhá strana k uzemňovacej koľajničke doštičky.

Po nastavení by to malo vyzerať takto:

Raspberry Pi sa napojil na gombík a LED na doštičku.

Skontrolujte obvod a uistite sa, že je správny, a potom zapnite Raspberry Pi.

Metóda 1: RPi. Knižnica GPIO

Keď sa systém Pi zavedie, choďte do ponuky a vyberte položku Programovanie> Thonny Python IDE. Otvorí sa nový skript jazyka Python. Ak ste v Pythone úplne nováčikom, je to vynikajúci jazyk pre začiatočníkov veľa skvelých miest, kde sa dozviete viac o Pythone po dokončení tohto tutoriálu!

Thonny Python IDE

Začnite importom RPi. Knižnica GPIO a nastavenie režimu dosky.

importovať RPi. GPIO ako GPIO GPIO.setmode (GPIO.BOARD)

Teraz deklarujte premenné pre čísla LED a čísla pinov tlačidiel.

ledPin = 12. buttonPin = 16. 

Všimnite si, že keďže máme režim dosky nastavený na BOARD namiesto čísel GPIO používame čísla pinov. Ak je to pre vás mätúce, graf pinp Raspberry Pi vám to pomôže vyčistiť.

Môj Pi Pinout

Nastavenie tlačidla

Je čas nastaviť kolíky GPIO. Nastavte pin LED na výstup a gombíkový gombík na vstup pomocou pull-up rezistora

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (buttonPin, GPIO.IN, pull_up_down = GPIO.PUD_UP)

Text za GPIO.IN sa vzťahuje na interný pull-up rezistor Raspberry Pi. Musíte to povoliť, aby ste z tlačidla dostali čistú hodnotu. Pretože tlačidlo smeruje k uzemňovaciemu kolíku, potrebujeme pull-up rezistor, ktorý drží vstupný kolík HIGH, kým ho nestlačíte.

Predtým, ako budeme pokračovať, pozrime sa na pull-up a pull-down rezistory.

Prestávka: Vytiahnite / zatiahnite rezistory

Keď nakonfigurujete pin GPIO na vstup, načíta tento pin, aby určil jeho stav. V tomto obvode si musíte prečítať, či je pin HIGH alebo LOW na spustenie LED pri stlačení tlačidla. Bolo by to jednoduché, keby to boli jediné štáty, ktoré môže mať špendlík, ale nanešťastie existuje tretí štát: plávajúce.

Plávajúci kolík má hodnotu medzi vysokou a nízkou, čo spôsobuje, že vstup bude konať nepredvídateľne. Vyťahovacie / sťahovacie odpory to riešia.

Vzorový diagram rezistora pre vytiahnutie

Vyššie uvedený obrázok je zjednodušená schéma tlačidla a Raspberry Pi. Kolík GPIO sa pomocou tlačidla spojí so zemou. Interný pull-up odpor pripája GPIO pin k internému Pi napájaniu. Tento prúd tečie a kolík je bezpečne vytiahnutý na VYSOKÝ.

Po stlačení tlačidla sa pin GPIO pripája priamo k uzemňovaciemu kolíku a toto tlačidlo je nízke.

Vzorový diagram rezistora s ťahom nadol

Ak sú spínače pripojené k napájaciemu kolíku, je potrebné použiť odpory na vytiahnutie. Tentoraz interný rezistor pripája kolík GPIO k zemi a drží v NÍZKE, kým nestlačíte tlačidlo.

Teória rezistencie typu Pull-up a Pull-down je na prvý pohľad mätúca, ale dôležité vedomosti, ktoré musíte mať pri práci s mikrokontrolérmi. Nateraz, ak tomu úplne nerozumiete, nebojte sa!

Pokračujme tam, kde sme prestali.

Programová slučka

Ďalej nastavte programovú slučku:

zatiaľ čo True: buttonState = GPIO.input (buttonPin), ak buttonState == False: GPIO.output (ledPin, GPIO.HIGH) else: GPIO.output (ledPin, GPIO.LOW)

zatiaľ čo je pravda loop v ňom neustále spustí kód, až kým neskončíme program. Zakaždým, keď to slučky aktualizuje buttonState čítaním vstupu z buttonPin. Kým tlačidlo nie je stlačené, zostane HIGH.

Po stlačení tlačidla buttonState stáva LOW. To spúšťa ak vyhlásenie, pretože nepravdivý je to isté ako LOW, a LED sa rozsvieti. inak príkaz vypne LED, keď buttonPin nie je False.

Uložte a spustite skript

Skript uložte kliknutím Súbor> Uložiť ako a výber názvu súboru. Skicu môžete spustiť kliknutím na zelenú hrať na paneli s nástrojmi Thonny.

Ovládací panel Thonny

Teraz stlačte tlačidlo a mala by sa rozsvietiť vaša LED dióda! Stlačte červenú Stop kedykoľvek zastavíte program

Tlačidlo na testovanie gif

Ak máte problémy, skontrolujte chyby kódu a nastavenia obvodu a skúste to znova.

Metóda 2: Zero Knižnica GPIO

RPi. Knižnica GPIO je fantastická, ale v bloku je nové dieťa. Zero Knižnica GPIO bola vytvoril Raspberry Pi komunitný manažér Ben Nuttall so zámerom zjednodušiť a ľahšie čítať a písať kód.

Ak chcete vyskúšať novú knižnicu, otvorte nový súbor Thonny a importujte knižnicu.

z gpiozero import LED, tlačidlo. z pauzy importu signálu. 

Zistíte, že ste neimportovali celú knižnicu. Pretože používate iba LED a tlačidlo, v skripte potrebujete iba tie moduly. Tiež dovážame Pauza z knižnice signálov, čo je knižnica Python pre správu udalostí.

Nastavenie kolíkov je s programom GPIO Zero omnoho jednoduchšie:

led = LED (18) button = Button (23)

Pretože knižnica GPIO Zero má moduly pre LED a tlačidlo, nemusíte nastavovať vstupy a výstupy ako predtým. Všimnite si, že hoci sa kolíky nezmenili, čísla tu sú iné ako vyššie. Je to preto, že GPIO Zero používa iba čísla pinov GPIO (známe tiež ako čísla Broadcom alebo BCM).

Zvyšok skriptu sú iba tri riadky:

button.when_pressed = led.on. button.when_released = led.off pauza ()

pauza() volanie tu jednoducho zastaví ukončenie skriptu, keď dosiahne dno. Dvojtlačidlové udalosti sa spustia pri každom stlačení a uvoľnení tlačidla. Uložte a spustite skript a uvidíte rovnaký výsledok ako predtým!

Dva spôsoby, ako pridať tlačidlo Raspberry Pi

Zdá sa, že z dvoch spôsobov nastavenia tlačidla je najjednoduchšia metóda GPIO Zero. Stále sa oplatí učiť sa o RPi. Knižnica GPIO as väčšina začiatočných projektov Raspberry Pi použi to. Tak jednoduché, ako je tento projekt, znalosti sa dajú využiť na niekoľko vecí.

Používanie kolíkov GPIO je skvelý spôsob, ako sa učiť a vymýšľať svoje vlastné zariadenia, ale je to ďaleko od všetkého, čo s počítačom Pi môžete robiť. náš neoficiálny sprievodca Raspberry Pi Raspberry Pi: Neoficiálny návodČi už ste aktuálnym vlastníkom Pi, ktorý sa chce dozvedieť viac, alebo potenciálnym vlastníkom tohto zariadenia s veľkosťou kreditnej karty, nejde o sprievodcu, ktorého by ste chceli vynechať. Čítaj viac je plné kreatívnych nápadov a návodov, ktoré môžete vyskúšať sami! Pre iný tutorial ako je tento, pozrite sa ako vytvoriť tlačidlo pripojenia Wi-Fi Ako si vytvorte vlastné tlačidlo s pripojením Wi-Fi pomocou ESP8266V tomto návode sa naučíte, ako pomocou tlačidla NodeMCU a IFTTT vytvoriť tlačidlo s podporou Wi-Fi. Čítaj viac .

Ian Buckley je nezávislý novinár, hudobník, performer a video producent žijúci v Berlíne v Nemecku. Keď nepíše alebo je na pódiu, pohráva sa s elektronikou alebo kódom pre domácich majstrov v nádeji, že sa stane šialeným vedcom.