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
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.
- Stazzjon tax-xemgħa Raspberry li tmexxi l-aħħar Raspbian (Pi, skrin, tastiera, maws, qawwa, karta SD - kollha konnessi)
- Galletta żgħira
- A 5mm LED
- Reżistenza ta '330 ohm
- 2 wajers tal-jumper maskili għal femminili
02 ta '04
Oħloq is-Circuit - Pass 1
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
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)
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.pyDan 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.pyL-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?