Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

M5StickC in der Arduino IDE programmieren

Posted on 19. Januar 20229. März 2024 by Stefan Draeger

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.

  • M5StickC – Ein ESP32 Zwerg mit nützlichen onboard Funktionen in einem coolen Gehäuse
  • eine digitale Wasserwaage mit dem M5StickC
  • Ausgeben der Temperaturwerte des DS18B20 Sensors auf dem M5StickC
  • M5StickC mit Temperatur & Luftfeuchtigkeit & Luftdruck Sensor (ENV HAT)

  • Bezug des M5StickC
  • Einrichten der Arduino IDE für den M5StickC
  • Einbinden der M5StickC Bibliothek
  • Beispiele
    • „Hello World!“
  • Taster programmieren

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

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!

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 Treiber 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…“. Und suchen nach M5Stack, danach klicken wir auf die Schaltfläche „Installieren“.

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 offiziellen GitHub Repository m5stack / M5StickC findest du einige Beispiele zum M5StickC, hier möchte ich dir jetzt 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.

Schreibe einen Kommentar Antworten abbrechen

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

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}