Lekcja 3: Opis podstawowych elementów i układów.

Płytka mikrokontrolera Arduino jest oczywiście sercem (właściwie mózgiem) naszych układów. Poniżej przedstawiono opis elementów.

  • Mikrokontroler: ATmega328
  • Napięcie: 5V
  • Napięcie zasilania (rekomendowane): 7-12V
  • Napięcia wejściowe: 6-20V
  • Piny wyjść cyfrowych: 14 (6 sztuk z wyjściem PWM)
  • Piny wejść analogowych: 6 (od A0 do A5)
  • Natężenie prądu stałego I/O Pin: 40 mA
  • Natężenie prądu dla pinu 3.3V: 50 mA
  • Pojemność pamięci Flash 32 KB (ATmega328) w tym 0.5 KB użyte przez bootloader
  • Pamięć SRAM: 2 KB (ATmega328)
  • Pamięć EEPROM: 1 KB (ATmega328)
  • Częstotliwość pracy: 16 MHz
Płytkę Arduino można zasilać na trzy sposoby:
  • Gniazdem USB [5V] - przy bezpośrednim połączeniu kablem USB z komputerem,
  • gniazdem JACK 2.1mm [7-12V] z dodatnim centralnym bolcem z zailacza zewnętrznego, baterii, akumulatorów,
  • za pomocą pinu Vin [7-12V] oraz pinów GND (ground) z baterii lub akumulatorów.
Pod żadnym pozorem nie wolno podłączać napięć zewnętrznych do pinów 3.3V i 5V! Te piny są wyjściami do zasilania innych urządzeń sterowanych przez Arduino.
Urządzenia zewnętrzne, w tym czujniki, silniki itp., można zasilać z płytki Arduino za pomocą wyjść 3.3V i 5V [maksymlany pobór prądu nie może przekroczyć 50mA], zaś elementy półprzewodnikowe z wyjść cyfrowych.
Diody TX i RX świecą gdy dane są transmitowane do lub wysyłane z mikrokontrolera w czasie komunikacji z komputerem przez port szeregowy USB. Przycisk Reset służy do zresetowania i zrestartowania ustawień mikrokontrolera.

Arduino IDE to aplikacja do szybkiego tworzenia, kontroli i kompilowania kodu, który można przesłać do mikrokontrolera. Jej okno przedstawiono poniżej.

W menu programu prócz standardowych poleceń, na uwagę zasługuje polecenie Sketch->Verify/Compile, którego zadaniem jest sprawdzanie poprawności napisanego kodu. Polecenie Sketch->Add file pozwala na dodanie dodatkowych plików, np. biliotek języka C/C++. W menu Tools mamy m.in. polecenie Board, które pozwala na wybór rodzaju mikrokontrolera oraz Serial port, którym można wybrać numer portu do którego podłączony jest przewód USB łączący komputer z Arduino.
W polu poleceń sterujących mamy kolejno: Verify, Upload, New, Open, Save i na koniec Serial monitor. Oczywiście polecenie Upload jest kluczowe, bo odpowiada za przesłanie napisanego kodu do pamięci mikrokontrolera. Jeśli przesłany kod będzie zawierał błąd, to kompilator zwróci jego opis w polu komunikatów wyjściowych. Polecenie Serial monitor włącza okno z transmitowanymi informacjami z mikrokontrolera do komutera przez port szeregowy USB. Będziemy je wykorzystywać np. do odczytu wartości zmierzonych przez jakiś czujnik podłączony do Arduino.
Zajmijmy się teraz układem z poprzedniej lekcji. Użyliśmy w nim m.in. płytki stykowej. Jest to element służący do połączeń różnych elementów elektronicznych bez potrzeby ich lutowania na stałe. Płytka składa się zazwyczaj z kilku pól połączonych ze sobą otworów. Na poniższym rysunku na zielono zaznaczono przykładowe połączenia otworów.


Jak widzimy, przykładowa płytka składa się z czterech głównych pól (poznajemy po przerwach między czerwonymi i niebieskimi liniami). Otwory wzdłuż czerwonej i niebieskiej linii są połączone ze sobą i służą odpowiednio do podlączania z plusem (+) zasilania i minusem (-) lub pinami GND. Należy zwrócić uwagę, że otwory wewnętrzne (oznaczone cyframi i literami) są połączone po 5 sztuk prostopadle do połączeń zasilających. Tak więc w układzie z poprzedniej lekcji prąd płynie wzdłuż linii czerwonej na rysunku poniżej.

