Menü
Microbots
0
  • Lernen
  • Geschäft
    • Module & Technik
    • Maker-Packs
    • Werkzeuge und Ausrüstung
    • Robots & Displays
    • Alle Produkte
  • Gemeinschaft
    • Education
    • Software
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Lernen
  • Geschäft
    • Module & Technik
    • Maker-Packs
    • Werkzeuge und Ausrüstung
    • Robots & Displays
    • Alle Produkte
  • Gemeinschaft
    • Education
    • Software
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Sprache

  • 0 0

CodeCell-Grundlagen: Ihre ersten Schritte

Wenn Sie gerade erst die CodeCell in die Hände bekommen haben, erwartet Sie ein Leckerbissen. Dieses winzige Modul wurde entwickelt, um Ihre DIY-Projekte mit zahlreichen Funktionen auf einer pfenniggroßen Platine zu vereinfachen. In dieser Anleitung führen wir Sie durch :

  • Was macht eine CodeCell aus? Und wie funktioniert ihre Schaltung?
  • So richten Sie Ihre CodeCell ein und verwenden sie
  • Erste Schritte mit Beispielen
  • Erklären Sie alle verfügbaren Bibliotheksfunktionen und wie Sie diese in Ihrem Projekt verwenden können

Was macht eine CodeCell aus?

CodeCell ist ein kompaktes und vielseitiges Modul mit dem ESP32-C3, mehreren Stromversorgungsoptionen und integrierten Sensoren – und das alles in einem winzigen Formfaktor von 1,85 cm Breite. Diese Funktionen machen es zu einem leistungsstarken Werkzeug für eine Vielzahl von Anwendungen.

In diesem ersten Abschnitt machen wir uns zunächst mit der Schaltung vertraut, aus der die CodeCell besteht. Danach gehen wir die einfachen Schritte zum Einrichten Ihrer CodeCell durch.

ESP32C3-Modul

Das Herzstück der CodeCell ist das ESP32C3-Modul, ein kompakter Mikrocontroller, der für seine Maker-Freundlichkeit im IoT-Bereich bekannt ist. Er kombiniert eine Arduino-kompatible Architektur mit integrierten Wi-Fi- und Bluetooth Low Energy (BLE)-Funktionen. Diese Integration bietet die gängigsten Konnektivitätsoptionen bei gleichzeitig kleinem Formfaktor.

Die PCB-Antenne des ESP32C3-Moduls ist auf einer Seite, entfernt von anderen Komponenten, positioniert, um Störungen zu minimieren und die Signalübertragung und den Signalempfang zu verbessern. Diese Platzierung trägt dazu bei, den Einfluss von Masseflächen oder anderen leitfähigen Oberflächen zu reduzieren, die die Antennenleistung beeinträchtigen könnten. Die Komponenten auf der Unterseite befinden sich innerhalb des empfohlenen Abstands für die Antenne. Beim Testen haben wir festgestellt, dass die Leistung der Antenne durch die minimalen Störungen eines USB-C-Kabels nicht beeinträchtigt wird, da diese Kabel normalerweise abgeschirmt sind.

Der ESP32-C3 bietet mit 4 MB Flash und 400 KB SRAM reichlich Speicher und kann damit die meisten typischen Anwendungen ausführen. Sein 32-Bit-RISC-V-Single-Core-Prozessor mit bis zu 160 MHz erledigt verschiedene Aufgaben effizient. Diese Kombination aus Speicher und Rechenleistung macht den ESP32-C3 für ein breites Anwendungsspektrum geeignet.

Das ESP32C3-Modul unterstützt auch einen USB-Seriell-/JTAG-Controller, sodass wir die CodeCell über den USB-C-Anschluss erneut flashen und serielle Daten zur Kommunikation und zum Debuggen senden können.

Energieverwaltung

Die CodeCell bietet Flexibilität bei den Stromversorgungsoptionen. Sie kann über den LiPo-Batterieanschluss, ein USB-C-Kabel oder beides mit Strom versorgt werden.

Mit dem LiPo-Batterieanschluss ist es einfacher als je zuvor, die Batterie sicher anzuschließen, ohne dass Lötarbeiten erforderlich sind oder das Risiko eines versehentlichen Kurzschlusses besteht.

Der USB-C-Anschluss dient zwei Zwecken: Er wird sowohl zum Betreiben des Geräts als auch zum Neuprogrammieren verwendet. Diese Multi-Power-Option wird durch den Batteriemanagement-Chip BQ24232 ermöglicht, der über dynamisches Power-Path-Management (DPPM) verfügt, das das System mit Strom versorgen und gleichzeitig und unabhängig die Batterie laden kann. Der Ladevorgang der Batterie wird in drei Phasen gesteuert: Konditionierungsvorladung, konstanter Strom und konstante Spannung. Zum Schutz der Batterie wird die Ausgangsspannung (Vo) durch den BQ24232-Chip geregelt. Dieser Ausgang unterstützt einen maximalen Ausgangsstrom von 1500 mA bei Stromversorgung durch die LiPo-Batterie und 450 mA bei Stromversorgung über USB.

Standardmäßig ist der Ladestrom des LiPo-Akkus auf 90 mA eingestellt, was eine ausgewogene und sichere Laderate für den optionalen 170-mAh-LiPo-Akku gewährleistet. Darüber hinaus muss der 0402-Widerstand R12 abgelötet und durch einen neuen Widerstand gemäß der Formel (R = 870/Ichrg) ersetzt werden, wenn man die Laderate anpassen möchte. Dies wird nur Lötprofis empfohlen, die sich nicht davor scheuen, mit winzigen 0402-Komponenten zu kämpfen! Weitere Informationen zum Laden des Akkus finden Sie im Datenblatt des BQ24232.

Die CodeCell- Bibliothek kann über die integrierte adressierbare RGB-LED visuelles Feedback zum Batterie-/USB-Stromstatus liefern:

  • Warnung bei schwacher Batterie: Wenn die Batteriespannung unter 3,3 V fällt, blinkt die LED zehnmal rot und das Gerät wechselt in den Ruhemodus. Dadurch wird Strom gespart, bis das Gerät wieder an ein USB-Ladegerät angeschlossen wird.
  • Ladevorgang: Während des Ladevorgangs unterbricht die CodeCell Anwendungsprozesse, lässt die LED blau leuchten und wartet, bis der Akku vollständig geladen ist. Sobald der Akku vollständig geladen ist, führt die LED eine atmende Lichtanimation aus, die den von den Sensoren erkannten Näherungsabstand anzeigt.
  • Batteriebetrieben: Wenn das USBC getrennt und über die Batterie betrieben wird, leuchtet die CodeCell wieder grün und führt eine Atemlichtanimation aus, um die von den Sensoren erkannte Annäherungsdistanz anzuzeigen.

Die Leistungsregelung wird zusätzlich durch mehrere Entkopplungskondensatoren unterstützt, darunter bis zu zwei Massenkondensatoren mit jeweils 100 µF, die neben dem Batterieanschluss platziert sind. Diese Kondensatoren sind mit den 3,3-V- und den Vo-Ausgangspins verbunden, um eine stabile Stromversorgung zu gewährleisten. Zusätzlich verfügt die Platine über zwei TVS-Dioden zum Schutz; eine schützt die 5-V-USB-Eingangsspannung (Vin) und die andere die Ausgangsspannung (Vo). Diese TVS-Dioden bieten Schutz vor elektrostatischen Entladungen (ESD) und können wiederholte ESD-Schläge über dem im internationalen Standard IEC 61000-4-2 festgelegten Höchstwert sicher absorbieren, ohne dass es zu Leistungseinbußen kommt.

