de Shahbaz Ahmed

Controlarea unui LED extern folosind un pin Raspberry Pi și GPIO

Controlul unui LED extern folosind un pin Raspberry Pi si
Imagine sursă

În acest post vom explora pinii GPIO Raspberry Pi prin crearea unui program GPIO „Hello World” care are ca rezultat un LED roșu intermitent. Vom folosi limbajul de programare Python. Folosesc un Raspberry Pi Zero WH fără cap (fără fir cu anteturi lipite) cu Raspbian Stretch Lite (sistemul de operare Raspberry Pi cu o imagine minimă bazată pe Debian Stretch).

Voi vorbi cu Pi-ul meu fără cap folosind ssh și transferați fișierele necesare de pe Mac pe Pi folosind scp comenzi. Presupun că aveți Raspberry Pi în funcțiune și Raspbian OS instalat. Dacă nu, atunci există o mulțime de articole pe Internet care descriu cum să configurați Pi și să instalați Raspbian, inclusiv oficialul Documentație Raspberry Pi.

Lucruri de care aveți nevoie:

  • 1 x Raspberry Pi (folosesc modelul Pi Zero WH)
  • 1 x placă de pâine
  • 1 x lumină LED roșie
  • 1 rezistor de 330 ohmi
  • 2 x cablu jumper feminin la masculin

Configurarea pinilor GPIO

GPIO înseamnă Ieșire de intrare cu scop general. Cu ajutorul pinilor GPIO, un Raspberry Pi se poate conecta și interacționa cu componente electronice externe. Modelele recente Raspberry Pi (modelele Pi 3, Pi Zero, Pi W și Pi WH și așa mai departe) conțin 40 de pini GPIO. Fiecare pin poate porni sau dezactiva sau merge HIGH sau LOW în termeni electronici. Dacă pinul este HIGH generează 3,3 volți, dacă pinul este LOW este oprit.

1611683766 42 Controlul unui LED extern folosind un pin Raspberry Pi si

În exemplul nostru, vom folosi pin 6 (sol) și pin 25. Pentru a afla mai multe despre pinii GPIO din Raspberry Pi, verificați pinout.xyz.

Configurarea circuitului

Ar trebui să opriți Pi în timp ce construiți circuitul. Vom crea un circuit așa cum este descris în diagrama de mai jos:

1611683766 625 Controlul unui LED extern folosind un pin Raspberry Pi si

Notă: Rezistorul din imagine este de 220 Ohm, dar am folosit 330 Ohm în circuitul meu.

  1. Utilizați un cablu jumper de la mamă la mascul pentru a vă conecta pin 6 (Masă) (cablu negru în imaginea de mai sus) la rândul negativ al panoului de verificare.
  2. Folosiți un alt jumper de la femeie la bărbat pentru a vă conecta la GPIO pin 25 la punct reprezentat prin rând A și coloană 12 pe panou, după cum se arată mai sus (cablu albastru în imaginea de mai sus).
  3. Conectați un capăt al unui 330 ohm rezistor la rândul negativ (rândul care este evidențiat în verde unde s-a conectat anterior cablul negru) și conectați celălalt capăt la punctul reprezentat de rând C coloană 11 pe tablă, după cum se arată mai sus.
  4. Capătul mai scurt al LED este sfârșitul negativ și cu cât este mai lung finalul pozitiv. Capătul mai lung trebuie întotdeauna conectat la punctul din circuit cu tensiune mai mare (adică potențial mai mare). Capătul mai scurt al LED este conectat la un GPIO pin 25 (care poate emite 3.3V) prin cablul albastru și capătul mai lung este conectat la sol pin 6 (care este 0V și acționează ca terminalul negativ al bateriei) prin cablul negru cu un rezistor între ele.

Rezistor

Ținând cont de faptul că am urmat cursuri introductive de inginerie electrică și electronică cu ceva timp în urmă (aproximativ 4 până la 5 ani), aveam două întrebări la care aveam nevoie de răspunsuri. Vă rog să mă purtați pentru că am fost naiv în acest context.

  1. De ce avem nevoie de un rezistor în circuitul nostru?
  2. Cum determinăm câți ohmi (măsura rezistenței electrice) ar trebui să fie rezistorul?

Este necesar un rezistor pentru a disipa energia electrică suplimentară (tensiune) de la Raspberry Pi. Raspberry Pi este evaluat să furnizeze 50mA la 3,3V. Să presupunem că LED-ul nostru roșu poate avea o tensiune directă (tensiunea directă este „tensiunea negativă”, utilizată de LED-ul când este aprins) de aproximativ 2V și consumă 4mA curent. Deci, restul de 1,3 V ar trebui să fie disipat de rezistor.

Folosind legea lui Ohm, V = IR, R = (3.3V - 2V) / (4/1000) care vine în jur 325 ohms – așa că vă recomand să utilizați un Rezistor de 330 ohmi.

Am descoperit asta dintr-un Discuție pe forum Raspberry Pi.

Acum, că avem un circuit complet, următoarea parte este să programăm porturile GPIO pentru ca magia să se întâmple: să facem LED-ul să clipească. Vom folosi ieșirea GPIO pin 25 pentru a face LED-ul să clipească.

Porniți Pi și conectați-vă la acesta folosind ssh. În terminal, utilizați următoarea comandă pentru a instala biblioteca Python gpiozero. gpiozero biblioteca simplifică lucrul cu pinii GPIO și componentele externe conectate.

Pentru a instala biblioteca Python, tastați sudo apt-get install python3-gpiozero.

Acum vom rula un cod Python. Salvați codul de mai jos pe sistemul dvs. de fișiere Pi într-un fișier numit blink1.py. Scriptul pornește practic LED-ul conectat la pin 25, doarme 1 secundă, apoi oprește LED-ul și din nou doarme 1 secundă. Și acest lucru se face continuu într-o buclă până când programul este terminat (apăsând pe ctrl + c).

Acum, de la terminal, mergeți la directorul în care este salvat scriptul și rulați-l folosind comanda: python3 blink1.py.

Veți vedea LED-ul roșu intermitent astfel:

Controlul unui LED extern folosind un pin Raspberry Pi si

Putem construi o mulțime de lucruri distractive folosind gpiozero folosind o configurare similară. Verifică documentația pentru gpiozero ceea ce demonstrează câteva exemple interesante. Încercați să construiți un sistem semafor.

Publicat inițial la shahbaz.co pe 7 aprilie 2018.