Następnym elementem użytym przez nas w poprzedniej lekcji była dioda LED. Dioda elektroluminescencyjna lub inaczej - dioda świecąca z ang. Light-Emitting Diode to półprzewodnikowy przyrząd optoelektroniczny promieniujący światło o zadanym kolorze (również w obszarze niewidzialnym dla ludzkiego oka). Na poniższym rusynku widzimy oznaczenia i symbol diody LED.

W diodzie elektroluminescencyjnej mamy do czynienia z tzw. elektroluminescencją, przy wytworzeniu której źródłem energii pobudzającej jest prąd elektryczny przez nią płynący. Świecenie w półprzewodniku powstaje w wyniku rekombinacji swobodnych nośników ładunku w złączu p-n, gdy jest ono spolaryzowane w kierunku przewodzenia. Jednym słowem musimy odpowiednio włączyć diodę w układ. Jeśli nie świeci to prawdopodobnie włączyliśmy ją odwrotnie (w kierunku, w którym nie przewodzi prądu). Na zdjęciach widzimy, że z lewej dioda była podłączona w kierunku zaporowym, czyli nie świeciła a miernik wskazywał wartość 1 - brak prądu. Na zdjęciu z prawej widzimy, że dioda świeci i miernik wskazuje wartość oporu diody. Dlatego należy pamiętać by diodę włączać do masy (-) krótszą nóżką (katodą), zaś dłuższą nóżką (anodą) do zasilania (+).

Następnym elementem użytym przez nas w poprzednim projekcie był opornik. Jego zadaniem jest zwiększenie oporu w obwodzie, przez co 'odkłada' się na nim napięcie powodując jednocześnie obniżenie prądu płynącego przez diodę (oba elementy włączone są w szeregu).
Opornik inaczej zwany rezystorem (z łac. resistere, stawiać opór) to element bierny obwodu elektrycznego, wykorzystywany do ograniczenia prądu w nim płynącego. Jest elementem liniowym czyli odkładający się na nim spadek napięcia jest wprost proporcjonalny do prądu płynącego przez opornik (zgodnie z prawem Ohma I = U R ).
Przy przepływie prądu opornik zamienia energię elektryczną w ciepło (grzeje się).
Oporniki mają swoje oznaczenia wykonane w postaci kolorowych pasków oznaczających poszczególne wartości oporu zgodnie z tabelą przedstawioną poniżej.

Kolor Wartość Mnożnik Tolerancja
± %
Współczynnik temp.
± ppm K
1 pasek 2 pasek 3 pasek 4 pasek Ostatni pasek
brak       20  
srebrny     0,01 Ω 10  
złoty     0,1 Ω 5  
czarny 0 x 1 Ω 20 200
brązowy 1 1 x 10 Ω 1 100
czerwony 2 2 x 100 Ω 2 50
pomarańczowy 3 3 x 1 kΩ 3 15
żółty 4 4 x 10 kΩ 0,1 25
zielony 5 5 x 100 kΩ 0,5 20
niebieski 6 6 x 1 MΩ 0,25 10
fioletowy 7 7 x 10 MΩ 0,1 5
szary 8 8   0,05 1
biały 9 9      

Przydatną aplikacją dla początkujących elektroników jest gResistor, której zrzut ekranu przedstawiamy poniżej.

Warto umieć dokonywać pomiarów oporów. Czasem zdarza się, że opornik ma niewyraźne paski opisu. Wtedy przyda nam się multimetr cyfrowy. Urządenia tego typu nie są drogie a oferują wiele przydatnych funkcji m.in.: pomiar napięć i natężeń prądów stałych oraz zmiennych, pomiar oporu, a niektóre z nich dodatkowo pomiar: temperatury, pojemności kondensatorów, częstotliwości, a nawet test diod czy tranzystorów.
Ważną zasadą pomiarów jest to, że zawsze nastawiamy tzw. zakres pomiarowy na początku na najwyższy i gdy jest on zbyt duży to stopniowo go zmniejszamy obserwując wskazania miernika. Robimy to by nie uszkodzić urządzenia np. zbyt dużym napięciem lub prądem.
Załóżmy, że mamy do pomiaru opór opornika o nieznanej wielkości. Przełączamy zakres przyrządu na najwyższy opór. Podłączamy opornik do zacisków przewodów i obserwujemy wskazania. Jeśli wartości są zbyt małe, przełączamy zakres na mniejszy. Poniżej przedstawiono pomiar oporu opornika i na pierwszym zdjęciu widzimy zmniejszony już zakres na 20k (20 kiloohmów - 20 tysięcy ohm). Widzimy, że miernik wskazuje wartość 0,11.

