Spis treści:
Arduino to uwielbiana przez dziesiątki tysięcy elektroników na całym świecie platforma, składająca się z modułów głównych z mikrokontrolerami, a także szeregu nakładek i modułów dodatkowych, które pozwalają rozszerzyć możliwości środowiska o dalsze funkcjonalności. Dodatkową „składową” platformy jest doskonale przygotowane środowisko programistyczne, w którym można nie tylko napisać oprogramowanie, ale także skompilować je i wgrać do płytki. Arduino IDE dysponuje wbudowanymi funkcjami, znacznie ułatwiającymi komunikację z płytką i np. wyświetlanie danych pomiarowych w postaci odświeżanego na żywo wykresu. Rozpoczęcie przygody z mikrokontrolerami zdecydowanie ułatwi znajomość pewnych podstawowych pojęć, niezbędnych zresztą każdemu elektronikowi. Z naszego artykułu dowiesz się, czym tak naprawdę Arduino jest i jak należy zaplanować proces nauki tego środowiska, żeby w możliwie krótkim czasie uzyskać wymierne efekty.
Mikrokontroler, czyli miniaturowy komputer o wielkich możliwościach
Arduino to rodzina płytek drukowanych, czyli gotowych układów elektronicznych, które składają się z mikrokontrolera oraz dodatkowych obwodów, umożliwiających jego pracę. Mikrokontroler stanowi swego rodzaju miniaturowy komputer, zamknięty w obudowie o wielkości kilku – kilkunastu milimetrów. W rzeczywistości jest to tak naprawdę układ scalony, który w swej mikroskopijnej, krzemowej strukturze zawiera miliony elementów elektronicznych i został zaprojektowany w taki sposób, aby możliwe było wykonywanie przy jego pomocy operacji zapisanych w postaci programu. Program wgrywamy do wbudowanej pamięci mikrokontrolera (tzw. pamięci flash), natomiast wszelkie dane potrzebne w czasie pracy (np. do wykonywania obliczeń czy zapisywania wyników pomiarów lub napisów zmienianych w trakcie działania układu) trafiają do pamięci statycznej RAM, określonej też jako SRAM. Dodatkowo w strukturze mikrokontrolera znajduje się też pamięć EEPROM. Służy ona do rejestrowania rzadko zmienianych danych, takich jak informacje dotyczące kalibracji czujników lub adresy urządzenia, jeżeli komunikuje się ono z innymi sprzętami np. przez internet.
W strukturze mikrokontrolera, oprócz wymienionych trzech rodzajów pamięci, znajduje się także szereg bloków peryferyjnych, czyli specjalnych struktur odciążających procesor podczas wykonywania niektórych operacji. Innym zadaniem „peryferiów” jest umożliwienie mikrokontrolerowi komunikacji ze światem zewnętrznym (taką funkcję pełni np. przetwornik analogowo-cyfrowy – ADC, który pozwala na pomiar sygnałów elektrycznych, a następnie konwertowanie wyników pomiarów do postaci zrozumiałej dla programu wykonywanego w mikrokontrolerze). W rzeczywistości sercem mikrokontrolera, tak jak i każdego innego procesora, również w komputerach PC, jest tzw. jednostka arytmetyczno-logiczna (ALU). Zawiaduje ona pracą procesora, wykonuje program, dokonuje obliczeń, a także przetwarza i zapisuje dane wpływające do mikrokontrolera lub przesyłane z niego do innych urządzeń.
Arduino – moduły główne i shieldy
Każda płytka Arduino, zwana modułem głównym (np. Arduino Uno, Arduino Nano czy Arduino Mega) zawiera w sobie większy lub mniejszy mikrokontroler, a także dodatkowe bloki, służące do komunikacji płytki z komputerem (za pośrednictwem portu USB), zapewniające stabilne zasilanie oraz właściwe rozpoczęcie pracy (tzw. obwód reset). Kolejnym ważnym elementem modułów głównych są złącza – umożliwiają one podłączenie do Arduino innych elementów, modułów, a nawet całych urządzeń. Tego typu płytki, rozszerzające możliwości modułu głównego, określane są w świecie Arduino mianem „shield”. Najczęściej wpina się je w gniazda znajdujące się na płytce głównej w taki sposób, aby w razie potrzeby możliwe było ich odłączenie i zamiana albo też dodanie kolejnych modułów. Wszystkie nakładki shield muszą gwarantować kompatybilność z Arduino, zarówno pod względem elektrycznym (dany styk złącza musi odpowiadać funkcji, jaka jest przewidziana w płytce głównej – masa zasilania, wejście/wyjście cyfrowe zwane z ang. GPIO itp.). Drugi warunek to kompatybilność mechaniczna: wszystkie złącza muszą pasować – niczym dobrze ułożone puzzle – do płytki głównej.
Niezbędne podstawy elektroniczne
W odróżnieniu od prostszych układów elektronicznych, które nie bazują na mikrokontrolerze, w przypadku Arduino układ sam z siebie nie wykona żadnych działań. Dopiero wgranie programu niejako „ożywia” płytkę i pozwala na realizację określonych funkcji założonych przez projektanta. Dlatego właśnie musisz zapoznać się z jednej strony z podstawami programowania, a z drugiej strony – z pewnymi podstawowymi pojęciami z zakresu elektroniki. Do niezbędnego arsenału wiedzy należą oczywiście wszystkie najważniejsze wielkości fizyczne, używane w elektronice i elektryce, czyli: prąd, napięcie, rezystancja (opór elektryczny), częstotliwość. Oprócz tego warto znać także pewne podstawowe wzory, np. prawo Ohma i obydwa prawa Kirchhoffa. Wbrew pozorom, „ilość” matematyki, którą trzeba znać, aby móc sprawnie używać Arduino, nie jest zbyt duża, jednak znajomość ta jest konieczna, aby można było w pełni świadomie wykorzystywać wszystkie możliwości opisywanego środowiska.
Kolejnym ważnym obszarem do przyswojenia są oczywiście podstawowe elementy elektroniczne. Kluczowa jest dla Ciebie znajomość elementów biernych, czyli pasywnych, takich jak: rezystory (oporniki), kondensatory, czy też elementy indukcyjne (cewki czyli dławiki). Przeanalizuj także zagadnienia elementów półprzewodnikowych, czyli aktywnych (np. diod prostowniczych, diod Zenera, diody LED). Oczywiście nauka o kwantowych podstawach działania półprzewodników jest trudna i nie warto się w nią zagłębiać na początku swojej elektronicznej drogi, trzeba jednak znać pewne zasady, np. nazewnictwo wyprowadzeń tranzystorów. Jeśli wiesz, do czego służy baza, emiter i kolektor w tranzystorze bipolarnym oraz jak należy je podłączyć, jesteś na dobrej drodze, aby wysterować za pomocą Arduino silnik lub przekaźnik, który załączy większe obciążenie: lampę lub jakieś urządzenie sieciowe. Ważna dla Ciebie będzie znajomość podstawowych „cegiełek”, czyli bloków funkcjonalnych, spotykanych praktycznie we wszystkich układach elektronicznych. Należą do nich np. obwody pracy poszczególnych rodzajów tranzystorów, sposoby sterowania silnikiem w robocie mobilnym lub pewne podstawowe obwody zasilania, które są niezbędne by w ogóle móc uruchomić jakiekolwiek układy elektroniczne.
Arduino krok po kroku
Choć w tej chwili może Ci się wydawać, że informacji do przyswojenia jest bardzo wiele, to tak naprawdę nikt nie poznaje wszystkich wymienionych zagadnień od razu. Wdrażanie w podstawy elektroniki najlepiej zacząć od dobrego kursu (więcej o tym w sekcji „Najpopularniejsze książki i kursy o Arduino”). Wiele kursów on-line dostępnych za darmo posiada także silne wsparcie w postaci gotowych zestawów elementów. Pozwalają one bez większego problemu skompletować niezbędne zasoby podzespołów elektronicznych i rozpocząć przygodę z elektroniką bez konieczności odwiedzania specjalistycznych sklepów elektronicznych. Co bardzo ważne, w przypadku Arduino można – niemal równocześnie z poznawaniem podstaw elektroniki – uczyć się także podstaw programowania. Tu wszelkiego rodzaju pomocy naukowych jest naprawdę mnóstwo. Jeżeli obawiasz się na razie pisania kodów źródłowych dla Arduino, możesz rozpocząć swoją przygodę od środowiska graficznego. Takich aplikacji jest wiele, niektóre z nich możesz zainstalować np. jako nakładkę graficzną dla środowiska Arduino IDE. Wśród wtyczek programowych należy wymienić między innymi Ardublock. Rzeczywisty kod programu jest w niej generowany automatycznie (przez środowisko programistyczne), na podstawie bloczków, które „układasz” na ekranie. Oczywiście możliwości takiego programowania są mocno ograniczone i zdecydowanie warto jak najszybciej przejść do samodzielnego pisania kodów źródłowych w języku C++. Środowisko graficzne jest jednak doskonałe również dla najmłodszych adeptów elektroniki, ponieważ z oczywistych względów nie są oni w stanie przebrnąć przez „dorosłe” kursy.
Nie należy także w żadnym wypadku bać się języków programowania – typu C++ czy Python. Ani w elektronice, ani w informatyce nikt nie startuje od razu z bardzo wysokiego poziomu. Zawsze trzeba zacząć od małych kroków, bardzo prostych programów, a dopiero później przechodzić na kolejne stopnie zaawansowania. Jednym z najprostszych do napisania programów na platformę Arduino (podobnie jak w przypadku wszystkich innych mikrokontrolerów na świecie), jest aplikacja do migania diodą LED. Samodzielna realizacja nawet tak niewielkiego projektu daje pewną satysfakcję, ponieważ pozwala sprawdzić działanie programu natychmiast po jego wgraniu do płytki za pomocą kabla USB. A dodawanie kolejnych funkcji, takich jak odczyt stanu przycisków lub czujników albo obsługa wyświetlacza czy sterowanie silnikiem w robocie, to kolejne sukcesy na drodze każdego adepta Arduino.
Bezpieczeństwo pracy z Arduino
Podczas konstruowania jakichkolwiek układów elektronicznych pamiętaj, aby bardzo uważnie sprawdzać wszystkie połączenia przed podłączeniem zasilania. Nieprawidłowe podłączenie Arduino (i każdego innego układu) grozi jego nieodwracalnym uszkodzeniem. Kolejną bardzo ważną kwestią jest dobór zasilania. Ze względów bezpieczeństwa nie należy na początku swojej elektronicznej drogi pracować z napięciami wyższymi, niż ogólnie uznane za bezpieczne. Nie przekraczaj zatem 12V, a jeśli urządzenie ma być zasilane z sieci, koniecznie zadbaj o wybór fabrycznego, profesjonalnego zasilacza, np. wtyczkowego, który zapewni izolację od niebezpiecznych napięć sieci energetycznej. Warto oczywiście rozważyć także zasilanie bateryjne wielu układów, tym bardziej, że w przypadku urządzeń przenośnych czy robotów mobilnych takie podejście będzie jak najbardziej naturalne i zgodne z przeznaczeniem danego urządzenia.
Podsumowanie
W artykule przedstawiliśmy przegląd najważniejszych zagadnień, bez których wdrożenie w środowisko Arduino byłoby niemożliwe. Gdy wybierzesz już odpowiedni kurs dla siebie pamiętaj, aby dążyć do celu małymi krokami. Przy okazji możesz na bieżąco notować ewentualne problemy, aby poszukać dla nich później rozwiązania. Możesz też prowadzić dziennik postępów i dokumentować wszystkie sukcesy. Śledź również naszego bloga – będziesz wówczas na bieżąco z nowościami, zarówno tymi, które dotyczą modułów głównych Arduino, jak i płytek typu Arduino shield, które ciągle pojawiają się na rynku. Obserwuj także projekty innych członków społeczności Arduino, ucz się od nich – także na ich błędach. Nie zrażaj się i pamiętaj, że nie da się w czasie nauki i tworzenia czegoś nowego uniknąć pomyłek, ale one też są formą nauki i etapem na drodze do rozwoju.
Leave a Reply