Die Platine enthält außerdem einen integrierten 3,3-V-Low-Dropout-Regler (LDO), der eine stabile Stromversorgung für die Niederspannungskomponenten gewährleistet. Dieser winzige NCP177-LDO-Chip kann bis zu 500 mA Ausgangsstrom mit einer typisch niedrigen Dropout-Spannung von 200 mV bei 500 mA ausgeben.

    GPIO- und Stromversorgungspins

    Angesichts des kompakten Designs bestand die größte Herausforderung darin, die GPIO-Pins optimal zu nutzen. Wir haben dies erreicht, indem wir jede der drei verfügbaren Seiten der CodeCell je nach Anwendung in verschiedene E/A-Abschnitte unterteilt haben. Außerdem haben wir Stromanschlüsse an den Kanten des Moduls platziert, um den Anschluss an verschiedene Stromquellen zu erleichtern. So können Sie andere Module, Sensoren und Aktoren an verschiedenen Seiten anschließen.

    Auf der Unterseite werden 3 von 5 Pins für die Stromversorgung verwendet: ein Erdungspin (GD), ein 3,3-V-Logikpegel-Stromversorgungspin (3V3) und ein 5-V-Eingangsladepin (5V0). Dieser 5V0-Pin ist mit der USB-Eingangsspannung verbunden. Das bedeutet, dass Sie ihn verwenden können, um 5 V Strom zu erhalten, wenn USB angeschlossen ist, oder Sie können ihn als Stromeingang zum Laden verwenden, anstatt USB zu verwenden. Die anderen 2 Pins sind die I2C-SDA- und SCL-Pins zum Hinzufügen externer digitaler Sensoren. Wenn Sie keine externen Sensoren und die Licht-/Bewegungssensoren verwenden, können diese I2C-Pins als GPIOs eingerichtet werden.

    Die anderen beiden Seiten verfügen jeweils über einen Erdungsstift (GD) und einen Spannungsausgangsstift (VO). Jede Seite verfügt außerdem über 3 programmierbare GPIO-Pins (IO1, IO2, IO3, IO5, IO6, IO7), die alle als PWM-Pins konfiguriert werden können ( ideal für den direkten Anschluss einer H-Brücke zur Aktuator-/Motorsteuerung ). IO1, IO2 und IO3 können auch als ADC-Pins verwendet werden.

    Sensorfunktionen

    Zu den herausragenden Merkmalen der CodeCell gehören die integrierten Sensoren. Jede Einheit ist mit einem integrierten Lichtsensor ausgestattet. Außerdem ist ein optionaler Bewegungssensor erhältlich, um die Bewegungserkennung Ihres Projekts zu verbessern – besonders nützlich für Roboter und Wearables!

    • VCNL4040 Lichtsensor: Dieser Sensor misst sowohl Lichtstärke als auch Nähe bis zu 20 cm. Er verfügt über ein 16-Bit-Design mit hoher Auflösung, das einen Näherungssensor, einen Umgebungslichtsensor und einen Hochleistungs-IRED in einem kompakten Gehäuse vereint. Durch die Integration von Fotodioden, Verstärkern und einem Analog-Digital-Wandler auf einem einzigen Chip bietet er erweiterte Funktionalität. Die I2C-Konfiguration ist direkt in die CodeCell- Bibliothek eingebettet und stellt sicher, dass der Sensor automatisch initialisiert wird, um seine Sensorauflösung zu optimieren.
    • Optionaler 9-achsiger BNO085-Bewegungssensor: Dieser fortschrittliche IMU-Sensor ist ein teures Upgrade, aber wir glauben, dass er die Investition wert ist! Er erweitert die Fähigkeiten der CodeCell mit einem integrierten 3-Achsen-Beschleunigungsmesser, 3-Achsen-Gyroskop und 3-Achsen-Magnetometer + die fortschrittlichen Sensorfusionsalgorithmen des BNO085 kombinieren die Daten dieser Sensoren, um die Bewegungsdaten des Sensors genau zu bestimmen, wie: Winkelrotationsmessung (Rollen, Nicken, Gieren), Bewegungszustand (z. B. auf dem Tisch, stationär, in Bewegung), Bewegungsaktivität (z. B. Fahren, Gehen, Laufen), Beschleunigungsmessermessungen, Gyroskopmessung, Magnetometermessung, Schwerkraftmessung, lineare Beschleunigungsmessung, Tipperkennung, Schrittzähler. 

    Als Nächstes werden wir uns damit befassen, wie die CodeCell -Bibliothek sowohl die Konfiguration dieser Sensoren als auch das Lesen ihrer Daten vereinfacht.

    Was ist mit dem BOOT-Pin?

    Einige ESP32-Entwicklungsboards verfügen sowohl über eine RST-Taste (Reset) als auch eine BOOT -Taste, um das Gerät manuell in den Programmiermodus zu versetzen. Der ESP32-C3, wie beispielsweise der auf dem CodeCell-Modul, kann jedoch bei Verwendung der Arduino IDE automatisch über die serielle Schnittstelle in den Bootmodus wechseln. Das bedeutet, dass die CodeCell keine dedizierten RST- oder BOOT-Tasten benötigt, wodurch wir sie so klein machen konnten.

    In dem seltenen Fall, dass Ihre CodeCell einfriert oder eine Ausnahme auftritt (was dazu führt, dass sie kontinuierlich zurückgesetzt wird), können Sie sie manuell in den Bootmodus zwingen, um die Firmware neu zu flashen. Befolgen Sie dazu einfach diese Schritte:

    • Verbinden Sie ein Kabel zwischen dem SCL-Pin und dem GND-Pin.
    • Entfernen Sie das USB-Kabel und schalten Sie den Akku aus (sofern angeschlossen).
    • Schließen Sie den USB-Anschluss erneut an.
    • Programmieren Sie Ihre CodeCell mit neuem Code neu – stellen Sie sicher, dass Ihr Code nicht den Fehler enthält, der das Problem verursacht hat.
    • Entfernen Sie das kurzgeschlossene Kabel zwischen dem SCL-Pin und dem GND-Pin. Schalten Sie Ihre Batterie wieder ein, falls sie angeschlossen ist.

    Wenn Sie diese Schritte befolgen, wird Ihre CodeCell wieder zum Leben erweckt.

    Wie richten Sie Ihre CodeCell ein und verwenden sie?

      Um die Programmierung noch einfacher zu machen, CodeCell Die Bibliothek bietet eine breite Palette an Funktionen zum Initialisieren, Lesen und Verwalten von Sensoren und Strom. In diesem Abschnitt erklären wir alles, was Sie über die Einrichtung Ihres Geräts und seiner Bibliothek wissen müssen.

      Auspacken Ihrer CodeCell

      Beginnen wir mit dem, was Sie in der Box finden. Abhängig von den Optionen, die Sie beim Bezahlvorgang ausgewählt haben, finden Sie in der Box:

      1. CodeCell: Der Star der Show, Ihre kleine, aber leistungsstarke Platine mit dem ESP32-C3-Modul, programmierbaren GPIO-Pins und Sensoren.
      2. Schrauben: Vier M1,2 x 6 mm Schrauben zur sicheren Befestigung der CodeCell in Ihren Projekten.
      3. Header: Drei Sätze Buchsenleisten, die je nach Wahl ungelötet oder gelötet geliefert werden können.
      4. Akku/Kabel: Je nach Auswahl beim Bezahlvorgang erhalten Sie entweder ein kostenloses Akkukabel zum Anschluss Ihres eigenen Akkus an den Bordanschluss der CodeCell oder einen 170mAh 20C LiPo-Akku mit vorverlötetem Kabel. Dieser optionale Akku misst 23 x 17,5 x 8,7 mm und wiegt nur 4,6 Gramm. Klicken Sie hier, wenn Sie auf das Datenblatt des Akkus zugreifen möchten.

      CodeCell zum ersten Mal einschalten

      Beginnen wir mit dem Einstecken eines USB-C-Kabels! Sobald Ihre CodeCell mit Strom versorgt wird, sollte sie:

      • Initialisierung: Richtet die internen Peripheriegeräte ein und konfiguriert die integrierten Sensoren. Sobald dies abgeschlossen ist, wird eine „Hello World“-Nachricht auf dem seriellen Monitor ausgegeben.
      • Stromprüfung: Überwacht den Stromstatus, prüft, ob der Akku angeschlossen ist und ob er geladen wird. Wenn kein Akku zum Laden angeschlossen ist, wird eine atmende Lichtanimation mit der integrierten RGB-LED abgespielt. Die Animationsgeschwindigkeit ändert sich je nach Nähe des Lichtsensors. Bringen Sie Ihre Hand näher an den Sensor, um ihn zu verlangsamen. Bewegen Sie Ihre Hand weg, um ihn wieder zu beschleunigen! Die LED blinkt blau oder grün, je nachdem, ob die Platine über USB oder Akku mit Strom versorgt wird. Wenn der Akku geladen wird, bleibt die LED statisch blau, bis er vollständig geladen ist.

      Einrichten Ihrer CodeCell

      Der nächste Schritt besteht darin, die CodeCell mit der Arduino IDE zu verbinden und eine Skizze auszuführen:

      1. USB-Verbindung: Verbinden Sie Ihre CodeCell mit einem Standard-USB-C-Kabel mit Ihrem PC. Dieses Kabel versorgt die Platine nicht nur mit Strom, sondern ermöglicht auch die Neuprogrammierung.
      2. Installieren Sie die Arduino IDE: Wenn Sie neu in der Arduino-Welt sind, keine Sorge, laden Sie einfach die neueste kostenlose Version der Arduino IDE-Software von der offizielle Arduino-Website .
      3. URL des ESP32-Board-Managers hinzufügen: Wenn Sie noch nie einen ESP32 verwendet haben, öffnen Sie die Arduino IDE und navigieren Sie zu „Datei > Einstellungen“. Geben Sie im Feld „Zusätzliche Board-Manager-URLs“ Folgendes ein: „ https://dl.espressif.com/dl/package_esp32_index.json “ und klicken Sie dann auf „OK“. Gehen Sie dann zu „Tools > Board > Boards Manager“. Suchen Sie nach „ESP32“ und klicken Sie auf „Installieren“.
      4. Wählen Sie die Platine aus: Der nächste Schritt besteht darin, unsere Platine auszuwählen. Gehen Sie zu „Tools > Platine“ und wählen Sie „ESP32C3 Dev Module“. In einigen Wochen können Sie direkt nach „CodeCell“ suchen, aber im Moment funktioniert die Auswahl von „ESP32C3 Dev Module“ einwandfrei, da es sich um den Mikrocontroller handelt, der an Bord der CodeCell verwendet wird.
      5. Port auswählen: Gehen Sie zu „Tools > Port“ und wählen Sie den COM-Port aus, der Ihrer CodeCell entspricht.
      6. Andere Einstellungen: Navigieren Sie zu „Tools > USB_CDC_On_Boot“ und stellen Sie sicher, dass es aktiviert ist, wenn Sie den seriellen Monitor verwenden möchten. Stellen Sie außerdem die Taktfrequenz auf 160 MHz ein.

      Nachdem Ihre IDE vollständig eingerichtet ist, können wir nun mit der Installation der Bibliothek „CodeCell“ fortfahren. Gehen Sie dazu zu „Sketch > Bibliothek einbinden > Bibliotheken verwalten“ – der „Bibliotheksmanager“ sollte sich öffnen. Geben Sie einfach „CodeCell“ ein und klicken Sie auf „Installieren“, um die neueste Version von CodeCell herunterzuladen.

      Wir aktualisieren diese Bibliothek kontinuierlich und fügen neue Funktionen hinzu. Stellen Sie daher sicher, dass Sie die neueste Version verwenden.

      Um sich schnell mit dieser Bibliothek vertraut zu machen, gehen Sie zu „Datei > Beispiele > CodeCell“, wo Sie mehrere Beispiele finden, die Sie für Ihre Projekte verwenden und ändern können. Wir empfehlen, mit dem Beispiel „GettingStarted“ zu beginnen, das nur wenige Codezeilen enthält, aber alle mit CodeCell verfügbaren Sensorfunktionen erklärt.

      Sobald Sie eine Beispielskizze ausgewählt haben, klicken Sie auf die Schaltfläche „Hochladen“, um den Code auf Ihre CodeCell zu flashen. Öffnen Sie nach dem Hochladen den seriellen Monitor „Tools > Serieller Monitor“, um serielle Daten von Ihrer CodeCell anzuzeigen.

      Hier sind einige zusätzliche CodeCell- Tutorials, die Ihnen den Einstieg in verschiedene Anwendungen erleichtern:

      • Tiefe Gesten
      • Tipperkennung​
      • Nähe
      • Automatisches Dimmen
      • Schrittzähler
      • Winkelsteuerung
      • Persönliche Aktivitätsraten
      • Drahtlose Fernbedienung
      • KI-Eingabeaufforderung
      • Alexa Lichtsteuerung

      CodeCell-Bibliotheksfunktionen

      Um den Code genauer zu untersuchen, wollen wir alle Funktionen aufschlüsseln und erklären, was jede einzelne macht:

      CodeCell initialisieren

      Der erste Schritt bei der Nutzung der CodeCell besteht darin, es zu initialisieren. Dies geschieht mit der Funktion `myCodeCell.Init()`, mit der Sie die Sensoren angeben können, die Sie aktivieren möchten.

      Verfügbare Sensormakros:

      • LICHT – Aktiviert die Lichterkennung.
      • BEWEGUNGSBESCHLEUNIGUNGSMESSER - Aktiviert die Beschleunigungsmessung.
      • BEWEGUNGSGYRO - Aktiviert die Gyroskoperkennung.
      • BEWEGUNGSMAGNETOMETER - Aktiviert die Magnetometer-Erkennung.
      • BEWEGUNG_LINEAR_ACC - Aktiviert die lineare Beschleunigungserfassung.
      • BEWEGUNG_SCHWERKRAFT - Aktiviert die Schwerkrafterkennung.
      • BEWEGUNGSROTATION - Aktiviert die Rotationserkennung.
      • BEWEGUNG_DREHUNG_OHNE_MAG - Ermöglicht Rotationserkennung ohne Magnetometer.
      • BEWEGUNGSSCHRITTZÄHLER - Aktiviert den Schrittzähler.
      • BEWEGUNGSZUSTAND - Aktiviert die Bewegungszustandserkennung.
      • BEWEGUNGSTIPPMELDER - Aktiviert den Tippdetektor.
      • MOTION_ACTIVITY – Aktiviert die Bewegungsaktivitätserkennung.


      Sie können mehrere Makros mit dem Operator „+“ kombinieren, um mehrere Sensoren gleichzeitig zu initialisieren.

      Energiemanagement

      Die Funktion `myCodeCell.Run()` ist für die Energieverwaltung von entscheidender Bedeutung. Diese Funktion sollte innerhalb der Funktion `loop()` aufgerufen werden, um den Batteriestatus zu verwalten und eine optimale Energienutzung sicherzustellen.

      Funktionsverhalten:

      • Die Funktion gibt alle 100 ms „true“ zurück, was für zeitbasierte Vorgänge verwendet werden kann.
      • Es steuert die integrierte LED, um verschiedene Stromzustände anzuzeigen:
        • Rotes Blinken (10-mal blinkend) – Batteriespannung unter 3,3 V, Wechsel in den Ruhemodus.
        • Grüne LED (Atem-Animation) – Batteriebetrieben
        • Blaue LED (statisch) – Akku wird geladen
        • Blaue LED (Atemanimation) – Vollständig aufgeladen und betriebsbereit.

      Sensordaten auslesen

      Nach der Initialisierung der Sensoren können Sie deren Daten mithilfe verschiedener von der Bibliothek bereitgestellter Funktionen lesen. Hier ist ein kurzer Überblick über die verfügbaren Funktionen:

      Lichtsensorfunktionen:

      • Light_ProximityRead() – Liest den Näherungswert vom Lichtsensor.
      • Light_WhiteRead() – Liest die Weißlichtintensität vom Lichtsensor.
      • Light_AmbientRead() – Liest die Umgebungslichtintensität vom Lichtsensor.

      Funktionen des Bewegungssensors:

      • Motion_AccelerometerRead(float &x, float &y, float &z) – Liest Beschleunigungsdaten entlang der x-, y- und z-Achse.
      • Motion_GyroRead(float &x, float &y, float &z) – Liest Daten zur Rotationsgeschwindigkeit entlang der x-, y- und z-Achse.
      • Motion_MagnetometerRead(float &x, float &y, float &z) – Liest Daten zur magnetischen Feldstärke entlang der x-, y- und z-Achse.
      • Motion_GravityRead(float &x, float &y, float &z) – Liest Schwerkraftvektordaten entlang der x-, y- und z-Achse.
      • Motion_LinearAccRead(float &x, float &y, float &z) – Liest lineare Beschleunigungsdaten entlang der x-, y- und z-Achse.
      • Motion_TapRead(uint16_t &x) – Liest die Anzahl der erkannten Taps.
      • Motion_StepCounterRead(uint16_t &x) – Liest die Anzahl der gezählten Schritte.
      • Motion_RotationRead(float &roll, float &pitch, float &yaw) – Liest Winkelrotationsdaten (Rollen, Nicken, Gieren).
      • Motion_RotationNoMagRead(float &roll, float &pitch, float &yaw) – Liest Winkelrotationsdaten ohne Verwendung des Magnetometers.
      • Motion_StateRead(uint16_t &x) – Liest den aktuellen Status (z. B. „Auf dem Tisch“, „Stationär“, „Bewegung“).
      • Motion_ActivityRead(uint16_t &x) – Liest die aktuelle Aktivität (z. B. Fahren, Gehen, Laufen).

      Anwendungsbeispiel:


      Ruhezustand, Energiesparen, Diagnose- und LED-Funktionen

      Die CodeCell umfasst mehrere Funktionen zur Verwaltung des Ruhe- und Energiesparmodus:

      • WakeUpCheck() - Überprüft den Grund für das Aufwachen des Geräts. Wenn das Gerät durch ein Timer-Ereignis aufgewacht ist, gibt es „true“ zurück, andernfalls „false“.
      • Sleep(uint16_t sleep_sec) – Versetzt das Gerät für eine bestimmte Dauer in Sekunden in den Tiefschlafmodus. Es konfiguriert die erforderlichen Pins und Sensoren für einen geringen Stromverbrauch, bevor es in den Schlafmodus wechselt.
      • USBSleep(bool cable_polarity) - Verwaltet den Ruhemodus des Geräts, wenn der Akkustand niedrig ist oder wenn das Gerät über USB aufgeladen wird. Es beendet die Anwendung und bereitet das Gerät auf den Ruhemodus vor, um bei Bedarf eine Neuprogrammierung zu ermöglichen.
      • PrintSensors() - Druckt die aktuellen Messwerte aller initialisierten Sensoren auf den seriellen Monitor. Diese Funktion ist besonders nützlich zum Debuggen und zur Datenprotokollierung.
      • BatteryRead() – Diese Funktion liest und gibt die Batteriespannung zurück, wenn der USB-C-Anschluss getrennt wird.
      • LED_Breathing(uint32_t rgb_color_24bit) – Diese Funktion wird im Run()-Handler verwendet, um die integrierte LED zu steuern und einen Atmungseffekt mit einer bestimmten Farbe zu erzeugen. Der Parameter „rgb_color_24bit“ ist ein 24-Bit-Farbwert, der die RGB-Farbe darstellt. Seien Sie bei der Verwendung dieser Funktion vorsichtig, da die Funktion „Run“ Ihre LED-Farbe überschreiben könnte.
      • LED(uint8_t r, uint8_t g, uint8_t b) - Diese Funktion legt die Farbe der integrierten adressierbaren LED mithilfe des RGB-Modells fest, wobei „r“, „g“ und „b“ 8-Bit-Werte sind, die die roten, grünen und blauen Komponenten der Farbe darstellen. Jede Komponente reicht von 0 bis 255. Seien Sie bei der Verwendung dieser Funktion vorsichtig, da die Funktion „Ausführen“ Ihre LED-Farbe überschreiben könnte.

      Glückwunsch!

      Sie haben jetzt Ihre ersten Schritte mit CodeCell gemacht. Tauchen Sie tiefer in die Bibliotheksbeispiele ein, erkunden Sie Sensorintegrationen und beginnen Sie, Ihre innovativen Projekte mit CodeCell zum Leben zu erwecken!



      • Teilen:


      Vollständigen Artikel anzeigen

      Linking Your CodeCell to the MicroLink App
      Linking Your CodeCell to the MicroLink App

      Vollständigen Artikel anzeigen

      Debugging CodeCell
      Debugging CodeCell

      Vollständigen Artikel anzeigen

      CodeCell: Connecting with BLE
      CodeCell: Connecting with BLE

      Vollständigen Artikel anzeigen

      Sozial

      Github

      • Um
      • Software
      • Education
      • Kontakt
      • FAQs
      • Bedingungen
      • Rückerstattung-Politik
      • Datenschutzrichtlinie

      Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!

      © 2025 Microbots.