2 způsoby, jak přidat tlačítko do projektu Raspberry Pi

2 způsoby, jak přidat tlačítko do projektu Raspberry Pi

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





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





Budete potřebovat

Chcete -li začít, ujistěte se, že máte následující součásti:





  • 1 x Raspberry Pi (bude stačit cokoli, v tomto tutoriálu je použit model 3B)
  • 1 x tlačítko
  • 1 x LED
  • 1 x 220 ohmový rezistor (vyšší hodnoty jsou v pořádku, vaše LED bude jen slabší)
  • 1 x prkénko
  • Zapojte dráty

Jakmile se shromáždíte, měli byste mít komponenty, které vypadají nějak takto:

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



Nastavení obvodu

K vytvoření obvodu budete používat GPIO piny Pi, a pokud je neznáte, naše průvodce po GPIO pinech Raspberry Pi pomůže. Okruh je zde téměř stejný jako v našem předchozím LED projekt Raspberry Pi , s přidáním tlačítka, které budete používat dnes.

Nastavte svůj obvod podle tohoto schématu:





  • The 5v a GND kolíky se připojují k napájecím lištám prkénka.
  • Pin 12 (GPIO 18) připojuje se k kladné noze LED.
  • Jedna noha odpor připevní se k záporné noze LED a druhá noha se přichytí k zemnící liště prkénka.
  • Pin 16 (GPIO 23) připevňuje se k jedné straně tlačítka, druhá strana se připevňuje k zemnící liště prkénka.

Jakmile je nastaven, měl by vypadat takto:

Zkontrolujte svůj obvod, abyste se ujistili, že je správný, a poté zapněte Raspberry Pi.





Metoda 1: Knihovna RPi.GPIO

Jakmile se Pi spustí, přejděte do nabídky a vyberte Programování> IDE Thonny Python . Otevře se nový skript Pythonu. Pokud jste v Pythonu úplní nováčci, je to skvělý jazyk pro začátečníky a existuje mnoho skvělých míst, kde se o Pythonu dozvíte více poté, co tento tutoriál dokončíte!

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

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

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

ledPin = 12
buttonPin = 16

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

Nastavení tlačítka

Je čas nastavit piny GPIO. Nastavte pin LED na výstup a kolík tlačítka na vstup pomocí výsuvného odporu

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

Text za GPIO.IN odkazuje na soubor vnitřní výsuvný odpor z Raspberry Pi. Musíte to povolit, abyste získali čisté čtení z tlačítka. Protože tlačítko směřuje na zemnící kolík, potřebujeme zatahovací odpor, který by držel vstupní kolík VYSOKÝ, dokud jej nestisknete.

Než budeme pokračovat, podívejme se na výsuvné a stahovací odpory.

Mezihra: Pull Up/Pull Down rezistory

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

Plovoucí kolík má hodnotu mezi vysokou a nízkou, což způsobuje, že vstup působí nepředvídatelně. Řeší to vytahovací/stahovací odpory.

Výše uvedený obrázek je zjednodušený diagram tlačítka a Raspberry Pi. Kolík GPIO se připojuje k zemi pomocí tlačítka. Interní výsuvný odpor připojuje kolík GPIO k vnitřnímu napájecímu zdroji Pi. Tento proud teče a kolík je bezpečně vytažen do VYSOKÉHO.

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

Stahovací odpory jsou pro, když je spínač připojen k napájecímu kolíku. Tentokrát vnitřní odpor připojí kolík GPIO k zemi a drží LOW, dokud nestisknete tlačítko.

Teorie odporu Pull-up a Pull-down je na první pohled matoucí, ale důležité znalosti, které je třeba mít při práci s mikrokontroléry. Pokud tomu zatím nerozumíte, nebojte se!

Pokračujme tam, kde jsme skončili.

Smyčka programu

Dále nastavte smyčku programu:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

The zatímco Pravda smyčka v něm průběžně spouští kód, dokud program neukončíme. Pokaždé, když se smyčka aktualizuje buttonState čtením vstupu z buttonPin . Tlačítko není stisknuto, ale zůstává VYSOKÝ .

Jakmile je tlačítko stisknuto, buttonState stává NÍZKÝ . Tím se spustí if prohlášení , od té doby Nepravdivé je stejné jako NÍZKÝ a LED se rozsvítí. The jiný prohlášení vypne LED vždy, když buttonPin není False.

Uložte a spusťte skript

Uložte skript 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.

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

Pokud máte potíže, důkladně zkontrolujte kód a nastavení obvodu, zda neobsahují chyby, a zkuste to znovu.

Metoda 2: GPIO Zero Library

Knihovna RPi.GPIO je fantastická, ale v bloku je nové dítě. Knihovna GPIO Zero byla vytvořil komunitní manažer Raspberry Pi Ben Nuttall se záměrem zjednodušit kód a usnadnit jeho čtení a zápis.

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

from gpiozero import LED, Button
from signal import pause

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

Nastavení kolíků je s GPIO Zero mnohem jednodušší:

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

Protože knihovna GPIO Zero obsahuje moduly pro LED a tlačítko, nemusíte nastavovat vstupy a výstupy jako dříve. Všimněte si, že i když se kolíky nezměnily, čísla se zde liší od výše. Důvodem je, že GPIO Zero používá pouze čísla pinů GPIO (také známá jako čísla Broadcom nebo BCM).

zobrazit obrazovku telefonu na počítači přes usb

Zbytek skriptu jsou pouze tři řádky:

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

The pauza() volání zde jednoduše zastaví ukončení skriptu, když dosáhne dna. Události se dvěma tlačítky se spouští při každém stisknutí a uvolnění tlačítka. Uložte a spusťte skript a uvidíte stejný výsledek jako dříve!

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

Ze dvou způsobů nastavení tlačítka se jako nejjednodušší jeví metoda GPIO Zero. Stále stojí za to seznámit se s knihovnou RPi.GPIO as většina začátečnických projektů Raspberry Pi použij to. Jak je tento projekt jednoduchý, znalosti lze použít pro řadu věcí.

Používání pinů GPIO je skvělý způsob, jak se učit a vymýšlet svá vlastní zařízení, ale zdaleka to není vše, co můžete s Pi dělat. Náš neoficiální průvodce Raspberry Pi je plný kreativních nápadů a návodů, které si můžete sami vyzkoušet! Pro další tutoriál, jako je tento, se podívejte jak vytvořit tlačítko připojené k Wi-Fi .

Podíl Podíl tweet E-mailem 5 tipů, jak přeplnit své počítače VirtualBox Linux

Jste unaveni špatným výkonem, který nabízejí virtuální stroje? Zde je to, co byste měli udělat, abyste zvýšili výkon svého VirtualBoxu.

Číst dále
Související témata
  • DIY
  • Raspberry Pi
  • Krajta
  • GPIO
  • Návody na projekt DIY
O autorovi Ian Buckley(216 publikovaných článků)

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

Více od Iana Buckleyho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru
Kategorie Diy