M5StickC in der Arduino IDE programmieren

In diesem Beitrag möchte ich dir zeigen, wie du den M5StickC für die Programmierung in der Arduino IDE vorbereitest und einen ersten Sketch hochladen kannst.

M5StickC in der Arduino IDE programmieren
M5StickC in der Arduino IDE programmieren

Den M5StickC habe ich bisher in der Software UIFlow mit BlockUI programmiert und schon einige kleine bis große Projekte damit umgesetzt.

Bezug des M5StickC

Den M5StickC bekommst du zzt. in zwei Versionen, zum einen die alte Version (helles, oranges Gehäuse) und die neue Version den M5StickC Plus (dunkles, oranges Gehäuse).

Auf die Unterschiede zwischen den beiden Mikrocontroller gehe ich in einem separaten Beispiel ein.

In diesem Beitrag verwende ich die alte Version, aber für die kommenden Projekte trotzdem völlig ausreichend ist.

ShopM5StickCM5StickC Plus
ebay.de14,09 €32,34 €
aliexpress.com48,81 €24,93 €
amazon.de48,79 €
Bezugsquellen für den M5StickC & M5StickC Plus

Einrichten der Arduino IDE für den M5StickC

Damit du den benötigten Boardtreiber installieren kannst, musst du zunächst die URL hinzufügen, unter welcher dieser Teiber gefunden werden kann.

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

Unter den „Voreinstellungen“ welche du unter „Datei“ > „Voreinstellungen“ öffnen kannst, wählst du zunächst die Schaltfläche hinter dem Eingabefeld (1), in dem neuen Dialog „Zusätzliche Boardverwalter-URLs“ tragen wir nun die oben gezeigte URL ein (2) und bestätigen dieses mit der Schaltfläche „OK“ (3) im Abschluss wird der Dialog „Voreinstellungen“ ebenfalls über die Schaltfläche „OK“ (4) geschlossen.

Boardverwalter URL in der Arduino IDE hinzufügen
Boardverwalter URL in der Arduino IDE hinzufügen

Nun müssen / können wir den Boardtreiber für den M5StickC installieren. Dazu öffnen wir den Boardverwalter über „Werkzeuge“ > „Board: xyz“ > „Boardverwalter…“.

fghdfghd

Arduino IDE - Boardverwalter installieren M5Stack Lib - Step 1
Arduino IDE – Boardverwalter installieren M5Stack Lib – Step 1

Wenn die Installation abgeschlossen ist, dann wird dieses durch den kurzen Text „INSTALLED“ (3) angezeigt und wir können den Dialog über die Schaltfläche „Schließen“ (4) verlassen.

Arduino IDE - Boardverwalter installieren M5Stack Lib - Step 2
Arduino IDE – Boardverwalter installieren M5Stack Lib – Step 2

Nun müssen wir noch unseren M5StickC unter „Werkzeuge“ > „Board: xyz“ > „M5Stack Arduino“ auswählen.

Auswahl des Boards "M5StickC" in der Arduino IDE
Auswahl des Boards „M5StickC“ in der Arduino IDE

Einbinden der M5StickC Bibliothek

Für die Programmierung der Sensoren / Aktoren am M5StickC gibt es für die Arduino IDE eine spezielle Bibliothek, welche über den Bibliotheksverwalter installiert werden kann.

Den Bibliotheksverwalter findest du über Das Hauptmenü „Sketch“ > „Bibliothek einbinden“ > „Bibliotheken verwalten…“.

In dem nun geöffneten Dialog suchen wir zunächst nach „M5StickC“ (1) und wählen aus der Liste den Eintrag „“ aus und betätigen die Schaltfläche „Installieren“ (2)

Arduino IDE - Bibliotheksverwalter, installieren der M5StickC Bibliothek
Arduino IDE – Bibliotheksverwalter, installieren der M5StickC Bibliothek

