Wspomnainy w tytule zestaw zawiera powszechnie stosowaną w Internecie Rzeczy płytkę Arduino Nano 33 BLE Sense wyposażoną w niskomocowy układ SoC nRF52840 firmy Nordic Semiconductor obsługujący interfejsy: Bluetooth Low Energy 5.0 i 2,4 GHz (nie Wi-Fi). To dzięki niemu obsługa płytki jest niezwykle prosta - starczy dowolny komputer i kabel USB, by się o tym przekonać! Obecne w zestawie wyposażenie tylko to zadanie ułatwia - stanowią je: moduł kamery i płytka rozszerzeniowa. Dzięki nim projekty stają się bardziej funkcjonalne.
Peryferia Arduino Nano 33 BLE Sense również to zapewniają – są to:mikrofon cyfrowy, sensor optyczny, układ IMU i czujniki otoczenia Do zasilania płytki wystarczy kabel USB, zasilacz sieciowy lub baterie, a specyfikacja zestawu jest przedstawiona poniżej. Całość dopełniają kursy portalu edx.org przewidziane zarówno pod nauczanie zdalne, jak i samodzielne, dzięki którym natychmiast idzie zrozumieć uczenie TinyML i związaną z nim bibliotekę TensorFlow Lite for Microcontrollers, Kursy te są doskonałym uzupełnieniem szkolnych i uczelnianych programów nauczania. Tylko z Arduino Tiny Machine Learning Kit możliwe jest niemal bezpośrednie „poczucie” rozwiązań odwzorowujących działanie ludzkiego umysłu. Jest to produkt dla każdego, w tym początkującego. Wsparcie dla niego jest bogate, szczególnie dzięki filmikom pokazującym obsługę zestawu.
Podsumowując:
„The Future of Machine Learning is Tiny and Bright. We’re excited to see what you’ll do!”
(Przyszłość uczenia maszynowego jest Tiny, a jednocześnie jasna. Z podekscytowaniem zobaczymy co zrobisz dalej).
Autorzy: prof. Vijay Janapa Reddi z uniwersytetu Harvard i Pete Warden z firmy Google. Nic dodać, nic ująć - taki jest właśnie opisany zestaw!
Specyfikacja zestawu Arduino Tiny Machine Learning Kit:
- Płytka uruchomieniowa Arduino Nano 33 BLE Sense w wersji ze złączami:
- Układ SoC nRF52840 firmy Nordic Semiconductor zawarty w module NINA B306-00B firmy u-blox:
- Rdzeń: Cortex M4F firmy ARM
- Rodzaj architektury: RISC
- Długość magistrali danych: 32 bity
- Maksymalna częstotliwość taktowania: 64 MHz
- Liczba wyprowadzeń I/O: 48
- Pamięci:
- RAM: 256 KB
- Flash: 1 MB
- Interfejsy:
- Bluetooth Low Energy 5.0 (BLE 5.0):
- Przepływności: 125 kb/s, 500 kb/s, 1 Mb/s i 2 Mb/s
- Możliwość parowania urządzeń
- Wsparcie ze strony biblioteki ArduinoBLE
- 2,4 GHz (nie Wi-Fi):
- Przepływności: 1 Mb/s i 2 Mb/s
- 802.15.4-2006:
- Przepływność: 250 kb/s
- Standardy: ZigBee i Thread
- I2S
- I2C
- SPI:
- Maksymalna częstotliwość pracy: 32 MHz
- Tryby pracy: Slave i Master
- UART:
- Maksymalna przepływność: 1 Mb/s
- NFC-A:
- W postaci wbudowanej naklejki (tagu)
- Maksymalna przepływność: 106 kb/s
- Możliwość zapisu i odczytu danych
- Możliwość wpięcia zewnętrznej anteny
- USB 2.0:
- Standard: Full Speed
- Maksymalna przepływność: 12 Mb/s
- Bluetooth Low Energy 5.0 (BLE 5.0):
- Przetwornik analogowo-cyfrowy (ADC):
- Liczba kanałów: 8
- Rozdzielczość: 12 bitów
- Częstotliwość próbkowania: 200 ksps
- Kontroler DMA
- Wbudowany czujnik temperatury
- Układ kryptograficzny TrustZone CryptoCell 310 firmy ARM:
- Obsługa systemu kryptograficznego AES o 128-bitowych kluczach, działającego w trybach: ECB, CCM i AAR
- Demodulator kwadraturowy
- Zewnętrzne przerwania
- Niski pobór mocy
- Temperatura pracy: od -40 do 85°C
- Wyprowadzenia:
- Cyfrowe - 14 szt.:
- Dwukierunkowe (wejścia i wyjścia)
- Napięcie pracy: 3,3 V
- Maksymalny prąd wejściowy: 5 mA
- Maksymalny prąd wyjściowy: 15 mA
- PWM - 6 szt.:
- Jednokierunkowe (wyjścia)
- Wybierane spośród wyprowadzeń cyfrowych
- Analogowe - 8 szt.:
- Jednokierunkowe (wejścia)
- Maksymalne napięcie: 3,3 V
- Maksymalny prąd wejściowy: 5 mA
- Napięciowe - 3 szt.:
- Wyjście 3,3 V (mogące pełnić rolę wejścia po przecięciu dedykowanego pola lutowniczego)
- Wyjście 5 V (działające po zwarciu dedykowanego pola lutowniczego i podłączeniu kabla USB do zestawu lub użyciu wejścia Vin)
- Wejście Vin pracujące z napięciami: 4,5-21 V
- Cyfrowe - 14 szt.:
- Peryferia:
- IMU (Inertial Measurement Unit):
- Układ LSM9DS1 firmy STMicroelectronics
- Wbudowany trójosiowy akcelerometr
- Wbudowany trójosiowy żyroskop
- Wbudowany trójosiowy magnetometr
- Komunikacja po magistrali I2C
- Mikrofon cyfrowy:
- Układ MP34DT05 firmy STMicroelectronics
- Wielofunkcyjny sensor optyczny:
- Układ APDS9960 firmy Avago Technologies
- Czujnik natężenia światła
- Wykrywacz gestów
- Czujnik barw RGB
- Czujnik odległości
- Czujnik ciśnienia:
- Układ LPS22HB firmy STMicroelectronics
- Czujnik temperatury i wilgotności:
- Układ HTS221 firmy STMicroelectronics
- Układ kryptograficzny:
- ATECC608A firmy Microchip
- Obsługa systemu kryptograficznego AES o 128-bitowych kluczach (kodowanie/dekodowanie)
- Obsługa funkcji skrótu SHA-256
- Obsługa kodów HMAC
- Diody:
- Jednokolorowa
- RGB
- IMU (Inertial Measurement Unit):
- Numer wyjścia, do którego jest dołączona jednokolorowa dioda LED (wartość stałej LED_BUILTIN): 13
- Programowanie:
- Przez kabel USB (gniazdo microUSB)
- W oparciu o złącze ICSP (dla programatorów zewnętrznych)
- Zasilanie:
- Zewnętrzne:
- Przez kabel USB - gniazdo microUSB (5 V)
- Przez wejście Vin (zakres zalecany: 7-12 V, zakres graniczny: 4,5-21 V)
- Przez źródło zasilania wpięte między masę, a wyjście napięciowe 3,3 V (po przecięciu dedykowanego pola lutowniczego)
- Zewnętrzne:
- Wymiary: 18×45 mm
- Układ SoC nRF52840 firmy Nordic Semiconductor zawarty w module NINA B306-00B firmy u-blox:
- Dodatkowe wyposażenie:
- Moduł kamery OV7675 firmy ArduCam:
- Oparty o matrycę światłoczułą OV7675 firmy OmniVision:
- Technologia wykonania: CMOS
- Rozdzielczość: 0,3 Mpx
- Czułość: 1800 mV/(lux∙s)
- Obsługiwane rozdzielczości i częstotliwości odświeżania obrazu:
- QQVGA (160×120 px) przy 240 Hz
- QVGA (320×240 px) przy 60 Hz
- VGA (640×480 px) przy 30 Hz
- Obsługiwane przestrzenie barw:
- YUV422
- RAW RGB
- RGB565
- YCbCr
- Tryb skanowania obrazu: progresywny
- Zakres dynamiczny: 71 dB
- Stosunek sygnał/szum (S/N): 38 dB
- Wymiary obszaru światłoczułego: 1,64×1,22 mm
- Rozmiary pojedynczego elementu obszaru światłoczułego: 2,5×2,5 µm
- Średnica soczewki: 1,9”
- Maksymalny kąt padania promienia głównego światła na soczewkę: 21°
- Rodzaj migawki: elektroniczna postępowa
- Prąd ciemny: 10 mV/s (w temperaturze 60°C)
- Maksymalny czas ekspozycji: 510∙trow
- Rozdzielczość przetwornika analogowo-cyfrowego: 8 bitów
- Układ kolorów na elementach światłoczułych: siatka Bayera
- Wbudowane funkcje:
- Automatyczna kontrola ekspozycji (AEC)
- Automatyczny balans bieli (AWB)
- Automatyczna kalibracja tła (ABLC)
- Korekcja martwych pikseli
- Korekcja cieniowania soczewki
- Redukcja zjawiska „Black Sun”
- Programowalna polaryzacja
- Dostępne interfejsy:
- szeregowy SCCB (Serial Camera Control Bus)
- równoległy DVP (Digital Video Port)
- Napięcia pracy:
- AVDD (Analog): 2,6-3 V
- DVDD (I/O): od 1,71-3 V
- Rdzenia (ang. Core): 1,5 V ±5%
- Pobór mocy:
- W stanie spoczynku: 60 µW
- Podczas działania: 98 µW
- Temperatura pracy: od -30 do 70°C (stabilność obra-zu zapewniona jest w zakresie od 0 do 50°C)
- Złącze o 20 wyprowadzeniach i rozstawie 2,54 mm (wraz z rozpiską na module):
- Dwukierunkowy interfejs szeregowy Two-Wire:
- Długość magistrali danych: 8 bitów
- Zasilanie: 3,3 V
- Dwukierunkowy interfejs szeregowy Two-Wire:
- 4 otwory montażowe
- Oparty o matrycę światłoczułą OV7675 firmy OmniVision:
- Moduł rozszerzeniowy Arduino Tiny Machine Learning Shield:
- Oznaczenie: GOC 2048
- Współpraca z:
- płytką Arduino Nano 33 BLE Sense (w oparciu o dedykowane gniazdo)
- płytkami Arduino, których rozstaw wyprowadzeń jest zgodny z płytką Arduino Nano 33 BLE Sense
- Interfejsy:
- I2C - 3 szt.
- GPIO - 1 szt.
- Gniazda/złącza:
- Dla płytki Arduino Nano 33 BLE Sense (oraz innych płytek Arduino, które mają zgodny z nią rozstaw wyprowadzeń)
- Grove (Molex o 4 wyprowadzeniach) - 6 szt.:
- Dla interfejsów I2C - 3 szt.
- Dla wyprowadzeń GPIO: A6, A7, D11 i D12 płytki Arduino Nano 33 BLE Sense - 3 szt. (pierwsza dwa wyprowadzenia są zawarte w jednym gnieździe. Natomiast przedostatnie w drugim, a ostatnie w trzecim)
- GPIO o 20 wyprowadzeniach (nieobejmujące wyprowadzenia dostępne w gniazdach Grove)
- 1729128 firmy Phoenix Contact (zasilanie dołączanej do modułu płytki poprzez jej wejście Vin):
- Jednofazowe
- Dwutorowe
- Z zaciskami w postaci śrubek do przykręcania przewodów w otworach
- Przekrój przewodu: 0,25-1,5 mm2
- Rozmiar przewodu: 16-26 AWG
- Kolor: jasnozielony
- Przycisk z wypustką (dołączony do pinu D13 płytki Arduino Nano 33 BLE Sense)
- 4 otwory montażowe
- Kolor modułu: niebieski
- Kabel USB:
- Kolor: czarny
- Moduł kamery OV7675 firmy ArduCam:
- Inne:
- Dedykowane uczeniu maszynowemu TinyML
- Współpraca z biblioteką TensorFlow Lite for Microcontrollers
Przewodnik instalacyjny płytki Arduino Nano 33 BLE Sense
Opis biblioteki ArduinoBLE
Przewodnik sprzętowy po module kamery (OV7675 firmy ArduCam)
Przewodnik programowy po module kamery (OV7675 firmy ArduCam)
Biblioteka TensorFlow Lite for Microcontrollers
Kursy TinyML:
Aplikacje/zastosowania
Sposób użycia w mikrokontrolerze
Podstawy praktyczne z zastosowaniem biblioteki TensorFlow Lite for Microcontrollers