Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Sprache

  • 0 0

CodeCell-Grundlagen: Ihre ersten Schritte

Wenn Sie gerade die CodeCell in die Hände bekommen haben, erwartet Sie ein echter Leckerbissen. Dieses winzige Modul vereinfacht Ihre DIY-Projekte mit zahlreichen Funktionen auf einer winzigen Platine. 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, verschiedenen Stromversorgungsoptionen und integrierten Sensoren – und das alles in einem winzigen, nur 1,85 cm breiten Formfaktor. Diese Eigenschaften machen es zu einem leistungsstarken Werkzeug für eine Vielzahl von Anwendungen.

In diesem ersten Abschnitt machen wir uns zunächst mit der Schaltung der CodeCell vertraut. Anschließend führen wir Sie durch die einfachen Schritte zur Einrichtung Ihrer CodeCell .

ESP32C3-Modul

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

Die PCB-Antenne des ESP32C3-Moduls ist seitlich, abseits von anderen Komponenten, positioniert, um Störungen zu minimieren und Signalübertragung und -empfang zu verbessern. Diese Platzierung trägt dazu bei, den Einfluss von Masseflächen oder anderen leitfähigen Oberflächen, die die Antennenleistung beeinträchtigen könnten, zu reduzieren. Die Komponenten auf der Unterseite befinden sich innerhalb des empfohlenen Abstands zur Antenne. Tests haben gezeigt, dass die Leistung der Antenne durch die minimalen Störungen eines USB-C-Kabels unbeeinflusst bleibt, da diese Kabel typischerweise abgeschirmt sind.

Der ESP32-C3 bietet mit 4 MB Flash und 400 KB SRAM ausreichend Speicher und ist damit für die meisten gängigen Anwendungen geeignet. Sein 32-Bit-RISC-V-Single-Core-Prozessor mit bis zu 160 MHz bewältigt 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 neu flashen und serielle Daten zur Kommunikation und zum Debuggen senden können.

Energieverwaltung

Die CodeCell bietet flexible Stromversorgungsoptionen. Sie kann über den LiPo-Akkuanschluss, 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 die Gefahr eines versehentlichen Kurzschlusses besteht.

Der USB-C-Anschluss dient zwei Zwecken: Er dient sowohl der Stromversorgung als auch der Neuprogrammierung des Geräts. Diese Multi-Power-Option wird durch den Batteriemanagement-Chip BQ24232 ermöglicht. Dieser verfügt über dynamisches Power-Path-Management (DPPM), das das System mit Strom versorgt und gleichzeitig den Akku unabhängig lädt. Der Ladevorgang erfolgt in drei Phasen: Konditionierungsvorladung, Konstantstrom und Konstantspannung. Zum Schutz des Akkus wird die Ausgangsspannung (Vo) durch den BQ24232-Chip geregelt. Dieser Ausgang unterstützt einen maximalen Ausgangsstrom von 1500 mA bei Versorgung über den LiPo-Akku und 450 mA bei Versorgung über USB.

Der Ladestrom des LiPo-Akkus ist standardmäßig auf 90 mA eingestellt, was eine ausgewogene und sichere Laderate für den optionalen 170-mAh-LiPo-Akku gewährleistet. Um die Laderate anzupassen, muss der 0402-Widerstand R12 abgelötet und durch einen neuen Widerstand nach der Formel (R = 870/Ichrg) ersetzt werden. Dies ist nur für Lötprofis zu empfehlen, die sich nicht vor dem Umgang mit winzigen 0402-Bauteilen scheuen! 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 geben:

  • 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. Dies hilft, Strom zu sparen, 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. Nach dem vollständigen Laden zeigt die LED eine atmende Lichtanimation an, die den von den Sensoren erfassten Abstand anzeigt.
  • Batteriebetrieben: Wenn das USBC getrennt und über die Batterie betrieben wird, leuchtet die CodeCell wieder grün und führt eine Lichtatmungsanimation aus, die den von den Sensoren erkannten Annäherungsabstand anzeigt.

