Mwanga LED na GPIO ya Raspberry Pi

Mapema mwaka huu una safari ya GPIO ya Raspberry Pi na pia ilipendekeza bodi fulani za kuvunja muhimu kwa kutambua namba za siri. Leo tunaendelea jambo hilo na kuanza kutumia pini hizi pamoja na kanuni na vifaa.

GPIO ni jinsi Raspberry Pi inavyozungumza na ulimwengu wa nje - "vitu halisi" - kutumia kanuni ya mpango wa ishara na voltages na kutoka kichwa cha 40-pin.

Ukodishaji na GPIO ni rahisi kuanza na, hasa kwa miradi ya mwanzo kama vile LEDs na buzzers. Kwa michache tu ya vipengele na mistari machache ya msimbo unaweza kuangazia au kuangaza LED kama sehemu ya mradi wako.

Makala hii itaonyesha nini unahitaji kuangaza LED kwa kutumia code ya Python kwenye Raspberry yako Pi, kwa kutumia njia ya jadi ya "RPi.GPIO".

01 ya 04

Unachohitaji

Sehemu kadhaa rahisi na zisizo nafuu zinahitajika kwa mradi huu. Richard Saville

Hapa kuna orodha ya kila kitu kitakachohitajika kwa mradi huu mdogo. Unapaswa kupata vitu hivi kwenye duka lako la makenzi au vituo vya mnada mtandaoni.

02 ya 04

Unda Mzunguko - Hatua ya 1

Unganisha kila pin kwenye sanduku la waya na waya za jumper. Richard Saville

Tutatumia pini 2 za GPIO kwa mradi huu, pini ya ardhi (pini ya kimwili 39) kwa mguu wa ardhi wa LED, na pini ya GPIO ya kawaida (GPIO 21, pini ya kimwili 40) ili kuwezesha LED - lakini tu wakati tunaamua - ni wapi msimbo unapoingia.

Kwanza, futa Raspberry yako Pi. Sasa, kwa kutumia waya za jumper, funga siri ya chini kwa njia kwenye sanduku lako. Ifuatayo fanya sawa kwa pini ya GPIO, kuunganisha kwa njia tofauti.

03 ya 04

Unda Mzunguko - Hatua ya 2

LED na resistor kukamilisha mzunguko. Richard Saville

Kisha sisi kuongeza LED na resistor kwa mzunguko.

LED zina polarity - inamaanisha kuwa wired kwa namna fulani. Kwa kawaida huwa na mguu wa muda mrefu ambao ni mguu wa anode (chanya), na kwa kawaida ni makali ya juu ya kichwa cha plastiki cha LED kinachoashiria mguu wa hasi (hasi).

Kipinga kinatumika kulinda wote LED kutoka kupokea sana sasa, na pin GPIO kutoka 'kutoa' sana - ambayo inaweza kuharibu wote wawili.

Kuna kiasi kidogo cha kupinga kwa kawaida kwa LEDs - 330ohm. Kuna baadhi ya hesabu nyuma ya hilo, lakini kwa sasa hebu tutazingatia mradi - unaweza daima kutazama sheria za ohms na mada kuhusiana na baadaye.

Unganisha mguu mmoja wa kupinga kwenye mstari wa GND kwenye sanduku lako, na mguu mwingine wa kupinga kwenye mstari uliounganishwa na mguu mfupi wa LED yako.

Mguu mrefu wa LED sasa unahitaji kujiunga na mstari uliounganishwa na pini ya GPIO.

04 ya 04

Kanuni ya GPIO ya Python (RPi.GPIO)

RPi.GPIO ni maktaba bora kwa kutumia pini za GPIO. Richard Saville

Kwa sasa tuna mzunguko wa wired juu na tayari kwenda, lakini hatukuiambia pete yetu ya GPIO kutuma nguvu yoyote bado, hivyo LED yako haifai kutajwa.

Hebu tufanye faili ya Python ili tueleze siri yetu ya GPIO ili kutuma nguvu fulani kwa sekunde 5 na kisha uacha. Toleo la hivi karibuni la Raspbian litakuwa na maktaba ya GPIO ya necassary yaliyowekwa tayari.

Fungua dirisha la terminal na uunda script mpya ya Python kwa kuingia amri ifuatayo:

sudo nano led1.py

Hii itafungua faili tupu ili tuingie msimbo wetu. Ingiza mistari hapa chini:

#! Weir / bin / python # Ingiza maktaba tunahitaji kuagiza RPi.GPIO kama wakati wa kuagiza wa GPIO # Weka GPIO mode GPIO.setmode (GPIO.BCM) # Weka Nambari ya LED GPIO LED = 21 # Weka pini ya GPIO ya LED kama pato GPIO.setup (LED, GPIO.OUT) # Pindisha pinari ya GPIO kwenye GPIO.output (LED, Kweli) # Pata sekunde 5 wakati wa usingizi (5) # Zuia pini ya GPIO mbali na GPIO.output (LED, Uongo)

Bonyeza Ctrl + X ili kuhifadhi faili. Ili kuendesha faili, ingiza amri ifuatayo katika terminal na uingize waandishi:

sudo python led1.py

LED itapunguza kwa sekunde 5 kisha uzima, ukomesha programu.

Kwa nini usijaribu kubadili namba ya 'wakati.sleep' ili uangaze LED kwa nyakati tofauti, au jaribu kubadilisha 'GPIO.output (LED, True)' hadi 'GPIO.output (LED, Uongo)' na kuona nini kinatokea?