3.6. Podstawy elektroniki¶
Sterowanie czymkolwiek zewnętrznym z pinu GPIO wymaga obwodu po drugiej stronie pinu. Trzy pojęcia z podstaw elektroniki – napięcie, prąd i zależność między nimi poprzez rezystor – pojawiają się w każdym takim obwodzie.
3.6.1. Napięcie, prąd, rezystancja¶
Napięcie (wolty, V) to różnica potencjałów między dwoma punktami obwodu. Szyna zasilania układu może mieć 3,3 V względem masy; pin GPIO wysterowany w stan wysoki ma to samo napięcie 3,3 V.
Prąd (ampery, A, lub miliampery, mA) to przepływ ładunku przez przewód. Prąd zawsze wraca tam, skąd wypłynął, więc aby jakikolwiek prąd mógł płynąć, obwód musi tworzyć zamkniętą pętlę od zasilania z powrotem do masy.
Rezystancja (omy, Ω) to miara tego, jak bardzo droga przeciwstawia się temu przepływowi. Zadaniem rezystora jest ustawienie prądu na znaną wartość przy znanym napięciu.
Prawo Ohma wiąże je ze sobą:
Prawo Ohma w trzech postaciach.¶
Słownie: napięcie na rezystorze równa się prądowi płynącemu przez niego pomnożonemu przez rezystancję. Znając dowolne dwie z tych trzech wielkości, trzecią uzyskuje się algebraicznie.
3.6.2. Diody¶
Dioda to dwuzaciskowy element, który przewodzi prąd w jednym kierunku (od anody do katody), a blokuje go w drugim.
Dioda przewodzi tylko od anody do katody. LED to dioda, która podczas przewodzenia emituje światło.¶
Dioda ma także napięcie przewodzenia (Vf) – spadek napięcia na niej, gdy prąd płynie w kierunku przewodzenia. Gdy przyłożone napięcie osiągnie Vf, dioda zachowuje się mniej więcej jak przewód; poniżej tej wartości prąd praktycznie nie płynie.
3.6.3. Diody LED¶
Dioda elektroluminescencyjna (LED) to dioda, która zamienia swój prąd przewodzenia na światło widzialne lub podczerwone. Jasność rośnie wraz z prądem; kolor wynika z chemii diody LED, a nie ze sterowania.
Typowe napięcia przewodzenia diod LED:
Czerwona: 1,8 – 2,2 V
Zielona lub żółta: 2,0 – 2,4 V
Niebieska lub biała: 2,8 – 3,4 V
Praktyczny prąd roboczy dla diody LED sygnalizacyjnej to 5 – 20 mA. Wyższe prądy dają większą jasność, ale skracają żywotność diody LED i mogą przekroczyć limit obciążalności pinu GPIO.
3.6.4. Rezystor ograniczający prąd¶
Podłączenie diody LED bezpośrednio między pinem GPIO a masą pozwoliłoby na przepływ niemal nieograniczonego prądu: po osiągnięciu napięcia przewodzenia dioda LED wygląda niemal jak zwarcie. Rezystor szeregowy między pinem a diodą LED ustawia prąd na bezpieczną wartość.
Rezystor szeregowy ustawia prąd diody LED.¶
Napięcie zasilania dzieli się między rezystor a diodę LED: dioda LED pochłania swoje napięcie przewodzenia, a rezystor pochłania resztę. Zgodnie z prawem Ohma:
R = (Vsupply - Vf) / If
Dla czerwonej diody LED (Vf ≈ 2.0 V) sterowanej z pinu GPIO 3,3 V prądem 10 mA:
R = (3.3 - 2.0) / 0.010 = 130 Ω
W praktyce wybiera się najbliższą większą wartość standardową (150 Ω lub 220 Ω). W efekcie dioda LED świeci nieco słabiej, ale ma zdrowszy margines bezpieczeństwa. Sięgnij po 200 – 470 Ω jako rozsądną wartość domyślną, gdy dokładna jasność nie ma znaczenia.
3.6.5. Dlaczego każdy element ma znaczenie¶
Kształt każdego obwodu wyjścia GPIO wynika z czterech powyższych idei:
Napięcie określa energię dostępną na pinie. Pin GPIO 3,3 V ma do dyspozycji 3,3 V do rozdysponowania na to, co jest podłączone między nim a masą.
Dioda (w tym przypadku dioda LED) pochłania część tego napięcia jako swój spadek przewodzenia i nie przewodzi w niewłaściwym kierunku – ustala kierunek oraz stały udział.
Rezystor ograniczający prąd pochłania pozostałe napięcie i zamienia pozostały zapas w kontrolowany prąd. Bez niego dioda LED pobierałaby tyle prądu, ile pin może dostarczyć – zwykle wystarczająco dużo, by zniszczyć jeden albo oba elementy.
Prawo Ohma to to, co czyni wartość rezystora obliczalną: mając pozostałe napięcie i pożądany prąd,
Rwynika z przekształcenia algebraicznego.
Napięcie, prąd, rezystancja, diody i jedno przekształcone równanie wystarczą, by zaprojektować każdy podstawowy stopień wyjściowy GPIO.
Te same elementy przez cały czas kryły się za wbudowaną diodą LED. machine.LED("LED_RED").on() zapala diodę LED, ponieważ płytka kamery już zapewnia wszystko wokół niej – rezystor ograniczający prąd, przewód do masy, samą diodę LED – a klasa po prostu przełącza GPIO krzemu za nimi. Pogląd, że „jedna linijka zapala diodę LED”, jest prawdziwy; to po prostu skrótowe ujęcie stwierdzenia „steruj tym obwodem”. Po zdjęciu abstrakcji pozostaje dokładnie powyższy obwód.
machine.Pin to ten sam krzem udostępniony bez otaczających elementów. Skrypt steruje napięciem pinu bezpośrednio; rezystor (dobrany prawem Ohma), diodę LED oraz drogę powrotną do masy dostarczasz ty. Te same cztery idee powracają, w nieco innych kombinacjach, za eliminacją drgań styków przełącznika, filtrowaniem PWM i sterowaniem silnikiem.