Im Deep Sleep Beschleunigung auswerten

OP #5860490
Lesenswert?

Hi ich verwende aktuell einen Adafruit ESP32 Feather.

Ich plane ein Projekt mit einem Controller der sich die meiste Zeit im 
Deep Sleep befinden soll und bei einer bestimmten Beschleunigung aus dem 
Deep Sleep aufwacht.
Als Beschleunigungssensor verwende ich aktuell einen Sensor von 
Sparkfun.

Wie ich aus dem Deep Sleep mit GPIOs oder Timern aufwache weiß ich 
bereits, aber ich komme nicht weiter beim Aufwachen über einen analogen 
Wert.

Ich hab bisher nur herausgefunden, dass ich dazu den ULP Prozessor 
verwenden muss aber wie?!

Besten Dank für Hilfe!
Gast #5860519
Lesenswert?

Lucas S. schrieb:
> Adafruit ESP32 Feather

Lucas S. schrieb:
> Danke für die schnelle Antwort.
>
> Es geht mir ja in erster Linie darum, dass Bluetooth und Wlan Modul
> abgeschaltet werden.
> Im Deep Sleep sind ja sowohl RTC memory und RTC Co-Prozessor aktiv.
> Gibt es denn da keine Möglichkeit das zu nutzen.

Es gibt bei einigen Controllern die Möglichkeit, dass der ADC bei einer 
überschreiten/unterschreiten einer Schwellspannunng einen Interrupt 
auslöst.
Gast #5860524
Lesenswert?

Lucas S. schrieb:
> Danke für die schnelle Antwort.
>
> Es geht mir ja in erster Linie darum, dass Bluetooth und Wlan Modul
> abgeschaltet werden.
> Im Deep Sleep sind ja sowohl RTC memory und RTC Co-Prozessor aktiv.
> Gibt es denn da keine Möglichkeit das zu nutzen.


Mit welchem Teil der Doku:
https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/ulp.html

kommst Du nicht klar?
Gast #5860528
Lesenswert?

Teddy schrieb:
> Es gibt bei einigen Controllern die Möglichkeit, dass der ADC bei einer
> überschreiten/unterschreiten einer Schwellspannunng einen Interrupt
> auslöst.


Wieso liest Du nicht seinen Post?
Lucas nutzt den ESP32, der kann mit dem ULP den ADC im DeepSleep 
auslesen. Was interessieren hier also andere Controller?
Gast #5860531
Lesenswert?

Manche Beschleunigungssensoren haben eine eingebaute Alarm Funktion, die 
bei Überschreitung einer einstellbaren Schwelle einen I/O Pin auf High 
(oder Low) setzen. Damit kannst du den Mikrocontroller resetten.

Der BMA020 von Bosch kann das zum Beispiel, mit nur 1µA Stromaufnahme.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren