Ku iftiimiso LED oo leh GP-ga Raspberry Pi

Horaantii sanadkaan waxaad soo booqatay GP-yada Raspberry Pi GPIO waxayna sidoo kale soo jeedisay qaar ka mid ah boorarka jilicsan ee faa'iido leh si loo aqoonsado lambarada pin. Maanta waxaan sii wadi doonnaa mawduucan oo aan bilowno isticmaalka biinanka kuwaas oo la socda koodhka iyo qalabka.

GPIO waa sida Raspberry Pi ugala hadlayo dunida dibadda - "waxyaallaha dhabta ah" - isticmaalaya koodhka si loo baro calaamadaha iyo cidhib-tirka ilaa iyo 40-pin-madaxa.

Codeynta GPIO waa mid fudud in la bilaabo, gaar ahaan mashruucyada bilawga ah sida LEDs iyo buzzers. Iyada oo kaliya dhowr qaybood iyo dhowr khadad oo koodh ah ayaad iftiin ama iftiin ku dhigi kartaa sida qayb ka mid ah mashruucaaga.

Maqaalkani wuxuu ku tusi doonaa waxa aad u baahan tahay inaad iftiin u isticmaasho LED iyadoo la adeegsanayo code Python oo ku yaal Raspberry Pi, adoo adeegsanaya habka 'RPi.GPIO'.

01 of 04

Waxaad u Baahantahay

Qeybo fudud oo jaban ayaa laga rabaa mashaariicdan. Richard Saville

Waa kuwan liiska wax kasta oo aad u baahan tahay mashruucan bilowga ah. Waa inaad awood u yeelatid inaad alaabtaan ka hesho dukaanka makhaayadaha jecel ama goobaha xaraashka ah.

02 of 04

Abuuri Circuit - Tallaabada 1aad

Ku xir fariin kasta oo ku dhegta kabadhada oo leh fiilooyin isku dhejisan. Richard Saville

Waxaanu dooneynaa inaan isticmaalno 2 gawaarida GPIO ee mashruucaan, pin (dhulka pin 39) ee lugta hoose ee LED-ga, iyo pin pinio (GPIO 21, pin pin 40) si loo isticmaalo LED - laakiin marka waxaynu go'aansanaynaa - taas oo ah halka uu ku yaala xeerka.

Ugu horreyn, iska jari barta Raspberry Pi. Hadda, adigoo isticmaalaya fiilooyinka boodhka ah, ku xir barta hoose ee leyska. Kaddibna waxay sameeyaan isla jaantuska GPIO, oo isku xiraya layn kale.

03 04

Abuuri wareegga - Tallaabada 2aad

LED-ga iyo is-difaacaha buuxiya wareegga. Richard Saville

Marka xigta waxaan ku darnaa LED iyo diidmada wareegga.

LED'adu waxay leeyihiin dabacsanaan - macnaheedu waa inay si fudud u xiran yihiin. Waxay badanaaba leeyihiin lugta dheer oo ah lugta (positive) lugta, iyo badanaaba dhinaca sare ee madaxa boodhka LED kaas oo ka dhigaya cathode (negative) lugta.

Diidmada ayaa loo isticmaalaa si loo ilaaliyo labadaba LED-ka in la helo waqti aad u badan, iyo PIN GPIO oo 'siinaya' wax badan - oo dhaawici kara labadaba.

Waxaa jira qaar ka mid ah jaangooyooyinka istiraatiijiga ah ee loogu talagalay LED-yada caadiga ah - 330ohm. Waxaa jira waxoogaa xisaab ah oo ka danbeeya taas, laakiin hadda aynu eegno mashruuca - waxaad mar walba fiirin kartaa sharciyada ohms iyo mawduucyada la xiriira kadib.

Isku xir hal lug oo ka mid ah is-difaacaha laydhka GND ee ku yaal khadadkaaga, iyo lugta kale ee is-qaboojinta ee laydka ku xiran lugta gaaban ee LED-gaaga.

Lugta dheer ee LED hadda waxay u baahan tahay inay ku biirto laynka ku xiran piniga GPIO.

04 04

Python GPIO Code (RPi.GPIO)

RPi.GPIO waa maktabad aad u fiican oo loo isticmaalo gawaarida GPIO. Richard Saville

Waqtigan xaadirka ah waxaan leenahay wareeg ah oo xiran oo diyaar u ah inaan tago, laakiin ma aanan u sheegin pinigeena GP-ga si aan u dirno wax awood ah, sidaas darteed waa in aanad iftiimin.

Aynu sameysno faylka Python si aan u sheegno pin-yada GPO si aan u dirno xoogaa illaa 5 ilbiriqsi kadibna joojiya. Nooca ugu dambeeyay ee Raspbian ayaa lahaan doona maktabadaha GPIO ee loo yaqaan 'GPIO'.

Furo daaqada kumbuyuutarka oo abuur fariin cusub Python adoo soo galaya amarka soo socda:

sudo nano led1.py

Tani waxay u furi doontaa feylaal bilaash ah si aan u galno koodhkayaga. Ku qor khadadaha hoose:

#! / usr / bin / python # Dib u soo qaada maktabadaha aan ubaahanahay in aan u dhoofino RPi.GPIO sida GPIO wakhtiga la soo dhoofiyo # Deji habka GPIO GPIO.setmode (GPIO.BCM) # Ku dheji lambarka GPIO LED LED = 21 # Ku dheji pin pin LED dhejinta GPIO.setup (LED, GPIO.OUT) # Ku dheji pinji GPIO GPIO.output (LED, True) # Sugid 5 ilbiriqsi saacaddiiba (5) # Iska jooji jeebka GPIO off GPIO.output (LED, False)

Riix Ctrl + X si aad u kaydiso faylka. Si aad u maamusho faylka, ku qor taliska soo socda ee gundhiga oo riix giraanta:

sudo python led1.py

LEDku waa inuu iftiimaa illaa 5 ilbiriqsi kadibna iska daayo, dhammaadka barnaamijka.

Waa maxay sababta aadan isku dayin inaad bedesho lambarka 'time.sleep' si aad u iftiiso LED waqti kala duwan, ama isku day inaad bedesho 'GPIO.output' (LED, True) 'ilaa' GPIO.output (LED, False) 'oo arag waxa dhacaya?