Na drugim zdjęciu zakres został zmniejszony do 200 ohm. Widzimy, że wartość wskazana to 98,2 ohma. Dlaczego nie 100?... Dlatego, że każdy opornik ma swoją tolerację, czyli możliwy błąd. Reasumując widzimy, że mamy do czynienia z opornikiem 100ohm.

Poniżej mamy jeszcze jeden pomiar. Na pierwszym zdjęciu zakres ustawiony jest na 200k (200 kiloohm - 200 tysięcy ohm). Wskazana wtedy wartość to 4,6 kohm. Na drugim zdjęciu zakres ustawiono na 20k (20 kiloohm - 20 tysięcy ohm) i tym razem wskazanie jest dokładniejsze i wynosi 4,67kohm.




Warto też przypomnieć sobie kilka wiadomości z fizyki, które pozwolą na łatwe posługiwanie się orpornikami, przeliczaniem ich wartości i obliczaniem płynących w obwodzie prądów.
Szeregowe łączenie oporów

Ze wzoru na rysunku wynika, że szeregowo połączone opory sumują się dając całkowity opór zastępczy.
Równoległe łączenie oporów

W równoległym połączeniu oporników, odwrotność oporu całkowitego jest równa sumie odwrotności poszczególnych oporników.

Teraz warto skupić się jeszcze na schemacie, który obowiązywał nas w poprzedniej lekcji. W aplikacji Fritzing możemy przełączać widok naszego projektu na trzy różne sposoby: Breadboard, Schematic i PCB. Oczywiście na razie interesują nas tylko dwa pierwsze widoki.

Widok Breadboard - dla początkujących:

Widok Schematic - podstawowy zapis schematów elektronicznych:

Widok PCB - widok do tworzenia ścieżek na płytkach drukowanych:



Teraz zajmiemy sie kodem do naszego ostatniego projektu. W oknie Arduino IDE napisaliśmy kod:

             void setup(){
                        pinMode(13,OUTPUT);
                        }

            void loop(){
                        digitalWrite(13, HIGH);
                        delay(100);
                        digitalWrite(13, LOW);
                        delay(100);
                        }
         

Kod napisany jest w języku wysokiego poziomu o nazwie Python. Składa się z dwóch funkcji. Jedna z nich o nazwie setup odpowiada za ustawienia początkowe systemu - w tym wypadku linia 2 zawiera informację, że będziemu używali na płytce Arduino cyfrowego pinu nr 13 do zasilania elementu zewnętrznego. Słowo kluczowe void znajdujące się przed nazwą funkcji oznacza, że funkcja nie zwraca żadanej wartości. W innym przypadku mógłby się tam znaleźć typ zwracanej wartości.
W linii 5 zaczyna się bezargumentowa funkcja loop(), która wykonuje zapętlone linie kodu wewnątrz nawiasów klamrowych między liniami 6 i 10. W 6 linii znajduje się funkcja digitalWrite(13, HIGH), której zadaniem jest wysłanie cyfrowego sygnału z zadeklarowanego wcześniej pinu nr 13. Słowo HIGH - oznacza włączenie sygnału (zapalenie diody LED). Następnie w linii 7 znajduje się funkcja delay(100), której zadaniem jest zatrzymanie wykonania programu na 0,1 sekundy. Wartość w nawiasach tej funkcji podawana jest w milisekundach, czyli tysięcznych częściach sekundy.
Oczywiście jasne jest, że linia 10 wyłącza sygnał na pinie 13 (gasi diodę LED), a następna funkcja znów przerywa działanie programu na 0,1s.

W ten sposób przebrnęliśmy przez pierwszy projekt. Następny będzie bazował na poprzednim ale będzie ciekawszy.



Powrót do spisu materiałów

Nowy zakup

Zakupiliśmy nowy moduł Arduino Leonardo i Yun z obsługą sieci przez Ethernet i WiFi.

Nowe czujniki

Mamy nowe czujniki żyroskopowe. Możemy kontrolować położenie robota.

Zajęcia otwarte

Zapraszamy na zajęcia otwarte uczniów klas SP, które odbywają się w każdy poniedziałek w godz. 15.00-16.00 (Prosimy o kontakt w celu zebrania grupy).