Diferencia entre revisiones de «TimeAlarms»
De ArduWiki
(→Sintaxis) |
(→Parametros) |
||
Línea 27: | Línea 27: | ||
;ms:Milisegundos | ;ms:Milisegundos | ||
;Nombre:Nombre asignada a la tarea | ;Nombre:Nombre asignada a la tarea | ||
+ | |||
+ | |||
+ | == Métodos == | ||
+ | {| class="wikitable" | ||
+ | |+Metodos de libreria TimeAlarm | ||
+ | |- | ||
+ | ! Método !! Descripción | ||
+ | |- | ||
+ | | Alarm.alarmRepeat([dia,]hh,mm,ss, AlarmFunction); || Ejemplo | ||
+ | |- | ||
+ | | Alarm.alarmOnce([dia,]hh,mm,ss, AlarmFunction); || Ejemplo | ||
+ | |- | ||
+ | | Alarm.triggerOnce(value, AlarmFunction); || Ejemplo | ||
+ | |- | ||
+ | | Alarm.timerRepeat(hh,mm,ss, TimerFunction); || Ejemplo | ||
+ | |- | ||
+ | | Alarm.timerOnce(hh,mm,ss, TimerFunction); || Ejemplo | ||
+ | |- | ||
+ | | Alarm.delay(periodo) || Ejemplo | ||
+ | |} | ||
+ | |||
+ | == Funciones de bajo nivel == | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+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 == | == Comentarios == |
Revisión del 21:29 15 jul 2019
Contenido
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
- hh
- Hora
- mm
- Minutos
- ss
- Segundos
- ms
- Milisegundos
- Nombre
- Nombre asignada a la tarea
Métodos
Método | Descripción |
---|---|
Alarm.alarmRepeat([dia,]hh,mm,ss, AlarmFunction); | Ejemplo |
Alarm.alarmOnce([dia,]hh,mm,ss, AlarmFunction); | Ejemplo |
Alarm.triggerOnce(value, AlarmFunction); | Ejemplo |
Alarm.timerRepeat(hh,mm,ss, TimerFunction); | Ejemplo |
Alarm.timerOnce(hh,mm,ss, TimerFunction); | Ejemplo |
Alarm.delay(periodo) | Ejemplo |
Funciones de bajo nivel
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