reklama

Naučit se používat kolíky GPIO na Raspberry Pi otevírá celý svět možností. Základní principy získané prostřednictvím projektů pro začátečníky připravují cestu k užitečným znalostem elektroniky pro kutily i programování.

Tento tutoriál vám ukáže dva způsoby, jak přidat tlačítko do projektu Raspberry Pi. Tlačítko se použije k ovládání LED. Pod videem jsou k dispozici písemné pokyny.

Budete potřebovat

Nejprve se ujistěte, že máte následující součásti:

  • 1 x Raspberry Pi (Každý, kdo to udělá, v tomto tutoriálu se používá model 3B)
  • 1 x tlačítko
  • 1 x LED
  • 1 x 220 Ohmový rezistor (Vyšší hodnoty jsou v pořádku, vaše LED bude pouze stmívatelnější)
  • 1 x prkénko
  • Zapojte dráty

Po shromáždění byste měli mít komponenty, které vypadají asi takto:

Díly potřebné pro výuku tlačítka Pi

Budete také potřebovat SD kartu s nainstalovaným operačním systémem Raspbian. Nejrychlejším způsobem, jak toho dosáhnout, je obrázek NOOBS (New Out of the Box Software). Pokyny k tomu jsou k dispozici v tomto videu:

Nastavení obvodu

K vytvoření okruhu použijete kolíky GPIO na Pi, a pokud s nimi neznáte naše

instagram viewer
průvodce po kolech Raspberry Pi GPIO pomůže. Okruh je zde téměř stejný jako v předchozím Projekt LED Raspberry Pi, přidáním tlačítka, které dnes používáte.

Nastavte svůj obvod podle tohoto schématu:

Fritzingův diagram pro výuku tlačítka Pi
  • 5v a GND kolíky se připojují k elektrickým kolejnicím prkénku.
  • Pin 12 (GPIO 18) připojuje se k pozitivnímu konci LED.
  • Jedna noha odpor připevňuje se k zápornému ramenu LED a druhá noha se připevňuje k zemní kolejnici prkénku.
  • Pin 16 (GPIO 23) připevňuje se k jedné straně tlačítka, druhá strana se připevňuje k zemní kolejnici prkénko.

Po nastavení by mělo vypadat toto:

Raspberry Pi se připojil k tlačítku a LED na prkénku.

Zkontrolujte obvod a ujistěte se, že je správný, a poté zapněte Raspberry Pi.

Metoda 1: RPi. Knihovna GPIO

Jakmile se systém Pi zavede, přejděte do nabídky a vyberte možnost Programování> Thonny Python IDE. Otevře se nový skript Pythonu. Pokud jste v Pythonu úplně nová, je to skvělý jazyk pro začátečníky a jsou tam také mnoho skvělých míst se dozvědět více o Pythonu po dokončení tohoto tutoriálu!

Thonny Python IDE

Začněte importem RPi. Knihovna GPIO a nastavení režimu desky.

import RPi. GPIO jako GPIO GPIO.setmode (GPIO.BOARD)

Nyní deklarujte proměnné pro čísla LED a čísel pinů tlačítek.

ledPin = 12. buttonPin = 16. 

Všimněte si, že protože máme režim desky nastaven na DESKA používáme spíše čísla pinů než čísla GPIO. Pokud je to pro vás matoucí, může vám to vysvětlit graf Raspberry Pi.

Můj Pi Pinout

Nastavení tlačítka

Je na čase postavit kolíky GPIO. Nastavte pin LED na výstup a knoflík tlačítka na vstup s pull-up rezistorem

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

Text za GPIO.IN odkazuje na vnitřní pull-up rezistor Raspberry Pi. Musíte to povolit, abyste získali čisté čtení z tlačítka. Protože tlačítko jde na zemnící kolík, potřebujeme pull-up rezistor, který drží vstupní kolík VYSOKÝ, dokud jej nestisknete.

Než budeme pokračovat, podívejme se na pull-up a pull-down resistors.

Přerušení: Vytáhněte / zatáhněte rezistory

Když nakonfigurujete pin GPIO na vstup, přečte tento pin a určí jeho stav. V tomto obvodu musíte přečíst, zda je pin VYSOKÝ nebo NÍZKÝ pro spuštění LED při stisknutí tlačítka. To by bylo jednoduché, kdyby to byly jediné státy, které může mít špendlík, ale bohužel existuje třetí stát: PLOVOUCÍ.

Plovoucí kolík má hodnotu mezi vysokou a nízkou, což způsobuje, že vstup nepředvídatelně působí. Odpory tahem nahoru / dolů se to vyřeší.

Ukázkový diagram pull-up rezistoru

Výše uvedený obrázek je zjednodušený diagram tlačítka a Raspberry Pi. Kolík GPIO se pomocí tlačítka spojí se zemí. Interní pull-up rezistor připojuje GPIO pin k internímu Pi napájení. Tento proud teče a kolík je bezpečně vytažen na VYSOKÝ.

