Często używane układy

Arduino, Raspberry Pi, ESP oraz STM32 – czym są.

Z zawodu jestem programistą systemów wbudowanych(eng. embedded). Można powiedzieć, że zajmuję się programowaniem elektroniki (; W pracy spotykam się z wieloma układami, mikrokontrolerami oraz procesorami. Dziś chcę Wam przedstawić te, z których korzystam nie tylko w życiu zawodowym, ale często także w domowych projektach oraz w trakcie warsztatów.

Zobacz też: Podsumowanie warsztatów Arduino

Arduino, Raspberry Pi, ESP i STM32 są pewnego rodzaju mózgami urządzeń. Potrzebują zasilania, można do nich podłączać różnego rodzaju czujniki (jak termometry, akcelerometry itp.) czy elementy wykonawcze (np. LEDy) lub łączyć je między sobą. Za pomocą napisanego kodu trzeba stworzyć program, który na nich osadzimy, aby otrzymać rozmaite funkcjonalności.

Każda z wymienionych wyżej platform oferuje różne modele płytek, możliwości oraz sposoby, jak będziemy z nimi pracować. Po krótce je opiszę.

Zobacz też: Programowanie – nie lękajcie się

Arduino uno – bardzo popularna na początek przygody z systemami wbudowanymi.

Arduino jest chyba najpowszechniejszą z wymienionych platform. Wystarczy, że podłączymy płytkę kablem USB do komputera i jesteśmy gotowi do startu. Cena takich modeli jak Nano jest naprawdę bardzo niska. Nie będzie szkoda pierwszych spalonych obwodów (;

Arduino Nano po lewej, obok mikrokontroler Atmega16 w wykonaniu przewlekanym.

Czym w ogóle jest Arduino? Nie ma tu niczego bardzo odkrywczego ani rewolucyjnego. Wcześniej, żeby zbudować najprostszy układ, na który można było wlać jakiś program, potrzebny był mikrokontroler, np. taki jak ten firmy Atmel (podobnie jak na płytkach Arduino) na zdjęciu powyżej. Z paru elementów należało poskładać wszystko, co jest niezbędne do działania mikrokontrolera, i przy użyciu specjalnego programatora wrzucić software. Sam kod nie wyglądał tak banalnie, jak w przypadku tego, co piszemy, używając Arduino. Co spowodowało taką różnicę w pracy? Głównie bootloader wgrany na mikrokontroler, który wszystko upraszcza. Dodatkowo wpływ mają narzędzie Arudino IDE, olbrzymia ilość gotowych bibliotek, które skracają nasz kodu do minimum, no i społeczność, która wzajemnie się wspiera.

Jeśli ktoś chce, może zrezygnować z pisania kodu na rzecz edytorów bloczkowych, inaczej nazywanych graficznymi. Skupię się jednak na rozwiązaniach, z których osobiście korzystam, i pominę taki sposób tworzenia programów.

Arduino jest technologią open source, każdy może zbudować własne. Korzysta z tego wielu producentów, stąd na rynku znajdziemy bogatą ofertę klonów. Często są one tańsze, choć nie ustępują oryginałowi w żadnym względzie.

Modeli Arduino jest naprawdę dużo, z mniejszą lub większą mocą obliczeniową, z wbudowanym WiFi lub innymi modułami komunikacyjnymi itp. W projektach na blogu z pewnością niejeden model zobaczycie (;

Zobacz też: Videokurs Arduino recenzja

Od lewej płytka ESP nodeMCU, ESP8266-12E, płytka ułatwiająca programowanie ESP8266-1, ESP8266-1.

Bardzo podobne do Arduino są płytki od Espressif, jak te na zdjęciu powyżej. Charakteryzują się tym, że mają zawsze wbudowaną komunikację WiFi. Programy, które napisaliśmy na Arduino, możemy wlać też tutaj, używając nawet tego samego środowiska.

Przy okazji krótko opiszę też Arduino IDE. Jest to jedno ze środowisk, które umożliwia kompilację programów dla Arduino i ESP, tzn. przetworzenie kodu, który napisaliśmy, na postać zrozumiałą dla mikrokontrolera.

Narzędzie jest bardzo proste, co zresztą widać powyżej. Nie ma tu tysiąca opcji, obsługa nie jest skomplikowana – krótko mówiąc, nie ma się tu co zepsuć.

Zobacz też: Programowanie Arduino na alternatywnie

Na screenie pokazany jest kod programu, który powoduje sterowanie wyjściem z odstępami czasowymi – w uproszczeniu mruganie, np. diodą świecącą. Można zauważyć, że niewiele kodu potrzeba, a przy odrobinie znajomości języka angielskiego jest on dość zrozumiały.

Płytki Arduino wbudowane mają najczęściej mikrokontrolery 8-bitowe, choć coraz więcej widać także 32-bitowe, jak to jest w STM32. Takie mikrokontrolery od firmy ST znajdziemy na boardach z serii Nucleo oraz Discovery. Z nich dość często korzystam przy projektach komercyjnych w pracy.

To już trochę potężniejsze mózgi, jeśli o moc obliczeniową i dostępne peryferia idzie. Współistnieje z tym jednak wymóg większych umiejętności związanych z systemami wbudowanymi, by efektywnie wykorzystać ten potencjał.

W odróżnieniu od Arduino na płytkach Nucleo i Discovery nic nie zostało wgrane na mikrokontroler, ale mamy już za to programator na płytce. Najczęściej będziemy używać innych narzędzi; przydatne mogą być CubeMx, Eclipse czy rozwiązanie zaproponowane przez ARM mbed.

Raspberry Pi dość mocno różni się od poprzednich układów. Oczywiście, i w tym przypadku dzięki napisanemu softwarowi możemy łączyć świat elektroniki i programowania. Mamy tu już do czynienia z mini komputerem, którego procesor jest oparty o architekturę ARM. Nie jest to to samo, co w naszym laptopie czy PC, ale blisko (;

Zasada działania odróżniająca się od poprzedników łączy się z odmiennością zastosowań. Na kartę pamięci musi zostać nagrany system operacyjny. Następnie można uruchomić pakiet Office, Minecrafta oraz przeglądarkę WWW, ale także programy, które są bardzo zbliżone do tego, co pokazane zostało na screenie z Arduino IDE, i korzystać z wejść/wyjść cyfrowych.

Zobacz też: Warsztaty Raspberry Pi

Czy któryś z powyższych układów jest lepszy? Dość często słyszę to pytanie. Jako odpowiedź nasuwa mi się porównanie do wyboru między luksusową limuzyną a traktorem. Niby fajnie mieć pierwsze, ale jeśli potrzebujemy takich cały szereg, koszty są ogromne. Dodatkowo bez specjalnego nadwozia nie wyjedziemy na świeżo zaorane pole (;

Na blogu znajdziecie różne przykłady użycia opisanych platform, jeśli macie też swoje, podsyłajcie (;

Jeśli artykuł był dla Ciebie wartościowy, możesz mnie wesprzeć na https://inzynierdomu.tipo.live/

2 thoughts on “Często używane układy

  1. Świetnie instruktażowy wpis. Myślę, że niejeden „inżynier domu” może się tym blogiem zainspirować do pogłębiania swojej wiedzy o elektrotechnice, programowaniu i zdobywania nowych doświadczeń

  2. Z używanych układów można wiele wyskrobać, nie ma co natychmiastowo kupować modelu kompletnie nowego, cena może się różnić drastycznie. Ja akurat montaż elektroniki w bardziej skomplikowane systemy zlecam firmie zewnętrznej, wtedy mam dodatkową gwarancję i jakość.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *