Liicht eng LED mat der Raspberry Pi's GPIO

Fréier dëst Joer hutt Dir eng Ronde vun der Raspberry Pi's GPIO gemaach a recommandéiert och e puer nëtzlech Breakout-Platen fir d'Identifikatioun vun Pin-Nummeren. Hautdesdaags hunn mer dëst Thema weiderféieren an dës Stécker kombinéiere mat code and hardware.

D'GPIO ass wéi d'Raspberry Pi fir d'Äussewelt schwätzt - "echte Saachen" - mat Code benotzt fir d'Signaler a Spannungen op a vum 40-Pin Header ze programméieren.

Kodéierung mat der GPIO ass vernünft einfach fir matzemaachen, virun allem fir Ufängerprojeten, wéi zB LEDs an Zësber. Mat just e puer Komponenten a puer Codezeilen hunn Dir en LED als Deel vun Ärem Projet léisst oder en flash leeden.

Dësen Artikel weist Iech wat Dir braucht fir eng LED mat Hëllef vu Python Code op Ärem Raspberry Pi ze léift, mat der traditioneller Method "RPi.GPIO".

01 vun 04

Wat Dir braucht

Just e puer einfache a preisstaark Deeler fir dësen Projet sinn néideg. Richard Saville

Hei ass eng Lëscht vun alles wat Dir braucht fir dëse klengt Starterteam. Dir sollt dëst Element an Ärem Liiblingshändler oder online Auctione Site fannen.

02 vun 04

Erstelle vum Circuit - Schrëtt 1

Verbann all Pol zu dem Broutboot mat Jumperdrësden. Richard Saville

Mir benotzen 2 GPIO Pins fir dësen Projet, e Grondpin (physikalesche Pin 39) fir den Terrainbeingel vun der LED, an en generesche GPIO-Pin (GPIO 21, physikalesch Pin 40) fir d'LED ze meeschteren - awer nëmmen wann Mir entscheeden - wat ass wou de Code kommt.

Als éischt geet Är Raspberry Pi aus. Elo, duerch d'Jumperdrës, verbitt den Buedzëmmer an eng Spur op Ärem Broutbock. Niewens de selwechte fir den GPIO-Stéck, deen un eng aner Spur verbannen.

03 vun 04

Erstellt De Circuit - Schrëtt 2

D'LED an den Widerstands komplett de Circuit. Richard Saville

Duerno addéiere mer d'LED an den Widerstand vun der Schaltung.

D'LEDen hunn eng Polaritéit - dat heescht datt se op eng gewëssen Ofsécherung verdrackt ginn. Si hunn normalerweis e laang Laanscht, wat d'Anode (Positives) Beem ass a normalerweis e flächende Kuerf op de LED Plastikskapp, wat den codenode (negativ) Been bezeechent.

E Widerstand gëtt benotzt fir fir d'LED entweder zevill ze empfänken, an de GPIO-Stéck "zevill" ze ginn - wat kéint Schued bénévolen.

Et gëtt e bësse vun engem generesche Widerstandsniveau fir Standard LEDs - 330 ohm. Et ass e puer Mathematik hannert deem, awer loosst eis op de Projet konzentréieren - Dir kënnt ëmmer an Ohmrecht a verwandte Themen duerno duerno kucken.

Verbonne mat engem Fouss vum Widerstand zu der GND Spur op Ärem Broutbock, an den aneren Widerstandsbein op der Spur mat de kuerteren Been vun Ärem LED.

D'Längt vum LED muss elo mat der Spur verbonne ginn mat dem GPIO-Stéck.

04 vun 04

Python GPIO Code (RPi.GPIO)

RPi.GPIO ass eng exzellente Bibliothéik fir d'GPIO Pins ze benotzen. Richard Saville

Am Moment hu mir e Circuit verdräifeg an et ass prett ze goe, awer mir hunn eis GPIO-Stëft net gesot, keng Muecht ze schécken, sou datt Är LED net beleet.

Loosst eis e Python-Akte bidde fir eise GPIO-Pin ze erzielen fir e puer Energie fir 5 Sekonnen ze schécken an dann ze stoppen. Déi neitste Versioun vum Raspbian huet d'necassary GPIO Bibliotheken installéiert.

Öffnen e terminaler Fënster a schreift e neit Python-Skript un, andeems Dir de kommende Kommando gitt:

sudo nano led1.py

Dëst erlaabt e eidel Datei fir eis Code ze entered. Gitt d'Zeilen ënner:

#! / usr / bin / python # Import d'Bibliotheken déi mer importéieren RPi.GPIO als GPIO-Import Zäit # Set GPIO-Modus GPIO.setmode (GPIO.BCM) # D'LED GPIO Nummer LED = 21 # Setzen der LED GPIO-Pin als Ausgab GPIO.setup (LED, GPIO.OUT) # Drecken den GPIO-Pin op GPIO.output (LED, True) # Waart 5 Sekonnen Zäit. (5) # Drecken den GPIO-Pin vun GPIO.output (LED, False)

Dréckt Ctrl + X fir d'Datei ze retten. Fir dës Datei ze starten, gitt de folgenden Kommando an den Terminus a dréckt op:

sudo python led1.py

D'LED soll 5 Sekonne licht da maachen a sech aus dem Programm ofleeën.

Firwat probéiert d'Zäit "time.sleep" net fir d'LED fir verschidden Zäiten z'änneren oder probéiert d'GPIO.output (LED, True) op 'GPIO.output (LED, False) z'änneren an ze gesinn wat wat geschitt?