Die Leistungsregelung wird zusätzlich durch mehrere Entkopplungskondensatoren unterstützt, darunter bis zu zwei Bulk-Kondensatoren mit je 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), die andere die Ausgangsspannung (Vo). Diese TVS-Dioden bieten Schutz vor elektrostatischen Entladungen (ESD) und können wiederholte ESD-Störungen über dem in der internationalen Norm IEC 61000-4-2 festgelegten Höchstwert sicher und ohne Leistungseinbußen absorbieren.

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

    GPIO- und Stromanschlüsse

    Angesichts des kompakten Designs bestand die größte Herausforderung darin, die GPIO-Pins optimal zu nutzen. Wir haben dies gelöst, indem wir jede der drei verfügbaren Seiten der CodeCell je nach Anwendung in verschiedene E/A-Bereiche unterteilt haben. Zusätzlich haben wir Stromanschlüsse an den Modulrändern angebracht, um den Anschluss an verschiedene Stromquellen zu erleichtern. So können Sie weitere Module, Sensoren und Aktoren an verschiedenen Seiten anschließen.

    Auf der Unterseite werden drei von fünf Pins für die Stromversorgung verwendet: ein Masse-Pin (GD), ein 3,3-V-Logikpegel-Stromversorgungs-Pin (3V3) und ein 5-V-Ladeeingangs-Pin (5V0). Dieser 5V0-Pin ist mit der USB-Eingangsspannung verbunden. Das bedeutet, dass Sie ihn nutzen können, um 5 V Strom zu beziehen, wenn USB angeschlossen ist, oder ihn als Stromeingang zum Laden anstelle von USB verwenden können. Die anderen beiden Pins sind die I2C-SDA- und SCL-Pins zum Anschluss externer digitaler Sensoren. Wenn Sie keine externen Sensoren und keine Licht-/Bewegungssensoren verwenden, können diese I2C-Pins als GPIOs eingerichtet werden.

    Die anderen beiden Seiten verfügen jeweils über einen Masseanschluss (GD) und einen Spannungsausgangsanschluss (VO). Jede Seite verfügt außerdem über drei programmierbare GPIO-Anschlüsse (IO1, IO2, IO3, IO5, IO6, IO7), die alle als PWM-Anschlüsse 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-Anschlüsse verwendet werden.

    Die ADC-Pins unterstützen Spannungen bis zu 3,3 V. Die Referenzspannung des ADC ist standardmäßig auf 2,5 V eingestellt. Dies kann nicht geändert werden.

    Sensorfunktionen

    Zu den herausragenden Merkmalen der CodeCell gehören die integrierten Sensoren. Jede Einheit ist mit einem integrierten Lichtsensor ausgestattet. Optional ist ein Bewegungssensor erhältlich, der die Bewegungserkennung Ihres Projekts verbessert – besonders nützlich für Robotik und Wearables!

    • VCNL4040 Lichtsensor: Dieser Sensor misst sowohl Lichtstärke als auch Nähe bis zu 20 cm. Er verfügt über ein hochauflösendes 16-Bit-Design, 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 I²C-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-Achsen-Bewegungssensor BNO085: Dieser fortschrittliche IMU-Sensor ist zwar ein teures Upgrade, aber wir sind überzeugt, dass er die Investition wert ist! Er erweitert die Fähigkeiten der CodeCell um einen integrierten 3-Achsen-Beschleunigungsmesser, ein 3-Achsen-Gyroskop und ein 3-Achsen-Magnetometer. Die fortschrittlichen Sensorfusionsalgorithmen des BNO085 kombinieren die Daten dieser Sensoren, um die Bewegungsdaten des Sensors präzise zu bestimmen, wie z. B.: Winkel- und Rotationsmessung (Rollen, Nicken, Gieren), Bewegungszustand (z. B. auf dem Tisch, stationär, in Bewegung), Bewegungsaktivität (z. B. Fahren, Gehen, Laufen), Beschleunigungsmessermessungen, Gyroskopmessungen, Magnetometermessungen, Schwerkraftmessungen, lineare Beschleunigungsmessungen, 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. Dadurch benötigt die CodeCell keine dedizierten RST- oder BOOT-Tasten, was uns ermöglichte, sie so klein zu gestalten.

    Sollte Ihre CodeCell einfrieren oder eine Ausnahme auftreten (was zu einem ständigen Reset führt), können Sie sie manuell in den Boot-Modus zwingen, um die Firmware neu zu flashen. Gehen Sie dazu folgendermaßen vor:

    • Verbinden Sie den SCL-Pin mit dem GND-Pin mit einem Kabel.
    • Ziehen Sie den USB-Stecker ab und schalten Sie den Akku aus (falls 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 die Batterie wieder ein, falls angeschlossen.

    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 umfangreiche Funktionen zum Initialisieren, Lesen und Verwalten von Sensoren und Stromversorgung. In diesem Abschnitt erklären wir Ihnen alles, was Sie zur Einrichtung Ihres Geräts und seiner Bibliothek wissen müssen.

      Auspacken Ihrer CodeCell

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

      1. CodeCell: Der Star der Show, Ihr kleines, aber leistungsstarkes Board 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 Ihrer Wahl ungelötet oder gelötet geliefert werden können.
      4. Akku/Kabel: Je nach Ihrer Auswahl beim Bezahlvorgang erhalten Sie entweder ein kostenloses Akkukabel zum Anschluss Ihres eigenen Akkus an den integrierten Anschluss der CodeCell oder einen 170 mAh 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, um zum Datenblatt des Akkus zu gelangen.

      CodeCell zum ersten Mal einschalten

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

      • Initialisierung: Richtet die interne Peripherie ein und konfiguriert die integrierten Sensoren. Anschließend wird eine „Hello World“-Meldung auf dem seriellen Monitor ausgegeben.
      • Ladezustandsprüfung: Die LED-Anzeige überwacht den Ladezustand und prüft, ob der Akku angeschlossen ist und geladen wird. Ist kein Akku zum Laden angeschlossen, läuft eine atmende Lichtanimation mit der integrierten RGB-LED. Die Geschwindigkeit der Animation ändert sich je nach Nähe des Lichtsensors. Nähern Sie sich dem Sensor, um die Animation zu verlangsamen. Entfernen Sie die Hand, um die Animation wieder zu beschleunigen! Die LED blinkt blau oder grün, je nachdem, ob das Board über USB oder Akku mit Strom versorgt wird. Lädt der Akku, leuchtet die LED 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-Anschluss: Verbinden Sie Ihre CodeCell über ein 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 „Weitere Board-Manager-URLs“ Folgendes ein: „ https://dl.espressif.com/dl/package_esp32_index.json “ und klicken Sie anschließend auf „OK“. Gehen Sie anschließend zu „Tools > Board > Boards Manager“. Suchen Sie nach „ESP32“ und klicken Sie auf „Installieren“.
      4. Wählen Sie die Platine aus: Im nächsten Schritt wählen Sie unsere Platine aus. Gehen Sie zu „Tools > Platine“ und wählen Sie „ESP32C3 Dev Module“. In einigen Wochen können Sie direkt nach „CodeCell“ suchen. Derzeit funktioniert die Auswahl von „ESP32C3 Dev Module“ jedoch einwandfrei, da es sich um den Mikrocontroller auf der CodeCell handelt.
      5. Port auswählen: Gehen Sie zu „Tools > Port“ und wählen Sie den COM-Port aus, der Ihrer CodeCell entspricht.
      6. Weitere Einstellungen: Navigieren Sie zu „Tools > USB_CDC_On_Boot“ und stellen Sie sicher, dass die Option aktiviert ist, wenn Sie den seriellen Monitor verwenden möchten. Stellen Sie außerdem die Taktfrequenz auf 160 MHz ein.

      Nachdem Ihre IDE eingerichtet ist, können wir nun die Bibliothek „CodeCell“ installieren. 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 ständig 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“. Dort finden Sie zahlreiche Beispiele, die Sie für Ihre Projekte verwenden und anpassen können. Wir empfehlen, mit dem Beispiel „Erste Schritte“ zu beginnen. Es enthält nur wenige Codezeilen, erklärt aber alle Sensorfunktionen von CodeCell .

      Nachdem Sie eine Beispielskizze ausgewählt haben, klicken Sie auf „Hochladen“, um den Code auf Ihre CodeCell zu übertragen. Öffnen Sie nach dem Hochladen den seriellen Monitor unter „Tools > Serieller Monitor“, um die seriellen Daten Ihrer CodeCell anzuzeigen.

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

      • Tiefengesten
      • Tipperkennung​
      • Nähe
      • Automatisches Dimmen
      • Schrittzähler
      • Winkelkontrolle
      • 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 Verwendung des CodeCell besteht darin, es zu initialisieren. Dies geschieht mit der Funktion `myCodeCell.Init()`, mit der Sie die zu aktivierenden Sensoren angeben können.

      Verfügbare Sensormakros:

      • LICHT – Aktiviert die Lichterkennung.
      • BEWEGUNGSBESCHLEUNIGUNGSMESSER - Aktiviert die Beschleunigungssensorik.
      • BEWEGUNGSKREIS - Aktiviert die Gyroskoperkennung.
      • BEWEGUNGSMAGNETOMETER - Aktiviert die Magnetometererfassung.
      • MOTION_LINEAR_ACC - Aktiviert die lineare Beschleunigungserfassung.
      • BEWEGUNG_SCHWERKRAFT - Aktiviert die Schwerkrafterkennung.
      • BEWEGUNGSDREHUNG - Aktiviert die Rotationserkennung.
      • BEWEGUNG_DREHUNG_KEINE_MAGAZIN - Ermöglicht Rotationserkennung ohne Magnetometer.
      • BEWEGUNGSSCHRITTZÄHLER - Aktiviert den Schrittzähler.
      • BEWEGUNGSZUSTAND - Aktiviert die Bewegungszustandserkennung.
      • BEWEGUNGS_TIPP_MELDER - Aktiviert den Tap-Detektor.
      • MOTION_ACTIVITY – Aktiviert die Bewegungsaktivitätserkennung.


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

      Energiemanagement

      Rufen Sie die Funktion myCodeCell.Run(frequency) in loop() auf, um den Energiestatus zu verwalten. Diese Funktion verwaltet auch die integrierte LED zur Anzeige des Energiestatus.

      Verhalten der Funktion Run():

      • Diese Funktion gibt mit der angegebenen Frequenz (zwischen 10 Hz und 100 Hz, abhängig vom übergebenen Wert) „true“ zurück. Dies kann für zeitbasierte Operationen verwendet werden. Beispielsweise gibt „Run(10)“ alle 10 Hz „true“ zurück, und „Run(100)“ alle 100 Hz.
      • Der Batterie- und Ladezustand wird alle 10 Hz überprüft. Die integrierte LED zeigt verschiedene Ladezustände an:
        • Rotes Blinken (10-maliges Blinken) – Batteriespannung unter 3,3 V, Wechsel in den Ruhemodus, bis das USB-Kabel zum Laden angeschlossen wird.
        • Grüne LED (Atemanimation) – Batteriebetrieben
        • Blaue LED (statisch) – Akku wird geladen
        • Grüne LED (statisch) – Akku ist vollständig geladen
        • Blaue LED (Atemanimation) – USB-Stromversorgung

      Während des Ladevorgangs beendet die CodeCell die Anwendung, lässt die LED blau leuchten und wartet, bis der Akku vollständig geladen ist. Sobald der Akku vollständig geladen ist, leuchtet die LED grün. Sobald das Kabel getrennt wird, beginnt eine grüne Lichtanimation mit einer Geschwindigkeit, die der Entfernung entspricht. Die Animation leuchtet grün, wenn der Akku mit Strom versorgt wird, und blau, wenn er über USB mit Strom versorgt wird.

      Sensordaten lesen

      Nach der Initialisierung der Sensoren können Sie deren Daten mithilfe verschiedener Funktionen der Bibliothek auslesen. 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.

      Bewegungssensorfunktionen:

      • 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 Rotationsgeschwindigkeitsdaten 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:


      Schlaf-, Energiespar-, 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 aufgeweckt wird, 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 niedrigen Stromverbrauch, bevor der Ruhemodus aktiviert wird.
      • USBSleep(bool cable_polarity) – Verwaltet den Ruhemodus des Geräts, wenn der Akkustand niedrig ist oder 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 für die Fehlersuche und 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 repräsentiert. 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 Rot-, Grün- und Blaukomponenten der Farbe darstellen. Jede Komponente hat einen Wert zwischen 0 und 255. Seien Sie bei der Verwendung dieser Funktion vorsichtig, da die Funktion „Ausführen“ Ihre LED-Farbe überschreiben könnte.

      Glückwunsch!

      Sie haben nun 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:

      Sozial

      Github

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

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

      © 2025 Microbots.