3.6. Elektronikai alapok

Bármilyen külső eszköz GPIO lábról történő meghajtásához áramkörre van szükség a láb másik oldalán. Az alapvető elektronika három fogalma – a feszültség, az áram, és a kettő közötti összefüggés egy ellenálláson keresztül – minden ilyen áramkörben megjelenik.

3.6.1. Feszültség, áram, ellenállás

  • A feszültség (volt, V) az áramkör két pontja közötti potenciálkülönbség. A chip tápsínje a földhöz képest például 3,3 V-on lehet; egy magasra hajtott GPIO láb ugyanazon a 3,3 V-on van.

  • Az áram (amper, A, vagy milliamper, mA) a töltés áramlása egy vezetéken keresztül. Az áram mindig oda tér vissza, ahonnan jött, ezért bármilyen áram csak akkor folyhat, ha az áramkör teljes hurkot alkot a táptól vissza a földig.

  • Az ellenállás (ohm, Ω) azt fejezi ki, mennyire akadályozza a vezeték ezt az áramlást. Egy ellenállás célja, hogy ismert feszültség mellett ismert értékre állítsa be az áramot.

Az Ohm-törvény köti össze őket:

Egy háromszög három területre osztva, felül V, alul I és R felirattal; körülötte megjelennek az átrendezett alakok: V = IR, I = V/R, R = V/I.

Az Ohm-törvény három alakja.

Szavakkal: egy ellenálláson eső feszültség egyenlő a rajta átfolyó áram és az ellenállás szorzatával. Ha a három közül bármelyik kettőt ismerjük, a harmadik algebrai úton adódik.

3.6.2. Diódák

A dióda egy kétkivezetéses alkatrész, amely az áramot az egyik irányban (az anód felől a katód felé) vezeti, a másik irányban pedig blokkolja.

Egy dióda kapcsolási rajzjele -- egy jobbra mutató, egy függőleges vonalba futó háromszög -- balra anód, jobbra katód felirattal. A LED-változat két kifelé mutató nyilat tesz a jelhez, jelezve a kibocsátott fényt.

A dióda kizárólag az anódtól a katód felé vezet. A LED olyan dióda, amely vezetés közben fényt bocsát ki.

A diódának nyitóirányú feszültsége (Vf) is van – ez a rajta eső feszültség, amikor az áram a vezető irányban folyik. Amint az alkalmazott feszültség eléri a Vf értéket, a dióda nagyjából úgy viselkedik, mint egy vezeték; ez alatt szinte semmi áram nem folyik.

3.6.3. LED-ek

A fénykibocsátó dióda (LED) olyan dióda, amely a vezetési áramát látható vagy infravörös fénnyé alakítja. A fényerő az árammal arányosan változik; a színt a LED kémiai összetétele határozza meg, nem a meghajtás.

Tipikus LED nyitóirányú feszültségek:

  • Vörös: 1,8 – 2,2 V

  • Zöld vagy sárga: 2,0 – 2,4 V

  • Kék vagy fehér: 2,8 – 3,4 V

Egy jelző LED esetén a hasznos üzemi áram 5 – 20 mA. A nagyobb áramok fényesebbek, de rövidítik a LED élettartamát, és meghaladhatják a GPIO láb meghajtási korlátját.

3.6.4. Az áramkorlátozó ellenállás

Ha egy LED-et közvetlenül egy GPIO láb és a föld közé kötnénk, szinte korlátlan áram folyna: amint elérjük a nyitóirányú feszültséget, a LED gyakorlatilag rövidzárként viselkedik. A láb és a LED közé iktatott soros ellenállás biztonságos értékre állítja be az áramot.

Egy áramkör: a GPIO láb egy R ellenálláson keresztül a LED anódjára csatlakozik; a LED katódja a földre megy. A feliratok jelölik a Vsupply feszültséget a lábnál, a V_R feszültséget az ellenálláson, a Vf feszültséget a LED-en és az If áramot, amely a hurokban folyik.

Egy soros ellenállás beállítja a LED áramát.

A tápfeszültség megoszlik az ellenállás és a LED között: a LED-en a nyitóirányú feszültsége esik, az ellenállás pedig a maradékot veszi fel. Az Ohm-törvény szerint:

R = (Vsupply - Vf) / If

Egy vörös LED esetén (Vf 2.0 V), amelyet egy 3,3 V-os GPIO lábról 10 mA árammal hajtunk meg:

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

A gyakorlatban válaszd a legközelebbi nagyobb szabványos értéket (150 Ω vagy 220 Ω). Az eredmény egy kissé halványabb LED, egészségesebb biztonsági tartalékkal. Ha a pontos fényerő nem számít, a 200 – 470 Ω jó alapértelmezett választás.

3.6.5. Miért fontos minden egyes elem

Minden GPIO kimeneti áramkör alakja a fenti négy gondolatból következik:

  • A feszültség határozza meg a lábnál rendelkezésre álló energiát. Egy 3,3 V-os GPIO 3,3 V-tal gazdálkodhat azon keresztül, ami a láb és a föld közé van bekötve.

  • Egy dióda (ebben az esetben egy LED) ennek a feszültségnek egy részét felemészti a nyitóirányú esése formájában, és nem hajlandó rossz irányban vezetni – ez határozza meg a melyik irányt és a rögzített részt.

  • Egy áramkorlátozó ellenállás felemészti a maradék feszültséget, és a fennmaradó keretet szabályozott árammá alakítja. Nélküle a LED annyi áramot venne fel, amennyit a láb képes szolgáltatni – ami általában elég ahhoz, hogy az egyiket vagy mindkettőt tönkretegye.

  • Az Ohm-törvény teszi kiszámíthatóvá az ellenállás értékét: adott maradék feszültség és kívánt áram mellett R algebrai úton adódik.

A feszültség, az áram, az ellenállás, a diódák és egy átrendezett egyenlet elegendő minden alapvető GPIO kimeneti fokozat megtervezéséhez.

Ugyanezek az alkatrészek mindvégig a beépített LED mögött rejtőztek. A machine.LED("LED_RED").on() azért világítja meg a LED-et, mert a kamera kártyája már mindent biztosít körülötte – az áramkorlátozó ellenállást, a földhöz vezető vezetéket, magát a LED-et –, az osztály pedig csupán a mögöttük lévő szilícium GPIO-ját kapcsolgatja. Az „egy sor felkapcsol egy LED-et” nézet igaz; ez csak egy rövid mód annak kimondására, hogy „hajtsd meg azt az áramkört”. Ha lefejtjük az absztrakciót, pontosan a fenti áramkör marad meg.

A machine.Pin ugyanaz a szilícium, csak a körülvevő alkatrészek nélkül kitéve. A szkript közvetlenül vezérli a láb feszültségét; az ellenállást (az Ohm-törvénnyel méretezve), a LED-et és a földhöz vezető visszatérő utat neked kell biztosítanod. Ugyanaz a négy gondolat tér vissza, kissé eltérő kombinációkban, a kapcsolók pergésmentesítése, a PWM-szűrés és a motormeghajtás mögött is.