Input-PIN nach ESP-Start wechseln

OP #7114264
Ich bin auf der Suche nach einer Lösung für folgendes Szenario.

Ein ESP8266 (D1 Mini) soll bei Bewegung mit Hilfe eines Tilt-Sensors aus 
dem Deep-Sleep aufwachen. Wenn der Sensor weiterhin Impulse sendet, dann 
soll er die Impulse zählen und beim Erreichen eines bestimmten Wertes 
eine Aktion ausführen. Wenn der Sensor aber eine bestimmte Zeit inaktiv 
ist, dann soll der ESP wieder in den Deep-Sleep gehen.

Das Problem an der Sache ist, das der ESP ja durch eine Verbindung von 
GND zu RST aufgeweckt wird, aber der RST-Pin ja kein IO-Pin ist. Ich 
kann ihn im Arduiono-Sketch nicht ansprechen. Daher war mein Gedanke, 
das ich über einen Transistor den GND-Impuls des TILT-Sensors beim 
Anlegen einer Betriebspannung über einen Output-PIN auf einen anderen 
verfügbaren IO-Input PIN leite.

Wenn also der ESP in Betrieb ist, dann schaltet über eine 
Ausgangspannung der Transisor zu einem anderen PIN durch. Ist der ESP 
dagegen im Deep-Sleep, dann ist der Output-Pin LOW und der TILT-Sensor 
schaltet den GND wieder auf RST.

Zur Veranschaulichung habe ich mal eine Skizze mit einem Relais statt 
einem Transistor aufgemalt. So wie es von mir skizziert ist, klappt das 
ganze, allerdings stört mich eben das Relais, welches ich gern durch 
einen Transistor ersetzen möchte.

Hätte vielleicht jemand aus der Comnunity eine zündende Idee, wie man 
das ganze umsetzen könnte? Bin für jden Hinweis oder Tip dankbar.
Angehängte Dateien:
Gast
Oi,

das ist doch viel zu kompliziert. Warum verbindest du den Pin nicht 
dauerhaft mit einem Eingang des ESP, setzt den Pin als Interrupt wakeup 
aus dem Deepsleep und fertig?
Frank P. schrieb:
> Wenn also der ESP in Betrieb ist, dann schaltet über eine
> Ausgangspannung der Transisor zu einem anderen PIN durch. Ist der ESP
> dagegen im Deep-Sleep, dann ist der Output-Pin LOW und der TILT-Sensor
> schaltet den GND wieder auf RST.

Einfacher wäre es umgekehrt: wenn der ESP in Betrieb ist, schaltet er 
den Transistor ab (Output-Pin Low). Im Deep-Sleep wird der Pin High und 
der nächste Impuls vom Sensor wird zum RST durchgeschaltet.

R2, R3 und/oder R4 sind vielleicht sowieso schon auf dem D1-Mini bzw. 
interne Pull-Up. Oder R4 ist ganz überflüssig, weil der Sensor ein 
Logiksignal mit 0V und 3.3V liefert.

Wenn der Sensor 0V und 5V liefert, geht es nicht so einfach!
Angehängte Dateien:
Des Problem ist, dass der ESP im Reset bleibt, solange der Sensor 
durchgeschaltet ist. Dabei nimmt der ESP relativ viel Strom auf, was 
wiederum bei Batteriebetrieb schlecht ist. Da müsste eine 
Flankenerkennung vor den Reset-Anschluss und eine gewisse Totzeit wird 
auch gebraucht, dass der ESP in Ruhe hoch fahren kann.
OP
Ich habe deine Schaltung soeben mal getestet und Sie funktioniert. Sie 
macht genau das, was Sie soll. Dafür ein herzliches Dankeschön. 
Bezüglich des Stromverbrauches werde ich mal einen Langzeittest machen. 
Da ja aber der ESP tatsächlich nur aufwacht, wenn Bewegung erkannt wird, 
sollte der Akku doch recht lange durchhalten.
Danke und bis demnächst.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.