2 módja annak, hogy hozzáadjon egy gombot a Raspberry Pi projekthez

2 módja annak, hogy hozzáadjon egy gombot a Raspberry Pi projekthez

A GPIO csapok használatának megtanulása a Raspberry Pi készüléken a lehetőségek egész világát tárja fel. A kezdő projektek során elsajátított alapelvek megnyitják az utat a barkács elektronika és a programozás hasznos ismeretei felé.





Ez az oktatóanyag kétféle módon mutat be gomb hozzáadását a Raspberry Pi projekthez. A gomb a LED vezérlésére szolgál. Írásbeli utasítások a videó alatt találhatók.





Szükséged lesz

A kezdéshez győződjön meg arról, hogy rendelkezik a következő összetevőkkel:





  • 1 x Raspberry Pi (Bármi megteszi, ebben a bemutatóban a 3B modellt használják)
  • 1 x nyomógomb
  • 1 x LED
  • 1 x 220 Ohm ellenállás (a magasabb értékek rendben vannak, a LED csak halványabb lesz)
  • 1 x kenyeretábla
  • Csatlakoztassa a vezetékeket

Összegyűjtés után a következőképpen kell kinéznie:

Szüksége lesz egy SD kártyára is, amelyen telepítve van a Raspbian operációs rendszer. Ennek leggyorsabb módja a NOOBS (New Out Of the Box Software) kép. Az erre vonatkozó utasítások ebben a videóban találhatók:



Az áramkör beállítása

A Pi GPIO csapjait fogja használni az áramkör létrehozásához, és ha nem ismeri őket, a miénk útmutató a Raspberry Pi GPIO csapokhoz segíteni fog. Az áramkör itt szinte megegyezik az előzővel Raspberry Pi LED projekt , a ma használt gomb hozzáadásával.

Állítsa be az áramkört az alábbi ábra szerint:





  • Az 5v és GND csapok a kenyértábla tápcsöveihez csatlakoznak.
  • 12. tű (GPIO 18) csatlakozik a LED pozitív lábához.
  • Az egyik lába ellenállás a LED negatív lábához, a másik láb pedig a kenyértábla földi sínéhez kapcsolódik.
  • 16. láb (GPIO 23) a gomb egyik oldalához, a másik oldala a kenyértábla földi sínéhez rögzül.

Miután beállította, így néz ki:

Ellenőrizze az áramkört, hogy megbizonyosodjon arról, hogy helyes, majd kapcsolja be a Raspberry Pi -t.





1. módszer: Az RPi.GPIO könyvtár

Miután a Pi elindult, menjen a menübe, és válassza ki Programozás> Thonny Python IDE . Megnyílik egy új Python -parancsfájl. Ha teljesen új vagy a Pythonban, ez egy nagyszerű nyelv kezdőknek, és sok remek hely van, ahol többet megtudhatsz a Pythonról, miután befejezted ezt az oktatóanyagot!

Kezdje az RPi.GPIO könyvtár importálásával és a tábla mód beállításával.

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

Most deklarálja a LED -ek és a gombcsapok változóit.

ledPin = 12
buttonPin = 16

Ne feledje, hogy mivel a tábla módra van állítva TÁBLA a PIN -számokat használjuk a GPIO -számok helyett. Ha ez zavaró számodra, akkor egy Raspberry Pi pinout diagram segíthet tisztázni.

A gomb beállítása

Ideje beállítani a GPIO csapokat. Állítsa a LED tűt kimenetre, a gombostűt pedig bemenetre egy felhúzó ellenállással

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

A GPIO.IN utáni szöveg a belső felhúzó ellenállás a Raspberry Pi -ből. Ezt engedélyeznie kell, hogy tiszta leolvasást kapjon a gombból. Mivel a gomb a földelőcsaphoz megy, szükségünk van egy felhúzó ellenállásra, amely addig tartja a bemeneti csapot HIGH, amíg meg nem nyomja.

Mielőtt továbbmennénk, nézzük a fel- és lehúzó ellenállásokat.

Megszakítás: Húzza fel/húzza le az ellenállásokat

Amikor konfigurálja a GPIO tűt a bemenetre, akkor beolvassa azt, hogy meghatározza az állapotát. Ebben az áramkörben el kell olvasnia, hogy van -e csap MAGAS vagy ALACSONY a LED megnyomására a gomb megnyomásakor. Ez egyszerű lenne, ha ezek lennének az egyetlen állapotok, amelyekkel a tű rendelkezhet, de sajnos van egy harmadik állapot: ÚSZÓ .

Egy lebegőcsap értéke magas és alacsony között van, ezért a bemenet kiszámíthatatlanul működik. A fel-/lehúzó ellenállások ezt megoldják.

A fenti kép egy gomb és egy Raspberry Pi egyszerűsített diagramja. A GPIO tű a gombbal csatlakozik a földhöz. A belső felhúzó ellenállás rögzíti a GPIO csapot a belső Pi tápegységhez. Ez az áram folyik, és a csapot biztonságosan fel lehet húzni HIGH -ra.

