Arduino 101. Intel Curie w natarciu!

Arduino 101. Intel Curie w natarciu!
Pobierz PDF Download icon
Na początku 2016 roku zespół Arduino zaprezentował nową płytkę uruchomieniową, tym razem opartą o układ SoC Intela o nazwie Curie. Poprzednie próby z układami Intela i bogato wyposażoną platformą Galileo oraz Edison nie zmieniły świata płytek uruchomieniowych, jak zrobiło to najprostsze Uno, więc może trzecie podejście będzie sukcesem, pozwalającym dawnemu liderowi rynku procesorów jednoukładowych w tym słynnych MCS48, MCS51 na rozpowszechnienie swoich rozwiązań?

Płytka Arduino 101 ma takie same wymiary, jak płytka Arduino Uno. Pierwszy rzut oka wydaje się potwierdzać "skromne" wyposażenie wersji bazowej. Na płytce zamontowano gniazda USB-A. Szkoda, że nie są to gniazdo micro USB, ponieważ pozostawiono znany z wcześniejszych wersji problem z dopasowaniem wysokości płytek rozszerzeń. Oprócz tego są gniazdo zasilania DC, złącza rozszerzeń + ISP, dwa przyciski Reset i cztery diody LED sygnalizujące załączenie zasilania, aktywność portu szeregowego oraz standardowa dioda świecąca "L" na wyprowadzeniu P13.

Co więc usprawiedliwia połowę wyższą od Arduino Uno cenę płytki (wg cen z oficjalnego sklepu Arduino)? Pierwszym widocznym powodem jest wbudowany interfejs BLE (Bluetooth Low Energy) z anteną zintegrowaną na płytce, co sugeruje zastosowania przenośne oraz w IoT. Dalsze uzasadnienie różnicy wymaga zaglądnięcia do specyfikacji płytki, którą umieszczono w ramce.

Do dyspozycji użytkownika oddano wydajną platformę sprzętową z podstawowym wyposażeniem przydatnym przy tworzeniu aplikacji IoT lub Wearable, w tym szczególnie dzisiaj modnych urządzeń sprawdzających nasze parametry podczas wysiłku fizycznego. W dalszym ciągu programowanie odbywa się za pomocą środowiska Arduino IDE - platforma Arduino 101 jest wspierana od wersji 1.6.7 środowiska.

Ważniejsze parametry Arduino 101:

  • 32-bitowy układ SoC Intel Curie z dwoma rdzeniami: x86 Quark/Argonaut RISC.
  • Zegar 32 MHz dla obu rdzeni.
  • Pamięć 196 kB Flash, 24 kB RAM.
  • Zasilanie za pomocą USB (zewnętrzne 7...20 V).
  • Zegar czasu rzeczywistego.
  • 14×GPIO, 4×PWM, 6×AI (10-bitowe).
  • Standard CMOS 3,3 V.
  • Wbudowane konwertery poziomów 3,3 V/5 V, co pozwala na zachowanie zgodności z shieldami 5 V.
  • Interfejsu do transmisji szeregowej: SPI, UART, I²C.
  • Interfejs Bluetooth BLE.
  • Wbudowany 6-osiowy akcelerometr i żyroskop (IMU).

Układ SoC Curie ma wbudowany system operacyjny czasu rzeczywistego, który - co ciekawe - w marcu 2016 ma być udostępniony na zasadach licencji otwartej. Ciągły rozwój oprogramowania ma zapewnić poszerzanie funkcjonalności RTOS poza obsługę wbudowanych interfejsów USB, IMU, BLE.

Rysunek 1. Płytka Arduino 101 na liście płytek obsługiwanych przez Arduino IDE

Takie przynajmniej są zapewnienia producenta. Przed rozpoczęciem pracy jest wymagana aktualizacja bibliotek Arduino i dodanie płytki Arduino101 do listy obsługiwanych modułów, jak pokazano na rysunku 1. Razem ze środowiskiem otrzymujemy biblioteki z przykładami umożliwiającymi sprawdzenie wbudowanych peryferiów: CurieImu (moduł inercyjny obsługujący żyroskop i akcelerometr), CurieBle (obsługa modułu Bluetooth), CurieSoftwareSerial (programowy emulator interfejsu UART) oraz CurieTime (obsługa zegara czasu rzeczywistego).

Każdy z przykładów działa bez zarzutów umożliwiając szybkie sprawdzenie i dostosowanie do własnych potrzeb. Proces ładowania przebiega względnie szybko, wymagane jest tylko kilka sekund przerwy po załadowaniu szkicu na ponowną inicjację interfejsu USB (podobnie jak w Leonardo).

Po kilku dniach testowania płytki i sprawdzania jej cech użytkowych płytka pozostawia pozytywne wrażenie. Pojawia się jednak pytanie, skoro jest to płytka IoT/Wearables to dlaczego nie została zaprojektowana w formacie micro/nano? Trudno wyobrazić sobie wygodne bieganie z takim "klockiem".

Wiem, Walkman, był większy, ale jest XXI wiek i skoro zgodnie z obecnymi trendami powstaje wiele urządzeń opartych o gotowe zestawy startowe, to fajnie by było mieć coś bardziej przenośnego, bo raczej projektowanie kilku sztuk urządzenia z SoC Curie jest nieopłacalne, pomijając kwestę jego jednostkowej dostępności. A poza tym - jak zasilać płytkę?

Przydałaby się wbudowana ładowarka akumulatora Li-Po, nawet bez dostarczonego w komplecie akumulatora, umożliwiająca naładowanie go podczas programowania i prowadzenie testów w "terenie". W końcu mamy na zamontowany moduł BLE, a zasilanie pozostaje przewodowe... Oczywiście, można (a nawet należy!) wyposażyć się w UPS lub Powerbank, ale to kolejny "klocek" do noszenia.

Może w następnej wersji coś zostanie poprawione. W dalszym ciągu jednak płytka, oprócz walorów dydaktycznych, pozostaje ciekawą alternatywą lub ścieżką rozwoju w akceptowalnej cenie dla np.: konstruktorów amatorskich robotów, gdzie bez zmian sprzętowych dostajemy gotową platformę z niezbędnymi czujnikami oraz interfejsem komunikacyjnym zgodną z Arduino.

Adam Tatuś, EP

Artykuł ukazał się w
Elektronika Praktyczna
kwiecień 2016
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio październik 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje wrzesień 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich wrzesień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów