TimeAlarms

De ArduWiki
Revisión del 21:37 15 jul 2019 de Kike GL (Discusión | contribuciones) (Parametros)

Saltar a: navegación, buscar

Descripción

TimeAlarm es una libreria de Paul Stoffregen y es un complemento de la libreria Time para realizar tareas a intervalos especificos.

Tipos de tareas

Existen dos tipos de tareas que se pueden crear para que se repitan continuamente o para que se realicen una sola vez.

Alarmas
Las tareas programadas a una hora particular del día.
Temporizadores
Las tareas programadas una vez transcurrido un intervalo de tiempo.

Sintaxis

Alarm.alarmRepeat (8,30,0, MorningAlarm);  //Todos los dias a las 8:30 am
Alarm.alarmRepeat (dowMonday, 9,15,0, MondayMorningAlarm);  //Los lunes a las 9:15
Alarm.alarmOnce (8,30,0, MorningAlarm);  //Una sola vez mañana a las 8:30
Alarm.timerRepeat (15, Repeats);    //Tarea del temporizador cada 15 segundos
Alarm.timerOnce (10, OnceOnly);          //Llama una vez después de 10 segundos
Alarma.triggerOnce (time_t value, explicitAlarm); // valor especifica una fecha y hora
Alarm.delay (periodo);                   //Similar a Arduino [[delay()]]


Parametros

dia
Dia de la semana
hh
Hora
mm
Minutos
ss
Segundos
ms
Milisegundos
valor
Valor de tiempo tipo time_t
Tipo
Puede ser AlarmFunction o TimerFunction.

Métodos

Metodos de libreria TimeAlarm
Método Descripción
Alarm.alarmRepeat([dia,]hh,mm,ss, AlarmFunction); Alarma continua todos los dias
Alarm.alarmOnce([dia,]hh,mm,ss, AlarmFunction); Alarma que se activa la proxima ves que ocurra.
Alarm.triggerOnce(value, AlarmFunction); Una sola alarma determinada por valor time_t
Alarm.timerRepeat(hh,mm,ss, TimerFunction); Llama continuamente a TimerFunction
Alarm.timerOnce(hh,mm,ss, TimerFunction); Llama una sola vez a TimerFunction
Alarm.delay(periodo) Similar de delay de Arduino, periodo dedo en milisegundos.

Funciones de bajo nivel

Metodos de libreria TimeAlarm
Método Descripción
disable(ID); Ejemplo
enable(ID); Ejemplo
write(ID, value); Ejemplo
read(ID); Ejemplo
readType(ID); Ejemplo
getTriggeredAlarmId(); Ejemplo

Comentarios

Advertencias

Ejemplo

#include <Time.h>
#include <TimeAlarms.h>

void setup(){
   Serial.begin(9600);
   setTime(8,29,0,1,1,11); // set time to Saturday 8:29:00am Jan 1 2011
   // create the alarms 
   Alarm.alarmRepeat(8,30,0, MorningAlarm);  // 8:30am every day
   Alarm.alarmRepeat(17,45,0,EveningAlarm);  // 5:45pm every day 
   Alarm.alarmRepeat(dowSaturday,8,30,30,WeeklyAlarm);  // 8:30:30 every Saturday 
   Alarm.timerRepeat(15, Repeats);            // timer for every 15 seconds    
   Alarm.timerOnce(10, OnceOnly);             // called once after 10 seconds 
}

void  loop(){  
   digitalClockDisplay();
   Alarm.delay(1000);          // wait one second between clock display
}

// functions to be called when an alarm triggers:
void MorningAlarm(){
   Serial.println("Alarm: - turn lights off");    
}

void EveningAlarm(){
   Serial.println("Alarm: - turn lights on");           
}

void WeeklyAlarm(){
   Serial.println("Alarm: - its Monday Morning");      
}

void ExplicitAlarm(){
   Serial.println("Alarm: - this triggers only at the given date and time");       
}

void Repeats(){
   Serial.println("15 second timer");         
}

void OnceOnly(){
   Serial.println("This timer only triggers once");  
}

void digitalClockDisplay(){
   //digital clock display of the time
   Serial.print(hour());
   printDigits(minute());
   printDigits(second());
   Serial.println(); 
}

void printDigits(int digits){
   Serial.print(":");
   if (digits < 10){
      Serial.print('0');
   }
   Serial.print(digits);
}

Vea también


Referencias externas

Cotegory:Librerias