Amikor megnyomja a gombot, a GPIO tű közvetlenül a földelőcsaphoz csatlakozik, és a gomb alacsony jelzést ad.

A lehúzható ellenállások arra szolgálnak, ha a kapcsoló a hálózati csatlakozóhoz van csatlakoztatva. Ezúttal a belső ellenállás rögzíti a GPIO tűt a földhöz, tartsa lenyomva a LOW gombot, amíg meg nem nyomja a gombot.

A felhúzás és a lehúzás ellenállás elmélete első pillantásra zavaró, de fontos ismeretek a mikrovezérlőkkel való munka során. Ha egyelőre nem egészen érted, ne aggódj!

Folytassuk ott, ahol abbahagytuk.

A programhurok

Ezután állítsa be a programhurkot:

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

Az míg Igaz A loop folyamatosan futtatja a kódot, amíg be nem fejezzük a programot. Minden alkalommal, amikor hurok, frissíti a buttonState a bemenet olvasásával a buttonPin . Amíg a gombot nem nyomja meg, addig marad MAGAS .

Miután megnyomta a gombot, buttonState válik ALACSONY . Ez kiváltja a ha állítás , azóta Hamis ugyanaz mint ALACSONY , és a LED bekapcsol. Az más utasítás kikapcsolja a LED -et, ha a gombPin nem hamis.

Mentse és futtassa a szkriptet

Mentse el a szkriptet a gombra kattintva Fájl> Mentés másként és a fájlnév kiválasztása. A vázlatot a zöldre kattintva futtathatja Játék gombot a Thonny eszköztáron.

Most nyomja meg a gombot, és a LED -nek világítania kell! Nyomja meg a pirosat Álljon meg gombot bármikor a program leállításához

Ha problémái vannak, ellenőrizze alaposan a kódot és az áramkör beállításait, és ne próbálja újra.

2. módszer: GPIO Zero Library

Az RPi.GPIO könyvtár fantasztikus, de van egy új gyerek a blokkban. A GPIO Zero Library volt a Raspberry Pi közösség menedzsere, Ben Nuttall készítette azzal a szándékkal, hogy a kódot egyszerűbbé, könnyebben olvashatóvá és írhatóvá tegye.

Az új könyvtár kipróbálásához nyisson meg egy új Thonny fájlt, és importálja a könyvtárat.

from gpiozero import LED, Button
from signal import pause

Észre fogja venni, hogy nem importálta a teljes könyvtárat. Mivel csak LED -et és gombot használ, a szkriptben csak azokra a modulokra van szüksége. Mi is importálunk Szünet a jeltárból, amely az eseménykezelés Python könyvtára.

A csapok beállítása sokkal egyszerűbb a GPIO Zero segítségével:

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

Mivel a GPIO Zero könyvtár modulokat tartalmaz a LED -hez és a gombhoz, nem kell be- és kimeneteket beállítani, mint korábban. Észre fogja venni, hogy bár a csapok nem változtak, a számok itt eltérnek a fentiektől. Ez azért van, mert a GPIO Zero csak a GPIO pin -számokat használja (más néven Broadcom vagy BCM számokat).

hogyan lehet megtudni, hogy feltörték -e a telefonomat

A szkript többi része csak három sor:

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

Az szünet() call itt egyszerűen leállítja a szkript kilépését, amikor eléri az alját. A kétgombos események a gomb megnyomásakor és elengedésekor aktiválódnak. Mentse el és futtassa a szkriptet, és ugyanazt az eredményt fogja látni, mint korábban!

Két módszer a gomb hozzáadására a Raspberry Pi -hez

A gomb beállításának két módja közül a GPIO Zero módszer tűnik a legegyszerűbbnek. Érdemes még megismerni az RPi.GPIO könyvtárat as a legtöbb kezdő Raspberry Pi projekt használd. Bármennyire egyszerű is ez a projekt, a tudást számos dologra fel lehet használni.

A GPIO csapok használata nagyszerű módja annak, hogy megtanulja és feltalálja saját eszközeit, de messze nem minden, amit a Pi -vel megtehet. A Raspberry Pi nem hivatalos útmutatója tele van kreatív ötletekkel és oktatóanyagokkal, amelyeket kipróbálhat! Egy másik ilyen oktatóanyagért nézze meg Wi-Fi csatlakoztatott gomb létrehozásának módja .

Részvény Részvény Csipog Email 5 tipp a VirtualBox Linux gépek feltöltéséhez

Unod már a virtuális gépek által kínált gyenge teljesítményt? Íme, mit kell tennie a VirtualBox teljesítményének növelése érdekében.

Olvassa tovább
Kapcsolódó témák
  • DIY
  • Raspberry Pi
  • Piton
  • GPIO
  • DIY projekt oktatóanyagok
A szerzőről Ian Buckley(216 megjelent cikk)

Ian Buckley szabadúszó újságíró, zenész, előadó és videó producer, Berlinben, Németországban él. Amikor éppen nem ír vagy a színpadon, barkácsol elektronikával vagy kóddal, abban a reményben, hogy őrült tudós lesz.

Bővebben: Ian Buckley

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide
Kategória Diy