Arduino Giga R1 WiFi – największa płytka Arduino na rynku
Pierwsza połowa tego roku obfitowała w nowości od Arduino, czyli producenta najpopularniejszych płytek rozwojowych do nauki elektroniki oraz prototypowania urządzeń wbudowanych. Jedną z opisywanych już na naszych łamach nowych produktów były moduły Arduino UNO R4, czyli unowocześniona wersja najpopularniejszej płytki ze stajni Arduino. Kolejnym premierowym zestawem jest Arduino Giga R1 WiFi czyli ulepszona i powiększona wersja popularnej płytki MEGA.
Co oferuje płytka Arduino Giga R1 WiFi?
Płytka Arduino Giga ma wymiary 101 x 53 mm i oferuje aż 76 wyprowadzeń I/O, czyli sporo więcej niż Arduino Due czy Mega (po 54). Wśród tych wyprowadzeń znajdziemy m.in. interfejsy UART, I2C, SPI. 12 wyprowadzeń może generować sygnał PWM. Dostępne jest również 14 kanałów przetwornika ADC i dwa kanały przetwornika DAC, a także linie do magistrali CAN (aczkolwiek ta ostatnia wymaga zewnętrznego transceivera).
Pamiętaj, że wyprowadzenia Arduino Giga pracują wyłącznie z napięciem 3,3 V. Próba doprowadzenia wyższego napięcia może skutkować uszkodzeniem płytki.
Rys. 1. Rozkład wyprowadzeń płytki Arduino Giga R1 WiFi
Moduł zawiera 32-bitowy mikrokontroler STM32H747XI. Jest to więc już kolejna płytka, w której zamiast tradycyjnego 8-bitowca mamy do dyspozycji mocny 32-bitowy układ. To oznacza, że nowe płytki Arduino są w stanie obsłużyć o wiele bardziej skomplikowane projekty niż dawniej. Układy z serii STM32H747 to jedne z najmocniejszych mikrokontrolerów na rynku. Zawiera dwa rdzenie: Cortex-M7 o taktowaniu 480 MHz i Cortex-M4 o taktowaniu 240 MHz. Ciekawostką jest, że płytka umożliwia programowanie jednego rdzenia za pomocą Arduino, a drugiego za pomocą MicroPython. Wyposażono go również we wbudowaną pamięć RAM o pojemności 1 MB oraz pamięć Flash 2 MB, zegar RTC i wiele innych peryferiów.
Dodatkowo na płytce umieszczono dwie zewnętrzne pamięci: NOR Flash o pojemności 16 MB, która komunikuje się za pośrednictwem QSPI, a także pamięć SDRAM o pojemności 8 MB.
Moduł bezprzewodowy Murata 1DX
Drugim najważniejszym elementem płytki jest moduł bezprzewodowy Murata 1DX, który zapewnia komunikację Wi-Fi oraz Bluetooth, a więc najpopularniejsze sposoby komunikacji w systemach wbudowanych i IoT. Moduł obsługuje komunikację Wi-Fi w standardach 802.11b/g/n i jest w stanie komunikować się z szybkością do 65 Mbps. Oznacza to również, że Arduino Giga jest pierwszą tak dużą płytką Arduino wyposażoną w komunikację bezprzewodową. Moduł jest kompatybilny z chmurą Arduino IoT Cloud czyli chmurą opracowaną specjalnie dla tej platformy.
Do podłączenia anteny służy złącze uFL zamontowane na płytce. Do modułu dołączono odpowiednią antenę, która umożliwia odbiór fal radiowych.
Rys. 2. Antena uFL podłączona do złącza antenowego na płytce
Arduino Giga zawiera także układ zabezpieczający ATECC608A firmy Microchip. Jest to procesor kryptograficzny oraz bezpieczna, sprzętowa pamięć na klucze kryptograficzne. Pozwala to zabezpieczyć i zaszyfrować dane, zastosować zaufane procedury uwierzytelniania, sprawdzić poprawność uruchomienia systemu czy też zabezpieczyć urządzenie przed atakami fizycznymi. Ma to szczególne znaczenie jeśli używamy wielu płytek w systemie, a dane są wysyłane na zewnątrz, np. do chmury.
Złącza na płytce Arduino Giga
W miejsce stosowanego w Arduino MEGA złącza USB typu B, otrzymujemy teraz o wiele bardziej współczesny slot USB-C. Tradycyjnie może on służyć do zasilania, programowania płytki oraz komunikacji szeregowej. Ponadto, port może służyć do przekształcenia Arduino urządzenie USB typu HID, a więc pracujące jak myszka czy klawiatura.
Drugim portem jest wejściowy USB typu A, który pozwala na dołączenie do płytki urządzeń USB, takich jak pamięci przenośne. Arduino GIGA działa wtedy w trybie hosta USB. Daje to możliwości otwierania dużych plików, jak audio czy wideo, zapisywanie dużych ilości danych do pliku, a nawet nagrywania i zapisywania obrazów z kamery. Pamięć musi jednak być sformatowana jako FAT32.
Płytkę można zasilać tradycyjnie ze złącza USB-C, lub też z zewnętrznego zasilacza, poprzez pin VIN. W tym drugim przypadku, podobnie jak dla Arduino UNO R4, otrzymujemy unowocześnioną sekcję zasilania, która pozwala wykorzystać napięcie z zakresu 6-24 V, a więc znacznie szerzej niż w płytkach poprzedniej generacji. Sekcja zasilania ma też lepsze parametry termiczne oraz zawiera szereg zabezpieczeń.
Duża liczba wyprowadzeń powoduje, że płytka Arduino Giga R1 WiFi daje kilka interesujących opcji pod kątem nowych złączy do podłączenia urządzeń, które do tej pory nie występowały na płytkach Arduino. Jednym z nich jest port Jack 3,5 mm, które służy do transferu analogowego sygnału audio. Umożliwia to zarówno wysyłanie sygnału audio na zewnątrz z przetwornika DAC procesora, jak i odbiór sygnału. Zastosowane złącze to TRRS, a więc umożliwia połączenie wyjścia stereo i wejścia mono, tak jak np. w zestawach słuchawkowych. Warto jednak pamiętać, że płytka nie zawiera wzmacniacza audio, a więc należy zwrócić uwagę na odpowiedni poziom sygnału lub zastosować odpowiedni wzmacniacz zewnętrzny.
Kolejną ciekawą opcją jest możliwość podłączenia kamery. Arduino Giga zawiera specjalne złącze szpilkowe, które jest zgodne z modułami ArduCAM z sensorami obrazu. Złącze pozwala na komunikację z czujnikami zgodnymi z Arduino Mbed Core, tzn. z OV7670/OV7675, GC2145, Himax HM01B0 i Himax HM0360. Przykładowy moduł, który można wykorzystać do połączenia kamery do Arduino to Kamera ArduCam OV7675.
Rys. 3. Moduł z kamerą ArduCAM połączony z Arduino R1 Giga WiFi
Arduino Giga pozwala także na dołączenie ekranu dotykowego. Zastosowany mikrokontroler STM32H747XI oferuje wbudowany akcelerator grafiki 2D z obsługą rozdzielczości aż do 1024×768. Potrafi też obsługiwać kodek JPEG. To wszystko pozwala na udostępnienie dwóch linii interfejsu MIPI dla wyświetlaczy. Oznacza to, że Arduino Giga jest w stanie obsługiwać wyświetlacze dotykowe o dużych rozdzielczościach i stworzenia eleganckiego interfejsu użytkownika. Aby zbudować interfejs można użyć popularnej biblioteki LVGL.
Ponadto dostępne jest złącze JTAG 2×5, które można zastosować do programowania, testowania oraz debugowania programu na płytkę. Aby skorzystać ze złącza należy jednak wyposażyć się w zewnętrzny programator, taki jak Segger J-Link. Najnowsza wersja środowiska Arduino ma już funkcje debugowania, a więc nie trzeba korzystać z innych środowisk programistycznych. Oczywiście, tak jak każda płytka Arduino tu też można wstawiać kod do pamięci urządzenia za pośrednictwa połączenia USB.
Dodatkową ciekawą funkcją jest zegar RTC, wbudowany w mikrokontroler STM32. Ten zegar oczywiście umożliwia podtrzymywanie pomiaru czasu, nawet gdy płytka jest odłączona od zasilania. Aby jednak uzyskać tą możliwość trzeba podłączyć zasilanie z baterii guzikowej do pinu VRTC. Będzie ona podtrzymywać zasilanie zegara.
Rys. 4. Wyróżniony pin VRTC na płytce Arduino Giga
Podsumowanie
Arduino Giga jest kolejną już płytką bazową Arduino, która zawiera mikrokontroler o znacznie większej mocy obliczeniowej niż tradycyjnie znane AVR-y. W tym przypadku otrzymujemy również bardzo dużą liczbę wyprowadzeń i szereg interesujących złączy. Daje to możliwość tworzenia o wiele bardziej skomplikowanych projektów i naukę bardzo zaawansowanych aspektów elektroniki. Duże możliwości uprawniają także produkt do stosowania w projektach profesjonalnych. Wydaje się więc, że jest to produkt, który znacznie rozwinie możliwości platformy Arduino.
Płytka Arduino Giga R1 WiFi jest dostępna w sklepie Kamami.pl