Ewolucja trwa: Arduino kontynuuje swoją podróż
W branży elektronicznej czas szybko leci. Rodzina wbudowanych komputerów jednopłytkowych (SBC) o otwartym kodzie źródłowym Arduino powstała w 2005 roku jako prosta w użyciu platforma dla artystów, twórców i hobbystów.
Rodzina komputerów SBC zbliża się do dwudziestej rocznicy powstania. W przeciwieństwie do wielu SBC z tej samej epoki, Arduino oferowało bardziej podejście bare-metal, czyli serwera przeznaczonego dla jednego klienta, zamiast komputera wymagającego systemu operacyjnego Linux. W związku z tym łatwość łączenia sprzętu okazała się kluczowym wyróżnikiem, który pomógł wprowadzić nową grupę twórców i hobbystów do kodowania i interakcji ze światem rzeczywistym. Jednym z wcześniejszych produktów był Arduino Duemilanove, oparty na 8-bitowym mikrokontrolerze AVR firmy Atmel. Zaprojektowany początkowo dla studentów oferował komplet funkcji sprzętowych. Były one uzupełnione przyjaznym dla użytkownika, wszechstronnym środowiskiem programistycznym, które obsługiwało biblioteki innych firm.
Trwałe dziedzictwo Arduino
Wczesne płytki Arduino pozostawiły po sobie trwałe dziedzictwo, zachęcając przez lata wielu studentów do udziału w projektowaniu sprzętu i kodowaniu. Zainteresowanie majsterkowaniem przy elektronice zmniejszyło się na przestrzeni lat, gdy nastała era komputerów osobistych, ale Arduino to zmieniło. Pierwsi użytkownicy szybko odkryli, że Arduino jest prostą platformą obliczeniową, która pozwala migać diodami LED lub automatycznie podlewać rośliny domowe za pomocą kilku zewnętrznych komponentów i kilku linijek kodu.
Szeroka atrakcyjność Arduino zyskała również na znaczeniu dzięki układowi pinów, który można układać w stosy na płytkach akcesoriów zwanych shieldami. Podejście open-source zachęciło firmy do dostarczania swoich układów scalonych i modułów w formacie Arduino Shield. Dostępne są tysiące różnych shieldów, od prostych płytek PCB do prototypowania, po wysoce zintegrowane akcelerometry i moduły bezprzewodowe. Chociaż Arduino początkowo przeznaczony był do twórców i hobbystów, największe uznanie pojawiło się, gdy producenci półprzewodników zaczęli dostarczać swoje profesjonalne płytki ewaluacyjne i rozwojowe z gniazdem Arduino. Niektórzy sprzedawcy dostarczali swoje płytki rozwojowe na płytce shield z przykładowym kodem Arduino.
Z biegiem lat, Arduino wprowadziło na rynek ponad 100 wariantów początkowej płytki, niektóre do konkretnych celów, takich jak Lilypad – niewielka platforma zaprojektowana do wbudowania w e-tekstylia i urządzenia do noszenia. Niektóre starsze płytki zostały już wycofane z portfolio Arduino i zastąpione nowszymi, innowacyjnymi platformami o zwiększonych możliwościach.
Podejście Arduino oparte na otwartym kodzie źródłowym zachęciło również nowe pokolenie przedsiębiorców do opracowania własnych płytek opartych na koncepcji Arduino UNO R3, co jeszcze bardziej przyczyniło się do przyjęcia przez twórców i wielu globalnych innowacji. Dostępność Arduino dla każdego, kto posiada komputer stacjonarny lub laptop i pomysł na nowy produkt, zachęciła nowe pokolenie przedsiębiorców. Można powiedzieć, że Arduino zakłóciło tradycyjny cykl rozwoju branży systemów wbudowanych.
Wszystko, czego kiedykolwiek potrzebowałeś: Portfolio Arduino
Portfolio podzielone jest na cztery kategorie: Classic, Nano, MKR i Mega, z których każda ma inną obudowę i zakres uzupełniających shieldów.
Arduino Classic
Rodzina Classic zawiera niektóre z oryginalnych płytek Arduino. Niektóre mają zaktualizowane cechy i funkcje, ale zachowują legendarną prostotę użytkowania i elastyczność projektowania.
Arduino UNO R3 (rys. 1) bazuje na 8-bitowym mikrokontrolerze AVR ATmega328p firmy Microchip Technology (dawniej Atmel). Oferuje on połączenie analogowych i cyfrowych wejść/wyjść oraz zasobów obliczeniowych, które pasują do szerokiej gamy projektów. UNO jest tradycyjnie pierwszą płytką Arduino, od której zaczyna wielu innowatorów. Oferuje ona 14 cyfrowych pinów wejścia/wyjścia (sześć konfigurowalnych jako wyjścia PWM), sześć wejść analogowych i zegar kwarcowy 16 MHz.) Mikrokontroler jest wstępnie zaprogramowany bootloaderem, który umożliwia programowanie za pośrednictwem bezpłatnego zintegrowanego środowiska programistycznego (IDE).
Najnowsze dodatki do linii UNO obejmują Arduino UNO R4 Wi-Fi (rys. 2). UNO R4 Wi-Fi zachowuje te same proporcje kształtu i układ pinów shieldu co UNO R3. Jest również oparty na mikrokontrolerze Renesas RA4M1 z 32-bitowym rdzeniem Arm® Cortex-M4, 256 kB pamięci flash i 32 kB pamięci RAM. Płytka zawiera również układ Espressif ESP32-S3 Wi-Fi® i Bluetooth® SoC, co znacznie rozszerza jej funkcje.
UNO R4 Wi-Fi posiada matrycę LED 12×8, złącze Qwiic ułatwiające łączność I²C, 12-bitowy przetwornik cyfrowo-analogowy i wzmacniacz operacyjny (wewnętrzny w RA4M1). RA4M1 działa z częstotliwością 48 MHz, a ESP32 z częstotliwością 240 MHz. UNO R4 Wi-Fi jest zasilany z zasilacza USB 5V lub przez gniazdo DC, które może być zasilane napięciem od 6V do 24VDC. Interfejsy peryferyjne obejmują I²C, SPI, UART i CAN.
Przykładem płytki kompatybilnej z UNO jest Arduino 4 Relays Shield (rys. 3). Rozszerzając możliwości 8 mA na pin cyfrowy, cztery przekaźniki shieldy umożliwiają sterowanie obciążeniami o większej mocy. Każdy przekaźnik zapewnia 2-biegunowe przełączanie z normalnie otwartymi stykami. Diody LED wskazują stan każdego przekaźnika. Styki przekaźników są połączone równolegle, aby zwiększyć maksymalne obciążenie przełączania do 60 W (30 V przy 2 A). 4 Relays Shield uzyskuje napięcie zasilania z płyty głównej UNO, wymagając maksymalnie 140 miliamperów, gdy wszystkie cztery przekaźniki są włączone.
Arduino Nano
Rodzina Nano oferuje zróżnicowaną, wysoce zintegrowaną linię dwunastu kompaktowych i niedrogich płytek o wymiarach 45 mm × 18 mm. Jest to idealne rozwiązanie do wszelkich zastosowań wymagających niewielkich rozmiarów, ale złożonych funkcji. Nano idealnie nadaje się do urządzeń do noszenia, robotyki i zastosowań związanych z muzyką elektroniczną. Na przykład Arduino Nano Every – choć znacznie mniejszy niż jego kuzyni UNO – posiada mocniejszy 8-bitowy mikrokontroler Microchip ATMega4809 pracujący z częstotliwością 20 MHz i wyposażony w 48 KB pamięci flash. Interfejsy peryferyjne obejmują osiem pinów analogowych, 14 pinów cyfrowych oraz magistrale szeregowe UART, SPI i I2C. Wiele płytek Nano posiada wbudowane czujniki, takie jak czujniki środowiskowe, czujniki gestów i mikrofony cyfrowe. Można je również programować za pomocą MicroPython i obsługiwać algorytmy uczenia maszynowego.
Innym przykładem płytki Nano jest Arduino Nano 33 BLE Sense (rys. 4), która zawiera moduł bezprzewodowy u-blox NINA B306 Bluetooth Low Energy i Bluetooth 5 z bezprzewodowym SoC Nordic Semiconductor nRF52840 z rdzeniem Arm Cortex-M4F.
BLE Sense posiada 9-osiową inercyjną jednostkę pomiarową (IMU), czujniki środowiskowe (temperatury, wilgotności, ciśnienia, światła otoczenia i koloru) oraz czujnik gestów.
Platforma uczenia maszynowego Edge Impulse obsługuje Nano 33 BLE Sense. Potencjalne przypadki użycia TinyML dla płytki obejmują opracowanie urządzenia do noszenia, które rozpoznaje ruchy lub budowę systemu rozpoznawania gestów lub głosu.
Rodzina Arduino MKR
Rodzina Arduino MKR koncentruje się na komunikacji bezprzewodowej, w tym protokołach LPWAN, takich jak LoRa, Sigfox i komórkowy NB-IoT. Wszystkie płytki oparte na formacie MKR mają wymiary 61,5 mm × 25 mm i zawierają 32-bitowy mikrokontroler Microchip SAMD21 o niskim poborze mocy z rdzeniem Arm Cortex-M0.
Przykładową płytką MKR jest Arduino MKR NB 1500 (rys. 5), wąskopasmowa komórkowa płytka IoT zaprojektowana do wykorzystania łączności komórkowej LTE Cat M1/NB1. Płytka działa z zasilaniem 3,3 VDC i oferuje 22 cyfrowe piny GPIO, 12 wyjść PWM, siedem wejść analogowych (8-/10-/12-bitowych) i jedno 10-bitowe wyjście analogowe. Interfejsy szeregowe obejmują UART, SPI i I2C. MKR NB 1500 jest idealny do zastosowań w odległych obszarach z ograniczonymi opcjami łączności, a urządzenie jest zasilane bateryjnie.
Rodzina MKR jest wspierana przez szereg shieldów i płytek nośnych zapewniających dodatkową funkcjonalność. Przykłady obejmują GNSS, interfejs sieciowy Ethernet, sterowanie silnikiem i matrycę LED RGB.
Arduino Goes Pro
Wraz z rosnącą popularnością niezawodności i elastyczności Arduino, tylko kwestią czasu było pojawienie się gotowych do produkcji płytek do zastosowań przemysłowych i komercyjnych. Seria Arduino Pro zaspokaja zapotrzebowanie uznanych i początkujących producentów sprzętu przemysłowego IoT, którzy muszą szybko opracowywać i wdrażać systemy. Portfolio Arduino Pro zapewnia prostą, szybką i bezpieczną platformę rozwoju aplikacji IoT obejmującą sprzęt, oprogramowanie i platformy łączności w chmurze. Oferta Arduino Pro obejmuje złożone biblioteki, które rozwiązują wiele wyzwań związanych z łącznością przemysłową, takich jak łączenie się ze starszymi urządzeniami Fieldbus i Modbus. Istnieją trzy rodziny produktów Arduino Pro – Portenta, Nicla i Opta – z których każda jest obsługiwana przez szereg tarcz i płyt nośnych.
Portenta
Portenta to seria wysokowydajnych, sprawdzonych w branży płyt Arduino wyposażonych w dwa asymetryczne rdzenie, które mogą jednocześnie uruchamiać kod wysokiego poziomu, taki jak stosy protokołów, algorytmy uczenia maszynowego lub języki interpretowane, takie jak MicroPython lub JavaScript, wraz z niskopoziomowymi zadaniami czasu rzeczywistego.
Wbudowane opcje łączności Portenta H7 obejmują podwójny tryb AP/STA, jednoczesne Wi-Fi zdolne do obsługi szybkości transferu do 65 Mb/s oraz łączność Bluetooth Classic/Bluetooth Low Energy. Magistrala szeregowa i interfejsy sieciowe, takie jak UART, SPI, I2C i Ethernet są dostępne za pośrednictwem złącza MKR lub nowej pary 80-pinowych złączy przemysłowych Arduino.
Nicla
Niewielkie płytki z serii Nicla (rys. 7) mają wymiary 22,86 mm × 22,86 mm i są najmniejszymi płytkami Arduino przeznaczonymi do zastosowań przemysłowych. Seria Nicla o niskim poborze mocy, przeznaczona do zasilania bateryjnego i uczenia maszynowego, jest wyposażona w czujniki klasy przemysłowej, oferując kompletne rozwiązanie w kompaktowej obudowie.
Przykładem z tej serii jest płytka Nicla Sense ME. Skupiając się na wykrywaniu ruchu (M) i środowiska (E), płytka integruje układ Nordic Semiconductor 64 MHz Arm Cortex M4 nRF52832 Bluetooth system-on-chip. Wbudowane czujniki Bosch obejmują BHI260AP, samouczący się inteligentny czujnik ze zintegrowanym akcelerometrem i żyroskopem. Cyfrowy czujnik ciśnienia BMP390, czujnik geomagnetyczny BMM150 oraz cyfrowy czujnik gazu, ciśnienia, temperatury i wilgotności BME688 ze sztuczną inteligencją. Nicla Sense ME nadaje się do zastosowań przemysłowych, takich jak konserwacja predykcyjna i aplikacje do monitorowania stanu.
Opta
Arduino Opta jest wynikiem współpracy z firmą Finder zajmującą się kontrolą przemysłową. Opta to montowany na szynie DIN programowalny sterownik logiczny (PLC) zaprojektowany specjalnie do zastosowań w automatyce przemysłowej i budynkowej. Oparty na dwurdzeniowym mikrokontrolerze STM32H747XI Arm Cortex-M7 i Arm Cortex-M4 firmy STMicroelectronics, Opta jest dostępny w trzech wariantach. Sterownik PLC Opta Wi-Fi (rys. 8) oferuje sieć Ethernet, szeregowy interfejs łączności RS485 half-duplex oraz łączność Wi-Fi/Bluetooth Low Energy.
Opta obsługuje bezpieczne aktualizacje oprogramowania układowego over-the-air (OTA) zgodne z X.509 przy użyciu zintegrowanego bezpiecznego elementu. Oprócz standardowego środowiska programistycznego Arduino, Opta jest programowalna za pomocą Arduino PLC IDE. Opta może wykorzystywać pięć metod programowania zdefiniowanych w normie IEC 61131-3 i zawiera cztery przekaźniki zdolne do przełączania mocy 2,3 kW każdy.
Platformy programowania i łączności Arduino
Programowanie płytki Arduino nie może być prostsze. Istnieją dwie opcje: korzystanie z dostępnego do pobrania IDE dla systemów Microsoft Windows, Apple macOS lub Linux lub korzystanie z edytora Arduino Web w przeglądarce. Program Arduino, zwany szkicem, jest zasadniczo programem w języku C, umożliwiającym dołączenie nagłówka biblioteki i plików źródłowych – z których wiele jest już załadowanych do Arduino IDE. Zewnętrzni producenci shieldów zazwyczaj dostarczają linki do odpowiednich sterowników i bibliotek gotowych do dodania do IDE.
Platforma Arduino IoT Cloud (rys. 9) to idealny wybór do bezpiecznego łączenia i konfigurowania urządzeń oraz przechowywania, analizowania i prezentowania danych z czujników. Niezależnie od projektu Arduino, od pojedynczej domowej maszyny do podlewania roślin IoT po wdrożenie na skalę przemysłową, Arduino IoT Cloud stanowi kompleksowe rozwiązanie IoT.
Tłumaczenie i redakcja Jarosław Doliński
Autor Mark Patrick, Mouser Electronics