Dawl ta 'LED bil-GPIO ta' Raspberry Pi

Aktar kmieni din is-sena sibt tour tal-GPIO ta 'Raspberry Pi u rrakkomandat ukoll xi twavel verament utli għall-identifikazzjoni tan-numri tal-pin. Illum aħna nkomplu bit-tema u nibdew jużaw dawn il-pins flimkien ma 'kodiċi u hardware.

Il-GPIO huwa kif il-Raspberry Pi jitkellem mad-dinja ta 'barra - "affarijiet reali" - tuża kodiċi biex tipprogramma s-sinjali u l-vultaġġi lejn u mill-header ta' 40 pin.

Il-kodifikazzjoni mal-GPIO hija raġonevolment sempliċi biex tibda, speċjalment għal proġetti Bidu bħal LEDs u buzzers. Bi ftit komponenti u ftit linji ta 'kodiċi tista' ddawwal jew tixgħel LED bħala parti mill-proġett tiegħek.

Dan l-artikolu ser juri dak li għandek bżonn biex iddawwal LED billi tuża kodiċi Python fuq Raspberry Pi tiegħek, billi tuża l-metodu tradizzjonali "RPi.GPIO".

01 ta '04

Dak li għandek bżonn

Biss ftit partijiet sempliċi u irħas huma meħtieġa għal dan il-proġett. Richard Saville

Hawnhekk hawn lista ta 'dak kollu li għandek bżonn għal dan il-proġett ta' starter ftit. Għandek tkun tista 'ssib dawn l-oġġetti fil-maħżen favorit tiegħek jew is-siti tal-irkant onlajn.

02 ta '04

Oħloq is-Circuit - Pass 1

Qabbad kull pin mal-breadboard b'wajers li jarmu. Richard Saville

Se nkunu qed nużaw 2 pins GPIO għal dan il-proġett, pin tal-art (pin fiżika 39) għar-riġel tal-qiegħ tal-LED, u pin GPO ġeneriku (GPIO 21, pin fiżiku 40) biex issuq l-LED - iżda biss meta aħna niddeċiedu - li huwa fejn jidħol il-kodiċi.

L-ewwelnett, itfi Raspberry Pi tiegħek. Issa, billi tuża l-wajers tal-jumper, qabbad il-pin tal-art ma 'korsija fuq il-breadboard tiegħek. Sussegwentement tagħmel l-istess għall-pin GPIO, li tgħaqqad ma 'korsija differenti.

03 ta '04

Oħloq is-Circuit - Stadju 2

L-LED u r-resistor jikkompletaw iċ-ċirkwit. Richard Saville

Sussegwentement aħna nżidu l-LED u r-reżistenza għaċ-ċirkwit.

L-LEDs għandhom il-polarità - li jfisser li għandhom jiġu mqabbda b'ċertu mod. Normalment ikollhom riġel itwal li huwa l-anodu (pożittiv) tas-sieq, u ġeneralment tarf ċatt fuq il-parti tal-plastik LED li tindika s-sieq tal-katodu (negattiva).

Jintuża resistor biex jipproteġi kemm l-LED milli jirċievi wisq kurrenti, u l-pin GPIO milli 'jagħti' wisq - li jista 'jagħmel ħsara kemm.

Hemm daqsxejn ta 'klassifikazzjoni ta' reżistenza ġenerika għal LEDs standard - 330ohm. Hemm xi matematika wara dak, iżda għal issa niffokaw fuq il-proġett - dejjem tista 'tħares lejn il-liġi ta' l-ohms u suġġetti relatati wara.

Qabbad riġel wieħed tar-reżistenza mal-mogħdija GND fuq il-breadboard tiegħek, u l-parti tar-reżistenza l-oħra mal-korsija mqabbda mal-parti ta 'isfel tal-LED tiegħek.

Ir-riġel itwal tal-LED issa jeħtieġ li jingħaqad mal-korsija konnessa mal-pin GPIO.

04 ta '04

Kodiċi Pyito GPIO (RPi.GPIO)

RPi.GPIO huwa librerija eċċellenti għall-użu tal-pinnijiet GPIO. Richard Saville

Bħalissa għandna ċirkwit bil-wajer u lest biex imur, imma aħna ma għidulekx il-pin GPIO tagħna biex tibgħat kwalunkwe enerġija għadha, hekk l-LED tiegħek m'għandux jinxtegħel.

Ejjew nagħmlu fajl ta 'Python biex tgħid li l-pin GPIO tagħna jibgħat ftit qawwa għal 5 sekondi u mbagħad jieqaf. L-aħħar verżjoni ta 'Raspbian se tkun diġà installata l-libreriji ta' GPIO tassigerevoli.

Iftaħ tieqa tat-terminal u toħloq kitba ġdida ta 'Python billi ddaħħal il-kmand li ġej:

sudo nano led1.py

Dan se jiftaħ fajl vojt għalina biex nidħol il-kodiċi tagħna. Daħħal il-linji hawn taħt:

#! / usr / bin / python # Importa l-libreriji li għandna bżonn l-importazzjoni RPi.GPIO bħala ħin ta 'importazzjoni GPIO # Issettja l-GPIO mode GPIO.setmode (GPIO.BCM) # Issettja n-numru LED GPIO LED = 21 # Issettja l-pin LED GPIO bħala output GPIO.setup (LED, GPIO.OUT) # Dawwar il-pin GPIO fuq GPIO.output (LED, Veru) # Stenna 5 sekondi time.sleep (5) # Dawwar il-pin GPIO minn GPIO.output (LED, Falz)

Agħfas Ctrl + X biex issalva l-fajl. Biex tmexxi l-fajl, ikteb il-kmand li ġej fit-terminal u agħfas idħol:

sudo python led1.py

L-LED għandu jixgħel għal 5 sekondi wara li tintefa, u tispiċċa l-programm.

Għaliex ma tippruvax ibiddel in-numru "time.sleep" għad-dawl l-LED għal żminijiet differenti, jew ipprova ibdel il- "GPIO.output (LED, Veru)" għal "GPIO.output (LED, Falz)" u ara x'jiġri?