Ljocht in LED mei de GPIO's Raspberry Pi

Earder dit jier hawwe jo in rûnlieding krigen fan 'e Raspberry Pi's GPIO en hat ek guon echt brûkbere útbrekken foar it identifisearjen fan pinsels . Tsjintwurdich ferbliuwe wy dat tema en begjinne mei dizze pins yn kombinaasje mei koade en hardware.

De GPIO is hoe't de Raspberry Pi sprekt nei de bûtenwrâld - "echte dingen" - gebrûk fan koade om de sinjalen en spanningen te programmearjen en en fan 'e 40-pin-header.

Kodearjen mei de GPIO is reden ienfâldich om te begjinnen mei, foaral foar beginners projekten lykas LED's en buzzers. Mei allinich in pear komponinten en in pear rigels fan koade kinne jo in LED as in diel fan jo projekt ljocht meitsje of blêdzje.

Dit artikel sil jo sjen wat jo nedich hawwe om in LED te brûken mei help fan Python-koade op jo Raspberry Pi, mei de tradisjonele 'RPi.GPIO' metoade.

01 of 04

Watsto nedich hast

Fia in pear ienfâldige en goedkeap dielen binne foar dit projekt nedich. Richard Saville

Hjir is in list mei alles wat jo nedich hawwe foar dit lytse startersprojekt. Jo moatte dizze punten fine yn jo favoryt maker winkel of Online-webside.

02 of 04

It kryst oanmeitsje - Stap 1

Alle pin stean oan 'e bakbrêge mei jumperdraaien. Richard Saville

Wy brûke 2 GPIO-pinten foar dit projekt, in grûnpunt (fysyske pin 39) foar it grûnfet fan 'e LED, en in generikaare GPIO-pin (GPIO 21, fysike pin 40) om de LED te behertigjen - mar allinich wannear Wy beslute - wêr't de koade komt yn.

Earst, meitsje jo Raspberry Pi. Hjoed, brûk de jumperdruk, ferbine de grûnpunt oan in spoar op jo bak. Dan dochs itselde foar de GPIO-pin, in ferbining mei in oare lane.

03 of 04

It kryst meitsje - Stap 2

De LED en wjerstân folslein it circuit. Richard Saville

Dêrnei adden wy de LED en wjerstân oan 'e circuit.

LED's hawwe polariteit - dat betsjut dat se op in bepaalde wize oanpast wurde moatte. Se hawwe gewoan in lange lin dy't it anode (positive) leg is en meast in flinke râne op 'e LED-plastysk holle dy't de kadode (negative) leg is.

In wjerstân wurdt brûkt om te beskermjen fan 'e LED fan tefolle aktive en de GPIO-pinsje fan' oan 'te folle - dat kinne beide skea.

Der is in bytsje in generikaal wittenskiplik rating foar standert LED's - 330ohm. Der binne wat maths efter dat, mar no wolle jo it fokus op it projekt litte - jo kinne altyd yn ohms rjocht en relate ûnderwerpen sjen.

Meitsje ien fuot fan 'e wjerstân oan' e GND-lane op jo bak, en de oare wjerstêft oan 'e lane ferbûn mei it koartere leg fan jo LED.

De langere skieding fan 'e LED moat no meidwaan oan' e lane te ferbinen mei de GPIO-pins.

04 of 04

Python GPIO koade (RPi.GPIO)

RPi.GPIO is in poerbisk biblioteek foar it brûken fan de GPIO pins. Richard Saville

Op it stuit hawwe wy in circuit dy't ferpleatst is en klear om te gean, mar wy hawwe ús GPIO-pins net ferteld om dochs wat macht te ferstjoeren, sadat jo LED net lit.

Litte wy in Python-bestân meitsje om ús GPIO-pin te fertellen om wat sekuere foar 5 sekonden te stjoeren en dan stopje. De lêste ferzje fan Raspbian sil de neokassearjende GPIO-biblioteken hawwe al ynstalleare.

Iepenje in terminalfinster en meitsje in nij Python-skript troch it folgjende kommando te ynfoljen:

sudo nano led1.py

Dit sil in lege bestân iepenje foar ús dat jo ús koade ynfiere. Fier hjirûnder de linen yn:

#! / usr / bin / python # Ymportearje de biblioteken dy't we nedich binne ymportearje RPi.GPIO as GPIO ymportearje # Set GPIO mode GPIO.setmode (GPIO.BCM) # Set de LED GPIO nûmer LED = 21 # Set de LED GPIO-pin as in output GPIO.setup (LED, GPIO.OUT) # Hâld de GPIO-pin op GPIO.output (LED, True) # Wachtsje 5 sekonden tiid.sleep (5) # Drek de GPIO-pin út GPIO.output (LED, False)

Druk Ctrl + X om it bestân te bewarjen. Om de triem út te fieren, ynfiere jo it kommende kommando yn it terminal en druk op Enter:

sudo python led1.py

De ljocht moat 5 sekonden ljocht dan ôfkeare, it einigjen fan it programma.

Wêrom net besykje it 'tiid.sleep' nûmer te feroarjen om de LED foar ferskate kearen te ljochtjen, of probearje om 'GPIO.output (LED, True) te feroarjen' nei 'GPIO.output (LED, False)' en sjoch hokker barde?