Külső LED vezérlése Raspberry Pi és GPIO csapok segítségével

Ebben a bejegyzésben a Raspberry Pi GPIO csapokat fogjuk felfedezni egy „Hello World” GPIO program létrehozásával, amely villogó piros LED-et eredményez. A Python programozási nyelvet fogjuk használni. Fej nélküli Raspberry Pi Zero WH-t (vezeték nélküli, forrasztott fejlécekkel) használok Raspbian Stretch Lite-vel (Raspberry Pi operációs rendszer, minimális képpel, Debian Stretch alapján).

A fej nélküli Pi-vel fogok beszélni, sshés a szükséges fájlokat a Mac-ről a Pi-re scpparancsok segítségével továbbítom . Feltételezem, hogy a Raspberry Pi telepítve van, és telepítve van a Raspbian operációs rendszerrel. Ha nem, akkor az interneten sok cikk ismerteti a Pi beállítását és a Raspbian telepítését, beleértve a hivatalos Raspberry Pi dokumentációt.

Amire szükséged lesz:

  • 1 x Raspberry Pi (a Pi Zero WH modellt használom)
  • 1 x kenyér deszka
  • 1 x piros LED lámpa
  • 1 x 330 ohmos ellenállás
  • 2 x hüvely-hüvely csatlakozó kábel

GPIO csapok konfigurálása

A GPIO az általános célú bemeneti kimenetet jelenti . A GPIO csapok segítségével a Raspberry Pi csatlakozhat és kölcsönhatásba léphet külső elektronikus alkatrészekkel. A legújabb Raspberry Pi modellek (Pi 3, Pi Zero, Pi W és Pi WH modellek stb.) 40 GPIO csapot tartalmaznak. Mindegyik tüske be- vagy kikapcsolható, vagy megy, HIGHvagy LOWelektronikus értelemben. Ha a tüske HIGH3,3 volt, akkor a feszültség LOWki van kapcsolva.

Példánkban a pin 6(ground) és pin 25. Ha többet szeretne tudni a Raspberry Pi GPIO-csapjairól, fizesse meg a pinout.xyz fájlt.

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

Az áramkör kiépítése közben kapcsolja ki a Pi-t. Létrehozunk egy áramkört az alábbi ábra szerint:

Megjegyzés : A képen látható ellenállás 220 Ohm, de az áramkörömben 330 Ohm-ot használtam.

  1. A női-férfi átkötő kábellel csatlakoztassa a pin 6(földelt) (fekete kábel a fenti képen) kenyérlap negatív sorához.
  2. Használjon egy másik női-férfi jumpert a csatlakozáshoz, hogy a GPIO-t pin 25a kenyérlapon a sor Aés az oszlop által ábrázolt ponthoz csatlakoztassa 12, a fent látható módon (kék kábel a fenti képen).
  3. Egyik végét csatlakoztassa egy 330 ohmos ellenállást , hogy a negatív sor (a sor, ami a zöld szín jelzi, ahol a fekete vezeték fenti korábban csatlakoztatva), és a másik végét a pontot képviseli sorban Coszlop 11a breadboard a fentiek szerint.
  4. A LED rövidebb vége a negatív, a hosszabb pedig a pozitív vége. A hosszabb véget mindig az áramkör nagyobb feszültségű (vagyis nagyobb potenciállal rendelkező) pontjához kell csatlakoztatni. A LED rövidebb vége pin 25a kék kábelen keresztül csatlakozik egy GPIO-hoz (amely 3,3 V-ot tud kimenni), a hosszabbik végét pedig a földre pin 6(amely 0 V-os és az akkumulátor negatív kapcsaiként működik) a fekete kábellel egy ellenállás közöttük.

Ellenállás

Szem előtt tartva, hogy már jó ideje (kb. 4-5 évig) részt vettem az elektrotechnika és az elektronika mérnöki ismereteiben, két kérdésem volt, amelyekre válaszokra volt szükségem. Kérem, viseljen velem, hogy naiv vagyok ebben az összefüggésben.

  1. Miért van szükség ellenállásra az áramkörünkben?
  2. Hogyan állapíthatjuk meg, hogy az ellenállás hány Ohm (az elektromos ellenállás mértéke) legyen?

Ellenállás szükséges a Raspberry Pi extra elektromos energiájának (feszültségének) elvezetéséhez. A Raspberry Pi 50 mA feszültséget biztosít 3,3 V feszültségen. Tegyük fel, hogy piros LED-ünk előremenő feszültsége (az előremenő feszültség a „negatív feszültség”, amelyet a LED használ, ha be van kapcsolva) körülbelül 2 V lehet, és 4 mA áramot fogyaszt. Tehát a fennmaradó 1,3 V-ot az ellenállásnak el kell oszlatnia.

Ohm törvényének használatával V = IR,, R= (3.3V - 2V) / (4/1000)ami kb. 325 ohms- ezért 330 ohmos ellenállást ajánlok .

Ezt egy Raspberry Pi fórum beszélgetéséből fedeztem fel.

A LED villogása a Python használatával

Most, hogy teljes áramkörünk van, a következő rész a GPIO portok programozása a varázslat megvalósításához: a LED villogása. A GPIO kimenetét használjuk pin 25a LED villogására.

Indítsa el a Pi-t, és csatlakozzon hozzá az ssh segítségével. A terminálban a következő paranccsal telepítse a Python könyvtárat gpiozero. A gpiozerokönyvtár nagyon egyszerűvé teszi a munkát a GPIO csapokkal és a csatlakoztatott külső komponensekkel.

A telepítéshez a Python könyvtár írja sudo apt-get install python3-gpiozero.

Most futtatunk néhány Python kódot. Mentse az alábbi kódot a Pi fájlrendszerébe egy megnevezett fájlban blink1.py. A szkript alapvetően bekapcsolja a csatlakoztatott LED-et pin 25, alszik 1 másodpercig, majd kikapcsolja a LED-et, és ismét alszik 1 másodpercig. Ez pedig folyamatosan történik egy ciklusban, amíg a program le nem áll (nyomja meg a ctrl+ c).

Most terminálról, menj a könyvtárba, ahol a script van mentve, és futtassa a következő parancsot: python3 blink1.py.

Látni fogja, hogy a piros LED így villog:

Rengeteg szórakoztató dolgot készíthetünk gpiozerohasonló beállítások használatával. Nézze meg a dokumentációt, gpiozeroamely érdekes példákat mutat be. Próbáljon ki egy közlekedési lámparendszert.

Eredetileg a shahbaz.co webhelyen jelent meg 2018. április 7-én.