Világíts meg egy LED-et a Raspberry Pi GPIO-jával

Az idei év elején megismerkedtünk a Raspberry Pi GPIO-jával, és javasolnánk néhány nagyon hasznos kioldó táblát a PIN számok azonosításához. Ma folytatjuk a témát, és elkezdjük használni ezeket a csapokat kóddal és hardverrel kombinálva.

A GPIO az, hogy a Raspberry Pi beszél a külvilággal - "igazi dolgok" - kódot használva programozhatja a jeleket és feszültségeket a 40 pólusú fejlécre.

A GPIO-val való kódolás meglehetősen egyszerű a kezdetekhez, különösen a kezdő projektekhez, például a LED-ekhez és a zuhatókhoz. Csak néhány komponenssel és néhány sornyi kóddal könnyedén villoghat vagy villoghat egy LED a projekt részeként.

Ez a cikk megmutatja Önnek, mit kell megvilágítani egy LED-et Python kóddal a Raspberry Pi használatával, a hagyományos "RPi.GPIO" módszerrel.

01/04

Amire szükséged van

Ehhez a projekthez csak néhány egyszerű és olcsó alkatrész szükséges. Richard Saville

Itt van egy lista mindazokról, amire szüksége lehet e kis induló projekthez. Meg kell tudnia találni ezeket a tételeket kedvenc készítő boltjában vagy online aukciós oldalain.

02. 04. sz

Az áramkör létrehozása - 1. lépés

Csatlakoztasson minden pólust a kenyérlemezhez jumper vezetékekkel. Richard Saville

A projekthez két GPIO csapot, egy földi csapot (fizikai csapot 39) használunk a LED földi lábához és egy generikus GPIO-tűt (GPIO 21, fizikai 40-es tű) a LED bekapcsolásához - de csak akkor, ha úgy döntenünk, hogy - ahol a kód jön be.

Először kapcsolja ki a Raspberry Pi-et. Most, a jumper vezetékek használatával csatlakoztassa a talajcsapot a kenyérsávhoz tartozó sávba. Ezután ugyanazt tegye meg a GPIO érintkezőhöz, egy másik sávhoz csatlakozva.

03. 04. sz

Az áramkör létrehozása - 2. lépés

A LED és az ellenállás teljesítik az áramkört. Richard Saville

Ezután hozzáadjuk a LED-et és az ellenállást az áramkörhöz.

A LED-eknek polaritásuk van - azaz azt bizonyos módon kell bekötni. Általában egy hosszabb lábuk van, amely az anód (pozitív) láb, és általában egy lapos él a LED műanyag fején, amely a katód (negatív) lábát jelöli.

Az ellenállást arra használják, hogy megvédje a LED-et a túlzott áramfelvételtől, és a GPIO-t a túlságosan "adni" - ami mindkettőt károsíthatja.

Van egy kis általános ellenállás a standard LED-ekhez - 330ohm. Van mögötte matematika, de most nézzük csak a projektre - az ohms törvényt és a kapcsolódó témákat később is megvizsgálhatod.

Csatlakoztassa az ellenállás egyik lábát a kenyérlemez GND sávjához, és a másik ellenállási lábát a sávhoz, amely a LED rövidebb lábához csatlakozik.

A LED hosszabb része most csatlakoznia kell a GPIO csatlakozóhoz csatlakozó sávhoz.

04/04

Python GPIO kód (RPi.GPIO)

Az RPi.GPIO egy kiváló könyvtár a GPIO pins használatához. Richard Saville

Abban a pillanatban van egy áramkörünk, amely fel van szerelve, és készen áll arra, hogy menjen, de még nem mondtuk, hogy a GPIO-pólusunk még képes bármilyen energiát küldeni, így a LED nem világít.

Tegyünk egy Python fájlt, hogy elmondja a GPIO-t, hogy küldjön egy kis energiát 5 másodpercig, majd álljon le. A Raspbian legfrissebb verziója már telepíti a szükségszerű GPIO könyvtárakat.

Nyisson meg egy terminál ablakot, és hozzon létre egy új Python parancsfájlt a következő parancs beírásával:

sudo nano led1.py

Ez üres fájlt nyit meg számunkra. Adja meg az alábbi sorokat:

#! / usr / bin / python # Importálja az RPI.GPIO importálásához szükséges könyvtárakat GPIO importálás időpontjában # Állítsa be a GPIO módot GPIO.setmode (GPIO.BCM) # Állítsa be a LED GPIO számát LED = 21 # Állítsa a LED GPIO-t GPIO kimenet (LED, GPIO.OUT) GPIO kimenet bekapcsolása GPIO.output (LED, True) # Várakozás 5 másodpercig time.sleep (5) # GPIO csatlakozás kikapcsolása GPIO.output (LED, False)

A fájl mentéséhez nyomja meg a Ctrl + X billentyűkombinációt. A fájl futtatásához írja be a következő parancsot a terminálba, és nyomja meg az enter billentyűt:

sudo python led1.py

A LED 5 másodpercig világít, majd kapcsolja ki, és véget vet a programnak.

Miért nem próbálja meg megváltoztatni a "time.sleep" számot a LED-ek különböző időpontokban való világosítására, vagy próbálja meg megváltoztatni a GPIO.output (LED, True) "GPIO.output (LED, False)" értéket és nézze meg, mi történik?