Forum: Mikrocontroller und Digitale Elektronik Arduino Pro Mini extern von Sleep Mode aufwecken


von Ignaz M. (Gast)


Lesenswert?

Hallo zusammen !

Ich möchte ein Projekt mit einem sogenannten ePaper Modul realisieren, 
das ist ein Dispaly mit sehr wenig Stromverbrauch. Es benötigt nur zum 
aktualisieren Strom und der gewünschte Text wird auch ohne 
Spannungsversorgung angezeigt 
(https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT). Es soll dann bei 
uns im Stiegenhaus aufgehängt werden, um verschiedene Informationen 
anzuzeigen (Müllentleerungszeiten, etc..). Das bedeutet es soll 
mindestens einmal am Tag aktualisiert werden und abhängig vom Wochentag 
einen unterschiedlichen Text anzeigen. Dazu möchte ich den Arduino Pro 
Mini in Kombination mit einem DS3231 RTC Modul verwenden da ich damit 
schon gute Erfahrungen gemacht habe. Für die Spannungsversorgung habe 
ich einfach an mehrere Mignon Zellen gedacht, da ich keine andere 
Möglichkeit zur Spannungsversorgung habe(z.B.: 2 Zellen in Serie für ca 
3V). Das sollte auch funktionieren wenn der Arduion Pro Mini im Sleep 
Mode (SLEEP_MODE_PWR_DOWN )betrieben wird. Nur ist mein Problem, dass 
man zum Aufwecken einen externen Interrupt benötigt und ich nicht weiß 
wie ich das realisieren soll und eigentlich ungern eine externe 
Beschaltung hinzufüge nur um diesen Interrupt auszulösen. Am besten 
wäre, wenn der Arduino sich einmal am Tag einschaltet, das ePaper 
aktualisiert und die restliche Zeit im Sleep Modus ist. Ich habe bereits 
gelesen, dass es mit dem SLEEP_MODE_IDLE möglich ist die Timer des 
Arduino zu verwenden um den Interrupt intern zu triggern, doch dabei 
benötigt der Arduino laut meiner Recherche immer noch 29mA. Hat jemand 
von euch eine Idee wie ich das lösen kann ?

Danke

von Michael L. (cybertracker)


Lesenswert?

Hallo,
allo bei den ESP Modulen gibt es das Ohne Probleme.
Da wird einfach RST mir D0 verbunden und per Timer Aufgeweckt.
HM Interessantes Projekt.
Wäre auch was für meine Wand.
Gerade Geburtstage usw.

von c-hater (Gast)


Lesenswert?

Ignaz M. schrieb:

> Dazu möchte ich den Arduino Pro
> Mini in Kombination mit einem DS3231 RTC Modul verwenden
[...]
> Mode (SLEEP_MODE_PWR_DOWN )betrieben wird. Nur ist mein Problem, dass
> man zum Aufwecken einen externen Interrupt benötigt und ich nicht weiß
> wie ich das realisieren soll.

DS3231 bietet programmierbare Alarmzeit und kann dann zu dieser Zeit 
über seinen INT/SQW-Ausgang einen Interrupt generieren. Man muss ihn 
halt passend programmieren und den genannten Ausgang mit irgendeinem 
interuptfähigen Pin des Arduino verbinden und an diesem den Pullup 
aktivieren (der Ausgang des DS3231 ist ein "open drain"-Ausgang).

Wo ist das Problem?

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Ignaz M. schrieb:
> DS3231 RTC Modul

die hat doch einen programmierbaren /INT Ausgang der an /INT0 vom AVR 
aufwecken könnte

das hatte ich schon mal mit meinem Fototimer gebaut

vielleicht hilft der Codeschnipsel

mehr gibts ja im Datenblatt und die Fleury I2C LIB hilft
http://homepage.hispeed.ch/peterfleury/avr-software.html
http://homepage.hispeed.ch/peterfleury/i2cmaster.zip
http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__ic2master.html

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Ignaz M. schrieb:
> Aufwecken einen externen Interrupt benötigt und ich nicht weiß
> wie ich das realisieren

Das DS3231 RTC Modul hat doch hoffentlich einen INT Pin übrig...?

Jedenfalls hätte der RTC Chip selbst eine Möglichkeit das Alarm-Signal 
an einem Pin auszugeben. Den verbindet man mit dem externen Interrupt 
Pin am Arduino, fertich.

von Ignaz M. (Gast)


Lesenswert?

Danke für die vielen Antworten !

Wusste gar nicht dass der DS3231 eine Alarmfuntkion hat, hab ihn immer 
nur zum Abrufen der aktuellen Zeit bzw. Datum verwendet. Das klingt nach 
der perfekten Lösung ! Dann werde ich mal alles bestellen und mich ans 
Programieren machen :)

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Ignaz M. schrieb:
> Wusste gar nicht dass der DS3231 eine Alarmfuntkion hat

ins Datenblatt schauen ist immer eine gute Idee

PS selbst die Module haben den SQW oder /INT rausgeführt!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.