Diferencia entre revisiones de «TimeAlarms»

De ArduWiki
Saltar a: navegación, buscar
(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

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

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

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