Zusätzlich müssen wir noch bestätigen, dass die benötigten Abhängigkeiten installiert werden. Diese Abhängigkeiten (Dependencies) enthalten unter anderem die Bibliotheken für die Sensoren und Aktoren am M5StickC.

zusätzliche Abhängigkeiten für die M5StickC Bibliothek
Zusätzliche Abhängigkeiten für die M5StickC Bibliothek

Beispiele

Auf dem offizielen GitHub Repository m5stack / M5StickC findest du einige Beispiele zum M5StickC, hier möchte ich dir nun gerne zwei kleine Beispiele zeigen womit wir unsere Einrichtung der Arduino IDE überprüfen können.

„Hello World!“

Starten wir zunächst mit einem recht einfachen Beispiel, der Ausgabe von „Hello World!“ auf der seriellen Schnittstelle.

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello World!");
  delay(450);  
}
Programm "Hello World!" am M5StickC in der Arduino IDE
Programm „Hello World!“ am M5StickC in der Arduino IDE

Taster programmieren

Der M5StickC verfügt über zwei Taster welche wir frei programmieren können. In der nachfolgenden Grafik mit „Taster A“ & „Taster B“ bezeichnet.

Taster zur freien Programmierung am M5StickC
Taster zur freien Programmierung am M5StickC

Diese beiden Taster wollen wir als Erstes nutzen, um einen einfachen Zähler auf dem Display hoch und hinunter zuzählen.

#include <Bounce2.h>
#include <M5StickC.h>

//Taster A,  mit der Auschrift "M5" am GPIO 37 angeschlossen
#define btnA G37

//Taster B,  am GPIO 39 angeschlossen
#define btnB G39

//Pause in Millisekunden zwischen zwei Signalen
const int PAUSE = 50;

//initialisieren der Bounce Objekte für die Taster
Bounce btnAbounce = Bounce(btnA, PAUSE);
Bounce btnBbounce = Bounce(btnB, PAUSE);

//der Zähler welcher manipuliert werden soll
int counter = 0;

void setup() {
  //Taster als Eingang über den internen Pullup Widerstand
  pinMode(btnA, INPUT_PULLUP);
  pinMode(btnB, INPUT_PULLUP);

  //für das LCD Display
  M5.begin();
  //Bildschirm in Schwarz
  M5.Lcd.fillScreen(BLACK);
  //um 90° drehen
  M5.Lcd.setRotation(1);
}

void loop() {
  //aktualisieren des Tasters
  btnAbounce.update();
  btnBbounce.update();

  //Wenn der Taster A betätigt wird dann...
  if (btnAbounce.rose()) {
    //Zähler um eins erhöhen
    ++counter;
    //Ausgabe des Wertes des Zählers
    displayCounter();
  }

  //Wenn der Taster B wird wird dann...
  if (btnBbounce.rose()) {
    //Zähler um eins verringern
    --counter;
    //Ausgabe des Werstes des Zählers
    displayCounter();
  }
}

//Ausgeben des Wertes des Zählers
//auf dem LCD Display des M5StickC
void displayCounter() {
  //Display löschen und Schwarz einfärben
  M5.Lcd.fillScreen(BLACK);
  //Positionieren des Textes an den Koordinaten
  M5.Lcd.setCursor(20, 40);
  //Schriftfarbe weiß
  M5.Lcd.setTextColor(WHITE);
  //Schriftgröße 3
  M5.Lcd.setTextSize(3);

  //den Integer Wert in ein String umwandeln
  String text = String(counter, DEC);
  //Umwandeln des Strings in ein char* und ausgeben auf dem LCD Display
  M5.Lcd.printf(text.c_str());
}

Wenn wir nun die Taste A (auf dem Mikrocontroller mit „M5“ beschriftet) betätigen so wird die Zahl erhöht, wenn wir jedoch die Taste B oberhalb des Gehäuses betätigen so wird der Zähler um eins verringert.

Kommentar hinterlassen

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