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 - Schlafen gehen

Energieeffizienz ist für viele eingebettete Anwendungen entscheidend, insbesondere für solche, die Batteriestrom benötigen. In dieser Anleitung erfahren Sie, wie Sie CodeCell in den Energiesparmodus versetzen und mithilfe eines Näherungssensors aktivieren.

Den Ruhemodus von CodeCell verstehen

Für Anwendungen, die eine vollständige Stromabschaltung erfordern, können Sie einen Schalter in Reihe mit der Batterie schalten. So können Sie das Gerät manuell ein- und ausschalten. Alternativ können Sie CodeCell in den Ruhemodus versetzen und bei Sensoraktivität aktivieren.

CodeCell hat einen durchschnittlichen Ruhestrom von 689 μA. Obwohl dieser Wert höher sein kann als für manche Ultra-Low-Power-Anwendungen erforderlich, arbeiten wir aktiv daran, den Stromverbrauch in der nächsten Version zu optimieren und gleichzeitig die Größe beizubehalten.

Aufgrund der geringen Größe und der begrenzten Anzahl an Pins des ESP32C3 konnten wir keinen dedizierten Interrupt-Pin für die Sensoren zum Aufwecken des Geräts integrieren. Ein echter Hardware-Interrupt wäre zwar ideal, Sie können CodeCell jedoch auch in den Ruhemodus versetzen, indem Sie vor dem Aufwecken regelmäßig die Sensoraktivität prüfen.

Implementieren des Ruhemodus

Der folgende Code veranschaulicht, wie CodeCell in den Ruhemodus wechselt und aufwacht, wenn eine Nähe erkannt wird.

 
#include <CodeCell.h>

 CodeCell myCodeCell;

 void setup() {
 Serial.begin(115200);

 delay(60); // Waking up from Sleep - add a small delay for Serial
 if (myCodeCell.WakeUpCheck()) {
 // Initialize light sensor
 while (myCodeCell.Light_Init() == 1) {
 delay(1);
 myCodeCell.LightReset(); // If sensor not responding, reset it
 }
 delay(40);
 myCodeCell.Light_Read(); // Read value from light sensor
 if (myCodeCell.Light_ProximityRead() < 10) { 
myCodeCell.Sleep(1); // Wenn immer noch keine Nähe erkannt wird, gehe zurück in den Ruhezustand und überprüfe nach 1 Sekunde erneut
 }
 }

 myCodeCell.Init(LIGHT); // Zeit zum Aufwachen – Initialisiert alle CodeCell-Peripheriegeräte
 }

 void-Schleife() {
 if (myCodeCell.Run(10)) { // Alle 10 Hz ausführen
 wenn (myCodeCell.Light_ProximityRead() < 10) {
 myCodeCell.Sleep(1); // Wenn keine Nähe erkannt wird, gehe in den Ruhezustand und überprüfe nach 1 Sekunde erneut
 }
 }
 }

So funktioniert es:

  1. Beim Booten initialisiert CodeCell den Lichtsensor und prüft die Nähe.

  2. Wenn keine Nähe erkannt wird, wechselt CodeCell für 1 Sekunde in den Ruhemodus.

  3. Jede Sekunde wird CodeCell kurz aktiviert, prüft die Nähe und geht bei Bedarf wieder in den Ruhezustand.

  4. Wenn eine Nähe erkannt wird, wird CodeCell vollständig aktiviert und initialisiert alle Peripheriegeräte.

Abschluss

Mit diesem Beispiel können Sie CodeCell deutlich stromsparender gestalten und es so für batteriebetriebene Anwendungen optimieren. Wir arbeiten kontinuierlich daran, CodeCell für Anwendungen mit geringem Stromverbrauch zu optimieren. Bleiben Sie dran für Updates und Verbesserungen!

  • 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.