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
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.
- A Raspberry Pi munkaállomás, amely a legújabb Raspbian (Pi, képernyő, billentyűzet, egér, táp, SD kártya - minden csatlakoztatott)
- Egy kis kenyérsütő
- 5 mm-es LED
- 330 ohmos ellenállás
- 2 férfi-női jumper vezetékek
02. 04. sz
Az áramkör létrehozása - 1. lépés
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
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)
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.pyEz ü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.pyA 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?