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

M5Stack BugC #1 – Programmieren und erster Test

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

In diesem Beitrag möchte ich dir in einem ersten Test zeigen wie du den M5Stack BugC Programmieren kannst.

M5Stack BugC - programmieren in M5Flow
Dieses Video auf YouTube ansehen.

  • Was ist der M5Stack BugC?
  • Bezug des BugC
  • Vorsicht beim Umgang mit LiPo Batterien
  • M5Stack BugC & M5StickC
  • Programmieren des M5Stack BugC in M5Flow
    • Einrichten des BugC in M5Flow
    • Wechselblinken der RGB LEDs
    • Steuern der Motoren des BugC über M5Flow
  • Fazit & Ausblick

Was ist der M5Stack BugC?

Der M5Stack BugC ist ein kleiner Roboter welcher über folgende Features verfügt:

  • an jeder Seite über einen Motor,
  • vorne zwei RGB LEDs,
  • unten eine LiPo Batterie vom Typ ICR16340 (3.7V)
M5Stack BugC
M5Stack BugC
M5Stack BugC
M5Stack BugC
M5Stack BugC
M5Stack BugC
M5Stack BugC - LiPo Batterie
M5Stack BugC – LiPo Batterie
M5Stack BugC
M5Stack BugC

Bezug des BugC

Meinen kleinen Roboter habe ich im Shop RobotShop für knapp 16 € zzgl. Versandkosten erstanden. Natürlich findest du diesen auch auf den einschlägigen Portalen wie ebay.de* oder banggood.com jedoch zu einem deutlich höheren Preis.

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!

M5Stack BugC - Verpackung
M5Stack BugC – Verpackung

Der Lieferumfang des BugC ist recht überschaulich, denn dieser wird fertig aufgebaut geliefert und in meinem Fall war sogar die LiPo Batterie bereits eingesteckt. Somit kann man nach dem Auspacken bereits loslegen.

Vorsicht beim Umgang mit LiPo Batterien

Beim Umgang mit der LiPo Batterie gibt es einiges zu beachten.

  • Eine LiPo Batterie darf nicht verpolt geladen werden!
  • Keinen Kurzschluss verursachen!
  • Keine extremen Temperaturen aussetzen!
    (idealler Temperaturbereich 10° C bis 40° C)
  • Nicht ins Feuer werfen!
    (generell bei Akkus & Batterien keine gute Idee)
  • Keinem Wasser aussetzen!
LiPo Batterie Typ 16340 & M5Stack BugC
LiPo Batterie Typ 16340 & M5Stack BugC

M5Stack BugC & M5StickC

Der M5StickC verfügt über eine 8polige Buchsenleiste und der BugC über eine passende 8polige Steckerleiste. (Bauartbedingt kann man den M5StickC nicht verkehrt einstecken.)

M5Stack BugC - 8polige Steckerleiste
M5Stack BugC – 8polige Steckerleiste
M5StickC - 8polige Buchsenleiste
M5StickC – 8polige Buchsenleiste

Der Mikrocontroller M5StickC sitz recht stramm auf dem BugC und kann nicht ohne weiteres runterfallen.

M5Stack BugC & M5StickC
Seitenansicht von links
M5Stack BugC & M5StickC
Ansicht von oben
M5Stack BugC & M5StickC
Ansicht von vorne
M5Stack BugC & M5StickC
Seitenansicht von rechts

Programmieren des M5Stack BugC in M5Flow

Der BugC lässt sich in der Software M5Flow recht einfach programmieren bzw. über den Block-Editor konfigurieren.

Auf dem GitHub Repository StefanDraeger / m5Stack findest du alle nachfolgenden Beispiele zum Download.

Du kannst dir die Software entweder unter https://shop.m5stack.com/pages/download herunterladen oder aber auch direkt im Browser arbeiten. Beide Versionen habe ich probiert und funktionieren mit diesem Roboter inkl. M5StickC.

Für die Programmierung im Browser benötigst du den API KEY, dieser wird dir auf dem M5StickC nach dem Start auf dem Display angezeigt.

M5Flow Browser Version
M5Flow Browser Version
M5StickC anzeige des API KEY nach dem Start
M5StickC anzeige des API KEY nach dem Start

Wenn du wie ich, hier die IDE als lokale Kopie auf dem Computer verwendest, dann musst du lediglich den COM-Port auswählen.

