3.6. Osnove elektronike

Za upravljanje bilo čime vanjskim s GPIO pina potreban je sklop s druge strane pina. Tri ideje iz osnovne elektronike – napon, struja i odnos među njima preko otpornika – pojavljuju se u svakom takvom sklopu.

3.6.1. Napon, struja, otpor

  • Napon (volti, V) je razlika potencijala između dvije točke u sklopu. Naponska sabirnica čipa može biti na 3,3 V u odnosu na masu; GPIO pin postavljen u visoko stanje nalazi se na istih 3,3 V.

  • Struja (amperi, A, ili miliamperi, mA) je protok naboja kroz vodič. Struja se uvijek vraća tamo odakle je došla, pa da bi struja uopće tekla, sklop mora tvoriti zatvorenu petlju od napajanja natrag do mase.

  • Otpor (omi, Ω) je mjera koliko se put opire tom protoku. Svrha otpornika je postaviti struju na poznatu vrijednost pri poznatom naponu.

Ohmov zakon ih povezuje:

Trokut podijeljen u tri područja označena s V na vrhu, I i R na dnu; preuređeni oblici V = IR, I = V/R, R = V/I prikazani su oko njega.

Ohmov zakon u svoja tri oblika.

Riječima: napon na otporniku jednak je struji kroz njega pomnoženoj s otporom. Poznavanje bilo koje dvije od tri veličine daje treću algebrom.

3.6.2. Diode

Dioda je dvopolna komponenta koja provodi struju u jednom smjeru (od anode prema katodi) i blokira je u drugom.

Shematski simbol diode -- trokut koji pokazuje udesno prema okomitoj crti -- s anodom označenom slijeva i katodom zdesna. LED varijanta dodaje dvije strelice prema van pokraj simbola koje označavaju emitiranu svjetlost.

Dioda provodi samo od anode prema katodi. LED je dioda koja emitira svjetlost dok provodi.

Dioda također ima propusni napon (Vf) – pad napona na njoj kada struja teče u smjeru provođenja. Kada primijenjeni napon dosegne Vf, dioda se ponaša otprilike kao vodič; ispod njega gotovo nikakva struja ne teče.

3.6.3. LED diode

Svjetleća dioda (LED) je dioda koja svoju struju provođenja pretvara u vidljivu ili infracrvenu svjetlost. Svjetlina raste sa strujom; boju određuje kemijski sastav LED-a, a ne pobuda.

Tipični propusni naponi LED dioda:

  • Crvena: 1,8 – 2,2 V

  • Zelena ili žuta: 2,0 – 2,4 V

  • Plava ili bijela: 2,8 – 3,4 V

Korisna radna struja za indikatorsku LED diodu je 5 – 20 mA. Veće struje su svjetlije, ali skraćuju životni vijek LED-a i mogu premašiti strujno ograničenje GPIO pina.

3.6.4. Otpornik za ograničavanje struje

Izravno spajanje LED diode između GPIO pina i mase dopustilo bi gotovo neograničen protok struje: kada se dosegne propusni napon, LED izgleda gotovo poput kratkog spoja. Serijski otpornik između pina i LED-a postavlja struju na sigurnu vrijednost.

Sklop: GPIO pin se preko otpornika R spaja na anodu LED diode; katoda LED-a ide na masu. Oznake označavaju Vsupply na pinu, V_R na otporniku, Vf na LED-u te struju If koja teče oko petlje.

Serijski otpornik postavlja struju kroz LED.

Napon napajanja dijeli se između otpornika i LED diode: LED otpada svoj propusni napon, otpornik otpada ostatak. Prema Ohmovom zakonu:

R = (Vsupply - Vf) / If

Za crvenu LED diodu (Vf 2.0 V) pobuđenu s 3,3 V GPIO pina pri 10 mA:

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

U praksi odaberite najbližu veću standardnu vrijednost (150 Ω ili 220 Ω). Rezultat je nešto tamniji LED s većom sigurnosnom marginom. Posegnite za 200 – 470 Ω kao razumnu zadanu vrijednost kada točna svjetlina nije bitna.

3.6.5. Zašto je svaki dio važan

Oblik svakog GPIO izlaznog sklopa proizlazi iz četiri gore navedene ideje:

  • Napon određuje energiju dostupnu na pinu. GPIO od 3,3 V ima 3,3 V na raspolaganju za sve što je spojeno između njega i mase.

  • Dioda (u ovom slučaju LED) troši dio tog napona kao svoj propusni pad i odbija provoditi u krivom smjeru – ona određuje u kojem smjeru i fiksni udio.

  • Otpornik za ograničavanje struje troši preostali napon i preostali budžet pretvara u kontroliranu struju. Bez njega bi LED povlačio koliko god struje pin može pružiti – obično dovoljno da uništi jedno ili oboje.

  • Ohmov zakon je ono što čini vrijednost otpornika izračunljivom: uz preostali napon i željenu struju, R proizlazi algebrom.

Napon, struja, otpor, diode i jedna preuređena jednadžba dovoljni su za projektiranje svakog osnovnog GPIO izlaznog stupnja.

Isti dijelovi cijelo su vrijeme bili skriveni iza LED-a na ploči. machine.LED("LED_RED").on() pali LED jer ploča kamere već osigurava sve oko njega – otpornik za ograničavanje struje, vodič do mase, sam LED – a klasa samo prebacuje GPIO silicija iza njih. Pogled „jedna linija pali LED” je istinit; to je samo kratak način da se kaže „pobudi taj sklop”. Uklonite apstrakciju i ostaje točno gore prikazani sklop.

machine.Pin je isti silicij izložen bez okolnih dijelova. Skripta izravno upravlja naponom pina; vi osiguravate otpornik (dimenzioniran Ohmovim zakonom), LED i povratni put do mase. Iste četiri ideje vraćaju se, u nešto drukčijim kombinacijama, iza prigušenja sklopki, PWM filtriranja i pobude motora.