¿Cómo puedo activar un microcontrolador ATtiny84 a una hora específica del día?

4

Estoy intentando crear una alarma que se despierta en un momento determinado y hace una serie de instrucciones. Para configurar las horas en que se activa, voy a utilizar los auriculares de un dispositivo Android para enviar datos en serie a la MCU sobre la hora (es) para despertarme. Simplemente lo enchufaré, haré la transferencia y desenchufaré el enchufe. Entonces el tiempo se establece en la MCU. La transferencia también sincronizará la hora para configurar el temporizador adecuadamente.

Puedo configurar una interrupción de temporizador con un prescaler para darme 4s en cada interrupción. Luego use 2 bytes como contador secundario de algún tipo. Eso me daría 72 horas que podría esperar y solo necesito 24, ya que puedo restablecerlas cuando finalice el día.

Así que mi pregunta viene cuando el dispositivo se reinicia. Puedo guardar la hora actual en la EEPROM y luego leerla en carga, pero ¿cuánta sobrecarga tiene ese uso actual? Quiero que la batería dure el mayor tiempo posible.

Es posible que mi pregunta deba ser elaborada, pero me preguntaba si había una mejor manera o si estoy haciendo esto de la manera correcta.

    
pregunta Shane

2 respuestas

6

Use un RTC que admita una línea de alarma, por ejemplo. DS1375 . El chip puede conducir una línea de interrupción en una fecha / hora determinada. Tiene que seleccionar el modo de suspensión AVR apropiado que 'escuche' la interrupción seleccionada. No es necesario utilizar los temporizadores AVR.

    
respondido por el jippie
2

Estoy usando un temporizador interno de vigilancia para perros en attiny44 en un caso similar. Se puede configurar para emitir una interrupción (no restablecer) cada 8 segundos. Lo que es bueno es que la interrupción WDT puede activar el chip desde el modo de suspensión "apagado" más profundo.

    
respondido por el miceuz

Lea otras preguntas en las etiquetas