3.6. Elektroniikan perusteet

Minkä tahansa ulkoisen laitteen ohjaaminen GPIO-nastasta vaatii piirin nastan toisella puolella. Kolme elektroniikan perusajatusta – jännite, virta ja niiden välinen suhde vastuksen kautta – esiintyvät jokaisessa tällaisessa piirissä.

3.6.1. Jännite, virta, resistanssi

  • Jännite (voltteja, V) on kahden piirin pisteen välinen potentiaaliero. Sirun käyttöjänniteväylä voi olla 3,3 V suhteessa maahan; ylätilaan ohjattu GPIO-nasta on samassa 3,3 V:ssä.

  • Virta (ampeereja, A, tai milliampeereja, mA) on varauksen kulku johdossa. Virta palaa aina sinne mistä se tuli, joten jotta virtaa kulkisi lainkaan, piirin on muodostettava täydellinen silmukka käyttöjännitteestä takaisin maahan.

  • Resistanssi (ohmeja, Ω) kuvaa, kuinka paljon reitti vastustaa tuota virtaa. Vastuksen tarkoitus on asettaa virta tunnettuun arvoon tunnetulla jännitteellä.

Ohmin laki sitoo ne yhteen:

Kolmeen alueeseen jaettu kolmio, jonka huipulla on V ja alareunassa I ja R; sen ympärillä näkyvät uudelleenjärjestetyt muodot V = IR, I = V/R, R = V/I.

Ohmin laki kolmessa muodossaan.

Sanoin: vastuksen yli oleva jännite on yhtä suuri kuin sen läpi kulkeva virta kerrottuna resistanssilla. Kun tietää mitkä tahansa kaksi kolmesta, saa kolmannen algebran avulla.

3.6.2. Diodit

Diodi on kaksinapainen komponentti, joka johtaa virtaa yhteen suuntaan (anodilta katodille) ja estää sen toiseen suuntaan.

Diodin piirrosmerkki -- oikealle osoittava kolmio pystysuoraa palkkia vasten -- jossa anodi on merkitty vasemmalle ja katodi oikealle. LED-versiossa symbolin viereen on lisätty kaksi ulospäin osoittavaa nuolta, jotka kuvaavat säteilevää valoa.

Diodi johtaa vain anodilta katodille. LED on diodi, joka säteilee valoa johtaessaan.

Diodilla on myös kynnysjännite (Vf) – jännitehäviö sen yli, kun virta kulkee johtavaan suuntaan. Kun syötetty jännite saavuttaa arvon Vf, diodi käyttäytyy suunnilleen kuin johto; sen alapuolella virtaa kulkee tuskin lainkaan.

3.6.3. LEDit

Valoa säteilevä diodi (LED) on diodi, joka muuntaa johtamisvirtansa näkyväksi tai infrapunavaloksi. Kirkkaus skaalautuu virran mukaan; värin määrää LEDin kemia, ei ohjaus.

Tyypillisiä LEDien kynnysjännitteitä:

  • Punainen: 1,8 – 2,2 V

  • Vihreä tai keltainen: 2,0 – 2,4 V

  • Sininen tai valkoinen: 2,8 – 3,4 V

Merkkivalo-LEDille hyödyllinen toimintavirta on 5 – 20 mA. Suuremmat virrat ovat kirkkaampia mutta lyhentävät LEDin elinikää ja voivat ylittää GPIO-nastan ohjausrajan.

3.6.4. Virtaa rajoittava vastus

LEDin kytkeminen suoraan GPIO-nastan ja maan väliin päästäisi lähes rajattoman virran kulkemaan: kun kynnysjännite saavutetaan, LED näyttää lähes oikosululta. Sarjavastus nastan ja LEDin välissä asettaa virran turvalliseen arvoon.

Piiri: GPIO-nasta kytkeytyy vastuksen R kautta LEDin anodille; LEDin katodi menee maahan. Merkinnät osoittavat Vsupply nastalla, V_R vastuksen yli, Vf LEDin yli ja virran If, joka kiertää silmukassa.

Sarjavastus asettaa LEDin virran.

Käyttöjännite jakautuu vastuksen ja LEDin kesken: LED pudottaa kynnysjännitteensä, vastus pudottaa loput. Ohmin lain mukaan:

R = (Vsupply - Vf) / If

Punaiselle LEDille (Vf 2.0 V), jota ohjataan 3,3 V:n GPIO-nastasta 10 mA:lla:

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

Käytännössä valitse lähin suurempi vakioarvo (150 Ω tai 220 Ω). Tuloksena on hieman himmeämpi LED ja terveempi turvamarginaali. Käytä 200 – 470 Ω järkevänä oletusarvona, kun tarkka kirkkaus ei ole tärkeää.

3.6.5. Miksi jokainen osa on tärkeä

Jokaisen GPIO-lähtöpiirin muoto seuraa edellä esitetyistä neljästä ajatuksesta:

  • Jännite asettaa nastalla käytettävissä olevan energian. 3,3 V:n GPIO:lla on 3,3 V kulutettavaksi sen ja maan väliin kytketyn minkä tahansa yli.

  • Diodi (tässä tapauksessa LED) kuluttaa osan tuosta jännitteestä kynnyshäviönään ja kieltäytyy johtamasta väärään suuntaan – se asettaa kumpaan suuntaan ja kiinteän osuuden.

  • Virtaa rajoittava vastus kuluttaa jäljellä olevan jännitteen ja muuntaa ylijääneen budjetin hallituksi virraksi. Ilman sitä LED vetäisi minkä tahansa virran, jonka nasta voi syöttää – yleensä riittävästi tuhotakseen toisen tai molemmat.

  • Ohmin laki tekee vastuksen arvosta laskettavan: kun tunnetaan ylijäänyt jännite ja haluttu virta, R ratkeaa algebran avulla.

Jännite, virta, resistanssi, diodit ja yksi uudelleenjärjestetty yhtälö riittävät jokaisen perustason GPIO-lähtöasteen suunnitteluun.

Samat osat ovat piiloutuneet sisäänrakennetun LEDin taakse koko ajan. machine.LED("LED_RED").on() sytyttää LEDin, koska kameran piirilevy tarjoaa jo kaiken sen ympärillä – virtaa rajoittavan vastuksen, johdon maahan, itse LEDin – ja luokka vain vaihtaa niiden takana olevan piin GPIO:n tilaa. Näkemys ”yksi rivi sytyttää LEDin” on totta; se on vain lyhyt tapa sanoa ”ohjaa tuota piiriä”. Riisu abstraktio pois, niin jäljelle jää täsmälleen edellä esitetty piiri.

machine.Pin on sama pii paljaana ilman ympäröiviä osia. Skripti ohjaa nastan jännitettä suoraan; sinä tarjoat vastuksen (mitoitettuna Ohmin lain mukaan), LEDin ja paluureitin maahan. Samat neljä ajatusta palaavat, hieman eri yhdistelmissä, kytkimen värähtelynvaimennuksen, PWM-suodatuksen ja moottoriohjauksen takana.