M5Flow - lokale Installation , Auswahl des COM-Ports
M5Flow – lokale Installation, Auswahl des COM-Ports

Einrichten des BugC in M5Flow

Zunächst müssen wir den BugC in der Software M5Flow einrichten. Dazu klicken wir auf den Text „HAT“ danach auf das Pluszeichen, es öffnet sich nun ein neues Fenster in welchem die verfügbaren HATs aufgelistet sind.

M5Flow - Schritte zum hinzufügen eines HAT Devices
M5Flow – Schritte zum Hinzufügen eines HAT Devices

Aus dieser Liste wählen wir nun den BugC aus und bestätigen die Auswahl mit der Schaltfläche „OK“.

M5Flow - Auswahl des BugC HAT
M5Flow – Auswahl des BugC HAT

Es wird nun ein zusätzlicher Menüpunkt „BugC“ unter „C-HAT“ angezeigt, wo du die 5 verschiedenen Elemente zum steuern des kleinen Roboters findest.

M5Flow - Menü - Elemente zum Steuern des BugC
M5Flow – Menü – Elemente zum Steuern des BugC

Wechselblinken der RGB LEDs

Wie bereits erwähnt, sind auf dem BugC zwei RGB LEDs verbaut, welche man recht einfach zum Wechsel blinken bringen kann.

M5Flow - M5Stack BugC, RGB Wechselblinker
M5Flow – M5Stack BugC, RGB Wechselblinker

Theoretisch kann man auch einen RGB Wert setzen und somit aus der 32-bit Farbpalette einen beliebigen Farbwert wählen. Jedoch sind die RGB LEDs nicht so gut als dass man wirklich feine Unterschiede erkennen kann. Also beschränkt man sich hier auf die Grundtöne.

Im nachfolgenden Code habe ich 3 Schleifen ineinander verschachtelt und kann somit die RGB Farbtöne auf den RGB LEDs anzeigen.

Auf dem Display des M5StickC wird dabei der RGB Wert ausgegeben.

from m5stack import *
from m5ui import *
from uiflow import *
import hat
import time

setScreenColor(0x111111)

hat_bugc0 = hat.get(hat.BUGC)

label0 = M5TextBox(45, 7, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=90)

steps = 35

while True:
  for red in range(0,256, steps):
    for green in range(0,256, steps):
      for blue in range(0, 256, steps):
        hat_bugc0.SetAllRGB((red << 16) | (green << 8) | blue)
        text = "rgb ("+ str(red) + "," + str(green) + "," + str(blue) + ")"
        label0.setText(text)
        time.sleep(0.015)

Steuern der Motoren des BugC über M5Flow

An jeder Ecke des BugC ist ein kleiner Motor verbaut, welcher einzeln angesteuert werden kann. Für das ansteuern der Motoren benötigen wir den jeweiligen Index des Motors.

Indexe der Motoren am M5Stack BugC
Indexe der Motoren am M5Stack BugC

Für die Steuerung der Motoren gibt es zwei verschiedene Elemente in M5Flow.

M5Stack HAT BugC - Element "SetPulse"
M5Stack HAT BugC – Element „SetPulse“
M5Stack HAT BugC - Element "SetAllPulse"
M5Stack HAT BugC – Element „SetAllPulse“

Das Element „SetPulse“ kann einen Motor steuern, wobei wir den Index übergeben müssen. Im Element „SetAllPulse“ können wir alle 4 Motoren gleichzeitig einen Wert zuordnen.

Als Werte sind positive und negative Zahlen möglich. Wobei wir bei einer Bewegung immer die entgegen gesetzten Motoren mit jeweils positiven / negativen Zahlen setzen.

M5Stack BugC - einfaches wackeln
M5Stack BugC – einfaches wackeln

Mit diesem kleinen Stück Code können wir nun den BugC einmal hin und her wackeln lassen.

Im Hintergrund kann man recht gut hören, dass ich das Programm mehrmals starte und der Roboter sich dann über den Tisch bewegt.

Fazit & Ausblick

Für den ersten Test dieses bis hier ausreichen. Als Nächstes möchte ich nun schauen, wie dieser kleine Roboter gesteuert werden kann.

Der M5StickC verfügt über eine WiFi sowie noch eine freie Grove Schnittstelle und somit haben wir die Möglichkeit über zbsp. einem IR Empfänger und einer entsprechenden Fernbedienung diesen kleinen Roboter zu steuern.

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

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • 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}