3.6. Noțiuni de bază de electronică

Pentru a comanda orice element extern de la un pin GPIO este nevoie de un circuit pe partea cealaltă a pinului. Trei idei din electronica de bază – tensiunea, curentul și relația dintre ele prin intermediul unui rezistor – apar în fiecare astfel de circuit.

3.6.1. Tensiune, curent, rezistență

  • Tensiunea (volți, V) este diferența de potențial dintre două puncte ale unui circuit. Linia de alimentare a cipului poate fi la 3,3 V față de masă; un pin GPIO comandat în starea înaltă se află la aceiași 3,3 V.

  • Curentul (amperi, A, sau miliamperi, mA) este fluxul de sarcină electrică printr-un conductor. Curentul se întoarce întotdeauna de unde a plecat, deci pentru ca un curent să poată circula, circuitul trebuie să formeze o buclă completă, de la alimentare înapoi la masă.

  • Rezistența (ohmi, Ω) reprezintă cât de mult se opune calea acelui flux. Rolul unui rezistor este de a stabili curentul la o valoare cunoscută, la o tensiune cunoscută.

Legea lui Ohm le leagă pe toate:

A triangle divided into three regions labelled V at top, I and R at the bottom; the rearranged forms V = IR, I = V/R, R = V/I appear around it.

Legea lui Ohm în cele trei forme ale sale.

În cuvinte: tensiunea pe un rezistor este egală cu curentul care îl străbate înmulțit cu rezistența. Cunoscând oricare două dintre cele trei mărimi, a treia se obține prin algebră.

3.6.2. Diode

O diodă este o componentă cu două terminale care conduce curentul într-o singură direcție (de la anod la catod) și îl blochează în cealaltă.

A diode schematic symbol -- a triangle pointing right into a vertical bar -- with anode marked on the left and cathode on the right. An LED variant adds two outward arrows next to the symbol indicating emitted light.

O diodă conduce numai dinspre anod spre catod. Un LED este o diodă care emite lumină în timp ce conduce.

O diodă are, de asemenea, o tensiune directă (Vf) – căderea de tensiune pe ea atunci când curentul circulă în direcția de conducție. Odată ce tensiunea aplicată atinge Vf, dioda se comportă aproximativ ca un conductor; sub această valoare nu circulă aproape niciun curent.

3.6.3. LED-uri

O diodă electroluminescentă (LED) este o diodă care își transformă curentul de conducție în lumină vizibilă sau infraroșie. Luminozitatea variază proporțional cu curentul; culoarea este determinată de compoziția chimică a LED-ului, nu de circuitul de comandă.

Tensiuni directe tipice ale LED-urilor:

  • Roșu: 1,8 – 2,2 V

  • Verde sau galben: 2,0 – 2,4 V

  • Albastru sau alb: 2,8 – 3,4 V

Un curent de funcționare util pentru un LED indicator este de 5 – 20 mA. Curenții mai mari produc o luminozitate mai mare, dar scurtează durata de viață a LED-ului și pot depăși limita de comandă a pinului GPIO.

3.6.4. Rezistorul de limitare a curentului

Conectarea unui LED direct între un pin GPIO și masă ar permite circulația unui curent aproape nelimitat: odată atinsă tensiunea directă, LED-ul se comportă ca un scurtcircuit. Un rezistor serie între pin și LED stabilește curentul la o valoare sigură.

A circuit: GPIO pin connects through a resistor R to the anode of an LED; the LED's cathode goes to ground. Labels mark Vsupply at the pin, V_R across the resistor, Vf across the LED, and the current If flowing around the loop.

Un rezistor serie stabilește curentul prin LED.

Tensiunea de alimentare se împarte între rezistor și LED: LED-ul preia tensiunea sa directă, iar rezistorul preia restul. Conform legii lui Ohm:

R = (Vsupply - Vf) / If

Pentru un LED roșu (Vf 2.0 V) comandat de la un pin GPIO de 3,3 V la 10 mA:

R = (3.3 - 2.0) / 0.010 = 130 Ω

În practică, alegeți cea mai apropiată valoare standard mai mare (150 Ω sau 220 Ω). Rezultatul este un LED puțin mai slab luminos, dar cu o marjă de siguranță mai sănătoasă. Folosiți 200 – 470 Ω ca valoare implicită rezonabilă atunci când luminozitatea exactă nu contează.

3.6.5. De ce contează fiecare element

Forma fiecărui circuit de ieșire GPIO decurge din cele patru idei de mai sus:

  • Tensiunea stabilește energia disponibilă la pin. Un pin GPIO de 3,3 V are 3,3 V de utilizat pe orice este conectat între el și masă.

  • O diodă (în acest caz, un LED) consumă o parte din acea tensiune sub forma căderii sale directe și refuză să conducă în direcția greșită – ea stabilește în ce direcție și partea fixă.

  • Un rezistor de limitare a curentului consumă tensiunea rămasă și transformă bugetul rămas într-un curent controlat. Fără el, LED-ul ar absorbi orice curent poate furniza pinul – de obicei suficient pentru a distruge una sau ambele componente.

  • Legea lui Ohm este cea care face calculabilă valoarea rezistorului: cunoscând tensiunea rămasă și curentul dorit, R rezultă prin algebră.

Tensiunea, curentul, rezistența, diodele și o singură ecuație rearanjată sunt suficiente pentru a proiecta orice etaj de ieșire GPIO de bază.

Aceleași componente s-au ascuns în spatele LED-ului de pe placă tot timpul. machine.LED("LED_RED").on() aprinde LED-ul deoarece placa camerei oferă deja tot ce este în jurul lui – rezistorul de limitare a curentului, conductorul spre masă, LED-ul însuși – iar clasa doar comută GPIO-ul din siliciu aflat în spatele lor. Imaginea „o singură linie aprinde un LED” este adevărată; este doar un mod scurt de a spune „comandă acel circuit”. Înlăturați abstractizarea și exact circuitul de mai sus este ceea ce rămâne.

machine.Pin este același siliciu, expus fără componentele din jur. Scriptul controlează direct tensiunea pinului; dumneavoastră furnizați rezistorul (dimensionat prin legea lui Ohm), LED-ul și calea de întoarcere la masă. Aceleași patru idei revin, în combinații ușor diferite, în spatele eliminării rebound-ului la comutatoare, al filtrării PWM și al comenzii motoarelor.