In diesem neuen Beitrag möchte ich dir den kleinen Mikrocontroller vom Typ Arduino Nano 33 IoT vorstellen.
Bezug
Den mir vorliegenden Microcontroller habe ich für knapp 22€ zzgl. Versandkosten auf amazon.de* (kostenfrei durch Amazon Prime) erstanden.
Aber du findest diesen Zwerg auch auf ebay.de für 35€ zzgl. Versandkosten*.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Lieferumfang
Zum Lieferumfang des Mikrocontrollers gehört neben der Platine auch 2 Stiftleisten, welche später an diesen gelötet werden können / müssen.
Technische Daten
Hier nun die technischen Daten des Mikrocontrollers. Diese Daten habe ich von der offiziellen Seite zum Microcontroller von Arduino.cc entnommen.
Beschreibung | Wert |
---|---|
Mikrocontroller | 32bit SAMD21 Cortex M0, Low Power ARM MCU |
Taktgeschwindigkeit | 48 MHz |
Betriebsspannung | 3.3 V |
max. Eingangsspannung | 21 V |
max. Stromaufnahme pro I/O | 7 mA |
Flash Speicher | 256 KB |
SRAM | 32 KB |
EEPROM | – ohne – |
digitale Ein/Ausgänge | 14 |
PWM Pins | 11 (2, 3, 5, 6, 9, 10, 11, 12, 16 / A2, 17 / A3, 19 / A5) |
analoge Eingänge | 8 |
analoge Ausgänge | 1 |
Schnittstellen | 1x UART, 1x SPI, 1x I²C, Bluetooth (BLE 4.2), WiFi |
LED Buildin | digitaler Pin D13 |
Abmaße | Länge: 45 mm Breite: 18 mm |
Gewicht | 5 g |
Aufbau & Pinout
Der Arduino Nano 33 IoT verfügt über 14 digitale und 9 analoge Pins. Des Weiteren verfügt dieser über die Schnittstellen UART (TX & RX), I²C (SDA & SCL) sowie SPI (MISO, MOSI, SCK, SS).
Auf der Rückseite sind diese Pins auf der Platine beschriftet.
Den Mikrocontroller kannst du mit den beigefügten Stiftleisten auf einem Breadboard stecken oder aber auch direkt auf eine Lochrasterplatine löten. (Ich habe mich entschlossen, diesen mit den Stiftleisten zu betreiben.)
Weiterführende Informationen zu den Pins des Mikrocontrollers findest du zbsp. im Datenblatt von der Firma Reichelt (leider jedoch nur in englischer Sprache).
Vergleich mit dem Arduino Nano
Der hier gezeigte Mikrocontroller ist von den Abmaßen und den Pinbelegung mit dem Arduino Nano V3 vergleichbar.
Dieses gibt dir die Möglichkeit deine bestehenden Projekte um eine Bluetooth 4.2 und / oder einer WiFi Schnittstelle zu erweitern welches manchmal sehr von Vorteil ist.
Aber zu diesem Thema folgt ein separater Beitrag, wo ich genauer auf die Unterschiede der beiden Mikrocontroller eingehe.
Programmieren in der Arduino IDE
Den Mikrocontroller kannst du in der Arduino Familie üblichen Entwicklungsumgebung Arduino IDE programmieren. Dazu musst du jedoch zunächst den Treiber für das Board installieren.
Nachdem der Treiber für das Board installiert wurde, kann dieser über Werkzeuge > Boards ausgewählt werden.
Ausgewählter Mikrocontroller an COM7 unter Microsoft Windows 10.
Hier erkennt man wieder deutlich das nicht nur der COM Port angezeigt wird, sondern auch das der Name / Typ des Boards erkannt wird. Dieses wird zbsp. bei den China Klones nicht angezeigt.
Troubleshooting – fatal error: core_cm0plus.h: No such file or directory
Wenn die Arduino IDE als “normaler” Benutzer gestartet und der Treiber für das Board “Arduino SAMD21” installiert wird, kann es vorkommen, dass der Treiber nicht korrekt installiert wird.
Leider gibt es keine Fehlermeldung bei der Installation, d.h. man erhält keinen Dialog, welcher auf eine fehlerhafte Installation hindeutet. Es wird lediglich beim Kompilieren des Sketches der Fehler “fatal error: core_cm0plus.h: No such file or directory” angezeigt.
Wenn man nun in das Installationsverzeichnis wechseln würde, und den Inhalt mit dem Umfang auf dem GitHub Repository vergleicht, erkennt man, dass einige Dateien fehlen.
Es bleibt somit die Lösung, die Arduino IDE mit Administratorrechten zu starten und den Treiber zunächst zu entfernen und danach neu zu installieren.
In meinem Fall dauerte die erneute Installation deutlich länger als zuvor, was davon zeugt, dass mehr Daten geladen werden.
Wenn jetzt der Sketch neu kompiliert und auf den Mikrocontroller hochgeladen wird, werden nachfolgende Daten in der Konsole angezeigt.
Der Sketch verwendet 11216 Bytes (4%) des Programmspeicherplatzes. Das Maximum sind 262144 Bytes.
Globale Variablen verwenden 2384 Bytes (7%) des dynamischen Speichers, 30384 Bytes für lokale Variablen verbleiben. Das Maximum sind 32768 Bytes.
Atmel SMART device 0x10010005 found
Device : ATSAMD21G18A
Chip ID : 10010005
Version : v2.0 [Arduino:XYZ] Apr 19 2019 14:38:48
Address : 8192
Pages : 3968
Page Size : 64 bytes
Total Size : 248KB
Planes : 1
Lock Regions : 16
Locked : none
Security : false
Boot Flash : true
BOD : true
BOR : true
Arduino : FAST_CHIP_ERASE
Arduino : FAST_MULTI_PAGE_WRITE
Arduino : CAN_CHECKSUM_MEMORY_BUFFER
Erase flash
done in 0.839 seconds
Write 11216 bytes to flash (176 pages)
[==============================] 100% (176/176 pages)
done in 0.091 seconds
Verify 11216 bytes of flash with checksum.
Verify successful
done in 0.010 seconds
CPU reset.
In meinem Fall habe ich ein kleines Sketch zum Blinken einer LED hochgeladen (siehe unter Beispiele in diesen Beitrag). Das Sketch verbraucht / belegt 4% des verfügbaren Speicher und wurde in knapp 1sek. hochgeladen.
LED blinken
Als Erstes nun ein kleines Beispiel mit einer 5 mm LED am Board, welche wir zum Blinken bringen möchten. Dieses ist recht einfach, da der Mikrocontroller nicht anders als andere Mikrocontroller der Arduino Familie in der Arduino IDE programmiert wird.
Aufbau der Schaltung
Quellcode
#define led 12 void setup(){ pinMode(led, OUTPUT); } void loop(){ digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW); delay(500); }
Video
Ausblick
Nachdem der Mikrocontroller erfolgreich in der Arduino IDE installiert bzw. eingerichtet wurde, kann nun mit weiteren kleinen bis mittleren Projekten begonnen werden.
Als Nächstes folgen jetzt die üblichen verdächtigen wie der digitale Temperatursensor DS18B20, der analoge Sensor LM35DZ.
Durch die vorhandenen drahtlosen Schnittstellen (Bluetooth Low Energy 4.2 & WiFi) ergeben sich auch einige kleine Projekte für das Web. Daher kommt auch der Namenszusatz IoT.
Des Weiteren stelle ich dir auch die recht neue Arduino Cloud vor und zeige dir mit diesen ein paar Beispiele.
Hübsch, aber zu dem Preis gibt es 5 ESP32.
Hi,
ja das stimmt wohl. Aber durch den verbauten Microcontroller ergeben sich andere Anwendungsbereiche daher ist ein pauschaler Vergleich nur über den Preis nur bedingt möglich.
Gruß,
Stefan Draeger
Super geschriebener und informativer Artikel :-). In diesen Blog werde ich mich noch richtig einlesen