Die Standard-Version wird mit einem werkseitig vorinstallierten Programm namens Blink Light geliefert. Wenn du den XIAO einschaltest, leuchtet die orangefarbene Benutzeranzeige.
XIAO MG24 Sense
Das werkseitig vorinstallierte Programm in der Sense-Version ist so gestaltet, dass je lauter du schreist, desto heller das Licht leuchtet.
Hardware-Vorbereitung
Hinweis: Einige USB-Kabel können nur Strom liefern und keine Daten übertragen.
Softwarevorbereitung
Für das XIAO MG24 ist das empfohlene Programmierwerkzeug die
Arduino IDE, daher ist der erste Schritt der Softwarevorbereitung die vollständige Installation der Arduino-Software.
-
Schritt 1. Laden Sie die stabile Version der Arduino IDE entsprechend Ihrem Betriebssystem herunter und installieren Sie sie.
-
Schritt 2. Starten Sie die Arduino-Anwendung.
-
Schritt 3. Fügen Sie das XIAO MG24 On-Board-Paket zur Arduino IDE hinzu und klicken Sie auf OK.
-
Schritt 4. Schließen Sie die Arduino IDE und öffnen Sie sie erneut.
Fügen Sie das XIAO MG24 Board hinzu
Fügen Sie die untenstehende URL zu den Einstellungen Ihrer Arduino IDE hinzu.
Laden Sie das XIAO MG24 Board-Paket herunter.
Wählen Sie die Variante XIAO_MG24.
Beginnen Sie Ihr erstes Blink-Programm
Nachdem das Programm erfolgreich hochgeladen wurde, sehen Sie die untenstehende Ausgabemeldung und bemerken, dass die orange LED auf der rechten Seite des XIAO MG24 blinkt.
Batterieverwendung
Batterieanschluss und -verwaltung
Das XIAO MG24 verfügt über einen integrierten Power-Management-Chip, der es ermöglicht, es unabhängig mit einer Batterie zu betreiben oder die Batterie über den USB-Anschluss zu laden.
Wenn Sie planen, eine Batterie an das XIAO anzuschließen, empfehlen wir die Verwendung einer zertifizierten 3,7V wiederaufladbaren Lithiumbatterie. Beim Löten der Batterie stellen Sie bitte sicher, dass Sie die positiven und negativen Anschlüsse korrekt identifizieren. Der Minuspol sollte an der dem USB-Anschluss nächstgelegenen Seite angeschlossen werden, während der Pluspol an der dem USB-Anschluss am weitesten entfernten Seite angeschlossen wird.
Anzeige des Ladezustands
Wir haben eine rote Kontrollleuchte implementiert, die den Ladezustand der Batterie anzeigt und die Benutzer während des Ladevorgangs über den aktuellen Status informiert.
-
Ohne angeschlossene Batterie: Die rote Leuchte geht an, wenn das Type-C-Kabel angeschlossen wird, und schaltet sich nach 30 Sekunden automatisch aus.
-
Laden mit angeschlossener Batterie: Die rote Leuchte blinkt, während das Type-C-Kabel die Batterie lädt.
-
Wenn die Batterie vollständig geladen ist: Die rote Leuchte erlischt und signalisiert damit das Ende des Ladevorgangs.
Weitere Hinweise
-
Verwenden Sie qualifizierte Batterien: Verwenden Sie nur Batterien, die den angegebenen Anforderungen entsprechen.
-
Datenkabelverbindung: Das XIAO kann während des Batteriebetriebs über ein Datenkabel mit Ihrem Computer verbunden werden. Seien Sie versichert, dass es einen integrierten Schaltkreisschutzchip für die Sicherheit besitzt.
-
LED-Anzeige: Wenn das XIAO MG24 mit Batterie betrieben wird, zeigt es keine LED-Leuchten an (es sei denn, Sie haben es so programmiert). Bitte beurteilen Sie die Funktion des XIAO MG24 nicht anhand des LED-Status; verlassen Sie sich auf Ihr Programm für eine korrekte Bewertung.
-
Batteriestandsüberwachung: Leider können wir derzeit keine Möglichkeit bieten, den verbleibenden Batteriestand über Software zu überprüfen (aufgrund fehlender verfügbarer Chip-Pins). Sie sollten die Batterie regelmäßig aufladen oder ein Multimeter verwenden, um den Batteriestand zu überwachen.
Batteriespannungsmessung
Software-Code:
/* AnalogReadSerial
Liest einen analogen Eingang an Pin 0 aus und gibt das Ergebnis im Serial Monitor aus. Eine grafische Darstellung ist mit dem Serial Plotter (Werkzeuge > Serial Plotter Menü) verfügbar. Schließen Sie den mittleren Pin eines Potentiometers an Pin A0 an und die äußeren Pins an +5V und Masse.
Dieser Beispielcode ist gemeinfrei.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogReadSerial */
// Die Setup-Routine läuft einmal, wenn Sie Reset drücken: void setup() { Serial.begin(115200); pinMode(PD3, OUTPUT); digitalWrite(PD3, HIGH); }
void loop() { int spannungswert = analogRead(PD4); float spannung = spannungswert * (5.0 / 4095.0); Serial.print("Spannung: "); Serial.print(spannung, 2); Serial.println(" V"); delay(1000); // Verzögerung zwischen den Messungen für Stabilität }
|
Ergebnis anzeigen
Tiefschlaf- und Schlafbeispiel
Demo1 Schlafmodus und Aufwachen
/* ArduinoLowPower zeitgesteuertes Schlafbeispiel
Das Beispiel zeigt die grundlegende Verwendung der Arduino Low Power Bibliothek, indem das Gerät für eine bestimmte Zeit in den Schlaf versetzt wird. Das Gerät wechselt für 2000 ms in den Schlafmodus. Während des Schlafs wird die CPU gestoppt, aber der RAM behält seinen Inhalt.
Dieses Beispiel ist mit allen Silicon Labs Arduino-Boards kompatibel.
Autor: Tamas Jozsi (Silicon Labs) */
#include "ArduinoLowPower.h"
void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE); Serial.println("Schlaf mit zeitgesteuertem Aufwachen"); }
void loop() { digitalWrite(LED_BUILTIN, LED_BUILTIN_ACTIVE); delay(500); digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE); delay(500);
Serial.printf("Gehe schlafen um %lu\n", millis()); LowPower.sleep(2000); Serial.printf("Aufgewacht um %lu\n", millis()); }
|
Demo2 Tiefschlafmodus und Aufwachen
/* ArduinoLowPower Tiefschlaf-Beispiel mit externem oder zeitgesteuertem Aufwachen
Das Beispiel zeigt die grundlegende Verwendung der Arduino Low Power-Bibliothek, indem das Gerät in den Tiefschlaf versetzt wird. Das Gerät bleibt im Tiefschlaf, bis der Schlaf-Timer abläuft. Während des Tiefschlafs wird das gesamte Gerät außer einem minimalen Satz von Peripheriegeräten (wie dem Back-up RAM und RTC) abgeschaltet. Das bedeutet, dass die CPU gestoppt wird und der RAM-Inhalt verloren geht – das Gerät startet nach dem Aufwachen vom Anfang des Sketches.
Dieses Beispiel ist mit allen Silicon Labs Arduino-Boards kompatibel.
Autor: Tamas Jozsi (Silicon Labs) */
#include "ArduinoLowPower.h"
void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE); Serial.println("Tiefschlaf zeitgesteuertes Aufwachen"); }
void loop() { digitalWrite(LED_BUILTIN, LED_BUILTIN_ACTIVE); delay(500); digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE); delay(500);
Serial.printf("Gehe für 10s in den Tiefschlaf um %lu\n", millis()); LowPower.deepSleep(10000); }
|
Demo3 Tiefschlafmodus mit Flash und Aufwachen
Um den Tiefschlaf für den Flash zu aktivieren, müssen Sie das 0xb9-Register aktivieren.
/* ArduinoLowPower Tiefschlaf-Beispiel mit externem oder zeitgesteuertem Aufwachen
Das Beispiel zeigt die grundlegende Verwendung der Arduino Low Power-Bibliothek, indem das Gerät in den Tiefschlaf versetzt wird. Das Gerät bleibt im Tiefschlaf, bis der Schlaf-Timer abläuft. Während des Tiefschlafs wird das gesamte Gerät außer einem minimalen Satz von Peripheriegeräten (wie dem Back-up RAM und RTC) abgeschaltet. Das bedeutet, dass die CPU gestoppt wird und der RAM-Inhalt verloren geht – das Gerät startet nach dem Aufwachen vom Anfang des Sketches.
Dieses Beispiel ist mit allen Silicon Labs Arduino-Boards kompatibel.
Autor: Tamas Jozsi (Silicon Labs) */ #include #include "ArduinoLowPower.h"
#define CS_PIN PA6 #define CLK_PIN PA3 #define MOSI_PIN PA5 #define MISO_PIN PA4
#define READ_DATA 0x03 #define WRITE_ENABLE 0x06 #define PAGE_PROGRAM 0x02 #define SECTOR_ERASE 0x20
void sendSPI(byte data) { for (int i = 0; i < 8; i++) { digitalWrite(MOSI_PIN, data & 0x80); data <<= 1; digitalWrite(CLK_PIN, HIGH); delayMicroseconds(1); digitalWrite(CLK_PIN, LOW); delayMicroseconds(1); } }
void writeEnable() { digitalWrite(CS_PIN, LOW); sendSPI(WRITE_ENABLE); digitalWrite(CS_PIN, HIGH); }
void setup() { //Serial.begin(115200); pinMode(PA7, OUTPUT); digitalWrite(PA7, LOW);
pinMode(CS_PIN, OUTPUT); pinMode(CLK_PIN, OUTPUT); pinMode(MOSI_PIN, OUTPUT); pinMode(MISO_PIN, INPUT);
//SW pinMode(PD3, OUTPUT); pinMode(PB5, OUTPUT); pinMode(PB1, OUTPUT); pinMode(PB0, OUTPUT); pinMode(PA6, OUTPUT); digitalWrite(PD3, LOW); //VBAT digitalWrite(PB5, LOW); //RF_SW digitalWrite(PB1, LOW); //IMU digitalWrite(PB0, LOW); //MIC digitalWrite(PA6, HIGH); //FLASH
//Serial.println("Deep-Sleep zeitgesteuertes Aufwachen"); writeEnable(); digitalWrite(CS_PIN, LOW); sendSPI(0xB9); digitalWrite(CS_PIN, HIGH); }
void loop() { delay(12000); digitalWrite(PA7, HIGH); delay(500);
//Serial.printf("Gehe für 10s in den Deep-Sleep bei %lu\n", millis()); LowPower.deepSleep(600000); }
|

Schutz des XIAO MG24 vor Bricking im Deep-Sleep-Modus
Das XIAO MG24 von Seeed Studio ist ein leistungsstarkes Mikrocontroller-Board, aber Nutzer haben Probleme erlebt, bei denen das Gerät nach dem Eintritt in den Deep-Sleep-Modus nicht mehr reagiert ("gebrickt" ist). Diese Anleitung behandelt die Ursache, beschreibt einen Wiederherstellungsprozess und gibt Tipps, um das Bricken Ihres XIAO MG24 zu verhindern.
Wenn das XIAO MG24 in den Deep-Sleep-Modus (EM4) wechselt, um Energie zu sparen, kann es sein, dass es nicht richtig aufwacht und das Hochladen neuer Sketches blockiert. Im Gegensatz zu anderen XIAO-Boards verfügt das MG24 nicht über einen BOOT-Knopf oder eine klar dokumentierte Methode zum Bootmodus, was die Wiederherstellung erschwert.
Für detaillierte Wiederherstellungsschritte lesen Sie unten weiter.
1. Verwenden Sie den Escape-Pin (PC0)
Das XIAO MG24 verfügt über einen eingebauten Escape-Mechanismus, um ein Brick zu verhindern. Wenn PC0 während eines Resets auf LOW gezogen wird, geht das Gerät in eine Endlosschleife, sodass Sie einen neuen Sketch hochladen können.
-
Verbindung: Verbinden Sie PC0 mit GND, bevor Sie das Gerät zurücksetzen.
-
Hochladen: Nach dem Zurücksetzen laden Sie Ihren Sketch hoch, während sich das Gerät in der Schleife befindet.
2. Ändern Sie Ihren Sketch
Fügen Sie den folgenden Code zu Ihrem Sketch hinzu, um einen Benutzerschalter zu erkennen. Wenn der Schalter gedrückt wird, geht das Gerät in eine Endlosschleife, sodass Sie einen neuen Sketch hochladen können, während das Gerät in der Schleife ist:
#define USER_SW PC3 // Beispiel-Pin für Benutzerschalter
void setup() { // Anderer Setup-Code...
pinMode(USER_SW, INPUT_PULLUP); if (digitalRead(USER_SW) == LOW) { Serial.println("Aktivieren, um neuen Sketch hochzuladen"); while (true) { digitalWrite(LED_BUILTIN, LOW); delay(50); digitalWrite(LED_BUILTIN, HIGH); delay(50); } } }
|
3. Vermeiden Sie unnötigen Flash-Schlaf
Stellen Sie sicher, dass Ihr Sketch den Flash-Speicher nicht in den Schlafmodus (Deep Power Down) versetzt, es sei denn, es ist unbedingt erforderlich. Andernfalls können Probleme beim Hochladen neuer Sketche auftreten. Ein aktiver Flash-Speicher sorgt für einen reibungsloseren Upload-Prozess und verhindert potenzielles "Bricking" des Geräts.
Lösungen für den Zugriff auf die serielle Schnittstelle und Wiederherstellung
Windows-Lösungen
1. Laden Sie die bereitgestellte ZIP-Datei herunter.
2. Verbinden Sie das XIAO MG24
Verwenden Sie ein USB-Kabel, um das nicht reagierende XIAO MG24 mit Ihrem Computer zu verbinden.
3. Führen Sie das Skript aus
Öffnen Sie den extrahierten Ordner und finden Sie das flash_erase.bat Skript.
Doppelklicken Sie auf das Skript, um es auszuführen. Dadurch wird der Flash-Speicher gelöscht und das Gerät zurückgesetzt.
4. Wiederherstellung überprüfen
Nach Abschluss des Skripts sollte das XIAO MG24 wiederhergestellt und einsatzbereit sein.
macOS-Lösungen
1. Laden Sie die bereitgestellte ZIP-Datei herunter.
2. Verbinden Sie das XIAO MG24
Verwenden Sie ein USB-Kabel, um das nicht reagierende XIAO MG24 mit Ihrem Computer zu verbinden.
3.Erlauben Anschluss Zugriff
-
Öffnen Sie die Systemeinstellungen: Gehen Sie zu Systemeinstellungen auf Ihrem Mac.
-
Navigieren Sie zu Sicherheit & Datenschutz: Klicken Sie auf Sicherheit & Datenschutzdann gehen Sie zum Datenschutz Tab.
-
Barrierefreiheit überprüfen: Unter dem Barrierefreiheit Abschnitt, stellen Sie sicher, dass Terminal die Steuerung Ihres Computers erlaubt ist.
-
Terminal bei Bedarf hinzufügen: Wenn Terminal nicht aufgeführt ist, klicken Sie auf die + Schaltfläche, um es manuell hinzuzufügen. Wählen Sie Terminal aus Ihrem Programme-Ordner aus.
4.Führen Sie das Skript aus
5. Wiederherstellung überprüfen
Nach Abschluss des Skripts sollte das XIAO MG24 wiederhergestellt und einsatzbereit sein.
Hinweis
Wenn macOS OpenOCD nicht erkennt, überprüfen Sie bitte, ob OpenOCD installiert ist und ob das Skript den korrekten Pfad verwendet. Außerdem sind die bereitgestellten Skripte speziell für das XIAO MG24 angepasst und sollten nicht mit anderen XIAO-Modellen verwendet werden.
Weitere Informationen
Häufig gestellte Fragen
Gibt es detaillierte Informationen oder Parameter zu Seeed Studio XIAO MG24 Sense oder Standard?