In diesem Beitrag möchte ich dir den Arduino MKR WIFI 1010 vorstellen.
Der Arduino MKR WIFI 1010 ist einer von 9 Mikrocontrollern der Arduino MKR Familie.
Bezug eines Arduino MKR WIFI 1010
Den mir vorliegenden Mikrocontroller habe ich wieder über reichelt.de für 30,10 € zzgl. Versandkosten erstanden.
Du bekommst diesen Mikrocontroller jedoch auch in anderen Shops wie nachfolgend aufgelistet.
Shop | Preis | Versandkosten |
---|---|---|
https://www.reichelt.de/ | 30,10 € | 5,95 € |
https://www.conrad.de/ | 36,99 € | 4,95 € |
https://www.thalia.de/ | 37,99 € | – |
https://www.voelkner.de/ | 33,44 € | 5,95 € |
Lieferumfang
Zum Lieferumfang des Mikrocontrollers gehört noch zusätzlich ein paar Aufkleber sowie ein Garantiezettel.
Technische Daten
Der Mikrocontroller hat nachfolgende technische Daten:
Bezeichnung des Boards | Arduino® MKR WiFi 1010 |
Mikrocontroller | SAMD21 Cortex®-M0+ 32bit low power ARM MCU |
USB-Anschluss | Micro-USB |
Built-in LED | D6 |
Anzahl digitale Pins | 8 |
PWM Pins | 13 (0-8, 10, 12, A3, A4) |
Anzahl analoge Eingänge | 7 (ADC 8/10/12 bit) |
Anzahl analoge Ausgänge | 1 (DAC 10 bit) |
externe Interrupt Pins | 10 (0, 1, 4 – 9, A1, A2) |
Schnittstellen | Bluetooth, WiFi |
UART, SPI, I²C | |
Betriebsspannung | 5 V bis 7 V |
max. Stromstärke per GPIO | 7 mA |
Spannung per GPIO | 3.3 V |
LiPo Batterie Anschluss | JST PH, LiPo Single Cell, 3.7 V, min. 1024 mAh |
Abmaße (L x B x H) | 61,5 mm x 25 mm x 20 mm (mit Pins) |
In der offiziellen Dokumentation unter https://docs.arduino.cc/hardware/mkr-wifi-1010 findest du weitergehende Informationen zum Mikrocontroller und den Einsatz von diesem.
Programmierung in der Arduino Cloud
Der Mikrocontroller verfügt über eine WiFi-Schnittstelle, mit welcher sich dieser über die Arduino Cloud programmieren lässt.
Für die Programmierung über die Arduino Cloud benötigst du zusätzlich das Plugin Arduino Create Agent ein installiertes Plugin sowie den Browser Google Chrome und natürlich einen Account zur Arduino Cloud.
Einrichten des Mikrocontrollers in der Arduino Cloud
Wenn du in die Arduino Cloud eingeloggt bist, dann navigierst du über Devices > Add und wählst dort den Abschnitt “Arduino” aus. Nachfolgend nun ein kleines YouTube Video.
Arduino Oplà & Arduino MKR WiFi 1010
Den Arduino Oplà habe ich dir bereits im gleichnamigen Beitrag Arduino Oplà vorgestellt und auch bereits am Arduino MKR Zero gezeigt, wie dieser programmiert wird.
Jedoch gibt der Arduino Oplà sein ganzes Potenzial erst mit der WiFi Funktionalität frei und somit ist der hier vorgestellte Mikrocontroller die erste Wahl für das Modul.
Zunächst ein kleines Beispiel mit der Arduino Cloud und den RGB LEDs des Arduino Oplà.
Die RGB LEDs lassen sich aus der Cloud über einen Color Picker steuern. Jedoch ist der Code etwas tricky, denn das Element liefert einen HSV Wert, welcher in ein RGB Wert umgewandelt werden muss.
uint32_t getColorFromHSV(CloudColor color){ Color c = Color(color.getValue().hue, color.getValue().sat, color.getValue().bri); byte r; byte g; byte b; c.getRGB(r, g, b); return leds.Color(r, g, b); }
Das Programm zum steuern der RGB LEDs aus der Arduino Cloud:
#include "thingProperties.h" #include <Adafruit_DotStar.h> #define NUMPIXELS 5 #define DATAPIN 5 #define CLOCKPIN 4 Adafruit_DotStar leds = Adafruit_DotStar(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BGR); void setup() { Serial.begin(9600); delay(1500); initProperties(); ArduinoCloud.begin(ArduinoIoTPreferredConnection); setDebugMessageLevel(2); ArduinoCloud.printDebugInfo(); leds.begin(); leds.setBrightness(5); } void loop() { ArduinoCloud.update(); } uint32_t getColorFromHSV(CloudColor color){ Color c = Color(color.getValue().hue, color.getValue().sat, color.getValue().bri); byte r; byte g; byte b; c.getRGB(r, g, b); return leds.Color(r, g, b); } void setPixelColor(int index, CloudColor color){ leds.setPixelColor(index, getColorFromHSV(color)); leds.show(); } void onLed1Change() { setPixelColor(0, led1); } void onLed2Change() { setPixelColor(1, led2); } void onLed3Change() { setPixelColor(2, led3); } void onLed4Change() { setPixelColor(3, led4); } void onLed5Change() { setPixelColor(4, led5); }
Funktionen aus der Datei thingProperties.h
#include <ArduinoIoTCloud.h> #include <Arduino_ConnectionHandler.h> const char SSID[] = SECRET_SSID; // Network SSID (name) const char PASS[] = SECRET_OPTIONAL_PASS; // Network password (use for WPA, or use as key for WEP) void onLed1Change(); void onLed2Change(); void onLed3Change(); void onLed4Change(); void onLed5Change(); CloudColor led1; CloudColor led2; CloudColor led3; CloudColor led4; CloudColor led5; void initProperties(){ ArduinoCloud.addProperty(led1, READWRITE, ON_CHANGE, onLed1Change); ArduinoCloud.addProperty(led2, READWRITE, ON_CHANGE, onLed2Change); ArduinoCloud.addProperty(led3, READWRITE, ON_CHANGE, onLed3Change); ArduinoCloud.addProperty(led4, READWRITE, ON_CHANGE, onLed4Change); ArduinoCloud.addProperty(led5, READWRITE, ON_CHANGE, onLed5Change); } WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);