Když stisknete tlačítko, připojí se pin GPIO přímo k uzemňovacímu kolíku a tlačítko bude číst nízko.

Ukázkový diagram rezistoru s tahem dolů

Pokud je spínač připojen k napájecímu kolíku, jsou k dispozici tahové odpory. Tentokrát interní rezistor připojí pin GPIO k zemi a drží v LOW, dokud nestisknete tlačítko.

Teorie tahu nahoru a dolů tahem je na první pohled matoucí, ale důležité znalosti, které musíte mít při práci s mikrokontroléry. Prozatím, pokud tomu úplně nerozumíte, nebojte se!

Pokračujme tam, kde jsme skončili.

Programová smyčka

Dále nastavte programovou smyčku:

zatímco True: buttonState = GPIO.input (buttonPin), pokud buttonState == False: GPIO.output (ledPin, GPIO.HIGH) jinde: GPIO.output (ledPin, GPIO.LOW)

zatímco je pravda loop v něm neustále spouští kód, dokud program neukončíme. Pokaždé, když to smyčky aktualizuje buttonState čtením vstupu z buttonPin. Zatímco tlačítko není stisknuté, zůstane VYSOKÝ.

Po stisknutí tlačítka buttonState se stává NÍZKÝ. Tím se spustí pokud prohlášení, od té doby Nepravdivé je stejné jako NÍZKÝa LED se rozsvítí. jiný příkaz vypne LED, kdykoli buttonPin není False.

Uložte a spusťte skript

Skript uložte kliknutím Soubor> Uložit jako a výběr názvu souboru. Skicu můžete spustit kliknutím na zelenou Hrát si na panelu nástrojů Thonny.

Ovládací panel Thonny

Nyní stiskněte tlačítko a vaše LED by se měla rozsvítit! Stiskněte červenou Stop kdykoli program zastavíte

Testovací tlačítko Gif

Pokud máte potíže, pečlivě zkontrolujte chyby v nastavení kódu a obvodu a zkuste to znovu.

Metoda 2: GPIO Zero Library

RPi. Knihovna GPIO je fantastická, ale v bloku je nové dítě. Zero knihovna GPIO byla vytvořil Raspberry Pi komunitní manažer Ben Nuttall s cílem zjednodušit kód a snáze číst a psát.

Chcete-li vyzkoušet novou knihovnu, otevřete nový soubor Thonny a importujte knihovnu.

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

Všimnete si, že jste neimportovali celou knihovnu. Protože používáte pouze LED a tlačítko, potřebujete pouze ty moduly ve skriptu. Také dovážíme Pauza z knihovny signálů, což je knihovna Python pro správu událostí.

Nastavení čepů je s GPIO Zero mnohem snazší:

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

Protože knihovna GPIO Zero má moduly pro LED a tlačítko, nemusíte nastavovat vstupy a výstupy jako dříve. Všimnete si, že ačkoli se kolíky nezměnily, čísla zde se liší od výše uvedených. Je to proto, že GPIO Zero používá pouze čísla pinů GPIO (také známá jako Broadcom nebo BCM čísla).

Zbytek skriptu jsou pouze tři řádky:

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

pauza() volání zde jednoduše zastaví ukončení skriptu, když dosáhne dna. Události dvou tlačítek se spustí vždy, když je tlačítko stisknuto a uvolněno. Uložte a spusťte skript a uvidíte stejný výsledek jako dříve!

Dva způsoby, jak přidat tlačítko Raspberry Pi

Z těchto dvou způsobů nastavení tlačítka se zdá být nejjednodušší metoda GPIO Zero. Stále stojí za to se dozvědět o RPi. Knihovna GPIO as většina začátečníků Raspberry Pi projektů použij to. Tak jednoduché, jak je tento projekt, znalosti lze použít pro řadu věcí.

Použití pinů GPIO je skvělý způsob, jak se učit a vymýšlet svá vlastní zařízení, ale je to daleko od všeho, co s Pi můžete dělat. Náš neoficiální průvodce Raspberry Pi Raspberry Pi: Neoficiální výukaAť už jste současným majitelem Pi, který se chce dozvědět více, nebo potenciálním vlastníkem tohoto zařízení s velikostí kreditní karty, nejedná se o průvodce, kterého byste si chtěli nechat ujít. Přečtěte si více se prolíná s kreativními nápady a návody, které můžete vyzkoušet sami! Pro další tutorial jako je tento, podívejte se jak vytvořit tlačítko připojení Wi-Fi Jak si vyrobit vlastní Wi-Fi připojené tlačítko s ESP8266V tomto tutoriálu se naučíte, jak vytvořit tlačítko s podporou Wi-Fi pomocí NodeMCU a IFTTT. Přečtěte si více .

Ian Buckley je nezávislý novinář, hudebník, performer a video producent žijící v Berlíně v Německu. Když nepíše nebo na jevišti, pohrává si s elektronikou pro kutily nebo kódem v naději, že se stane šíleným vědcem.