Arduino MKR WIFI 1010

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.

ShopPreisVersandkosten
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 BoardsArduino® MKR WiFi 1010
MikrocontrollerSAMD21 Cortex®-M0+ 32bit low power ARM MCU
USB-AnschlussMicro-USB 
Built-in LEDD6
Anzahl digitale Pins8
PWM Pins13 (0-8, 10, 12, A3, A4)
Anzahl analoge Eingänge7 (ADC 8/10/12 bit)
Anzahl analoge Ausgänge1 (DAC 10 bit)
externe Interrupt Pins10 (0, 1, 4 – 9, A1, A2)
SchnittstellenBluetooth, WiFi
UART, SPI, I²C
Betriebsspannung5 V bis 7 V
max. Stromstärke per GPIO7 mA
Spannung per GPIO3.3 V
LiPo Batterie AnschlussJST 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.

Einrichten des Arduino MKR WiFi 1010 in der Arduino Cloud

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à.

Arduino IoT Cloud - Dashboard zum steuern der RGB LEDs
Arduino IoT Cloud – Dashboard zum steuern der RGB LEDs

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);

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert