Aprindeți un LED cu GPIO de la Raspberry Pi

La inceputul acestui an ati facut un tur al GPIO-ului Raspberry Pi si de asemenea ati recomandat cateva placi de breakout pentru identificarea numerelor de pin. Astăzi continuăm acea temă și începem să folosim acești coduri combinate cu cod și hardware.

GPIO este modul în care Raspberry Pi vorbește cu lumea exterioară - "lucruri reale" - folosind codul pentru a programa semnalele și tensiunile către și de la antetul cu 40 de pini.

Codificarea cu GPIO este destul de simplă pentru a începe, în special pentru proiectele începător, cum ar fi LED-urile și sonerii. Cu doar câteva componente și câteva linii de cod puteți lumina sau flash un LED ca parte a proiectului dumneavoastră.

Acest articol vă va arăta ce aveți nevoie pentru a aprinde un LED care utilizează codul Python pe Raspberry Pi, folosind metoda tradițională "RPi.GPIO".

01 din 04

De ce ai nevoie

Doar câteva părți simple și ieftine sunt necesare pentru acest proiect. Richard Saville

Iată o listă cu tot ce ai nevoie pentru acest mic demaror. Ar trebui să puteți găsi aceste articole în magazinul preferat de producție sau în site-urile de licitații online.

02 din 04

Creați circuitul - Pasul 1

Conectați fiecare știft pe panoul de paie cu fire de tip jumper. Richard Saville

Vom folosi 2 PIN-uri GPIO pentru acest proiect, un pin de bază (pini fizic 39) pentru piciorul de masă al LED-ului și un pin GPIO generic (GPIO 21, pinul fizic 40) pentru alimentarea LED-ului - noi decidem la - unde se află codul.

În primul rând, opriți-vă Zmeura Pi. Acum, folosiți firele de jumperi, conectați știftul de împământare la o bandă de pe panoul de paie. Apoi faceți același lucru pentru pinul GPIO, conectându-vă la o bandă diferită.

03 din 04

Creați circuitul - Pasul 2

LED-ul și rezistorul completează circuitul. Richard Saville

Apoi adăugăm LED-ul și rezistorul la circuit.

LED-urile au polaritate - adică trebuie să fie cablate într-un anumit mod. Ei au de obicei un picior mai lung, care este piciorul anod (pozitiv) și, de obicei, o margine plană pe capul din plumb LED care denotă piciorul catod (negativ).

Un rezistor este folosit pentru a proteja atât LED-ul de a primi prea mult curent, cât și pinul GPIO de la "a da" prea mult - ceea ce ar putea deteriora ambele.

Există un pic de rezistor generic pentru LED-urile standard - 330ohm. Există câteva matematici în spatele acestui lucru, dar pentru moment, să ne concentrăm asupra proiectului - puteți întotdeauna să vă uitați în legea ohms și subiecte conexe după aceea.

Conectați un picior al rezistorului la banda GND de pe panoul dvs., iar celălalt picior de rezistență pe banda conectată la piciorul mai scurt al LED-ului.

Piciorul mai lung al LED-ului trebuie acum să se alăture benzii conectate la pinul GPIO.

04 din 04

Codul Python GPIO (RPi.GPIO)

RPi.GPIO este o bibliotecă excelentă pentru utilizarea pinilor GPIO. Richard Saville

În momentul de față avem un circuit conectat și pregătit pentru a merge, dar nu am spus că pinul GPIO nu trimite încă nicio putere, astfel încât LED-ul să nu fie aprins.

Să facem un fișier Python pentru a ne spune pinului GPIO să trimită o putere timp de 5 secunde și apoi să se oprească. Ultima versiune a Raspbian va avea deja instalate bibliotecile GPIO necasare.

Deschideți o fereastră terminal și creați un nou script Python introducând următoarea comandă:

sudo nano led1.py

Aceasta va deschide un fișier gol pentru ca noi să introduceți codul nostru. Introduceți liniile de mai jos:

#! / usr / bin / python # Importul bibliotecilor avem nevoie de import RPi.GPIO ca timp de import GPIO # Setați modul GPIO GPIO.setmode (GPIO.BCM) # Setați numărul LED GPIO LED = 21 # Setați pinul GPIO LED ca un ieșiți GPIO.setup (LED, GPIO.OUT) # Rotiți pinul GPIO pe GPIO.output (LED, True) # Așteptați 5 secunde time.lear (5) # Rotiți pinul GPIO în afara GPIO.output (LED,

Apăsați Ctrl + X pentru a salva fișierul. Pentru a rula fișierul, introduceți următoarea comandă în terminal și apăsați enter:

sudo python led1.py

LED-ul trebuie să lumineze timp de 5 secunde, apoi să se oprească, terminând programul.

De ce nu încercați să schimbați numărul "time.sleep" pentru a aprinde LED-ul pentru momente diferite sau încercați să schimbați "GPIO.output (LED, True)" în "GPIO.output (LED, Fals)" și să vedeți ce se întâmplă?