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:

Un triunghi împărțit în trei regiuni etichetate cu V în partea de sus, I și R în partea de jos; în jurul lui apar formele rearanjate V = IR, I = V/R, R = V/I.

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ă.

Simbolul schematic al unei diode -- un triunghi care indică spre dreapta spre o bară verticală -- cu anodul marcat în stânga și catodul în dreapta. O variantă LED adaugă două săgeți orientate spre exterior lângă simbol, indicând lumina emisă.

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ă.

Un circuit: pinul GPIO se conectează printr-un rezistor R la anodul unui LED; catodul LED-ului merge la masă. Etichetele marchează Vsupply la pin, V_R pe rezistor, Vf pe LED și curentul If care circulă în buclă.

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.