Go Down

Topic: timer example oop program (Read 109 times) previous topic - next topic

juan__antonio

Nov 22, 2015, 09:48 pm Last Edit: Nov 23, 2015, 12:56 pm by juan__antonio
Example of simple timer. It consists of three files (TimerOOP.ino, miTimer.h miTimer.cpp). The first of them how simple it can be is going programs with timer.

I hope you help

a greeting.

juan.acisa@gmail.com





TimerOOP.ino
Code: [Select]

/*----------------------------------------------------------------------
 juan.acisa@gmail.com
 
 Timer OOP
 TimerOOP
 
 Uso de timer con programacion orientada a objetos
 
 20151101D0002
 ----------------------------------------------------------------------*/
#include "miTimer.h"

miTimer T1(1000);
miTimer T2(3000);
miTimer T3(7000);

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if ( T1.Activo() ) Serial.println(" T1 activo cada 1000 milisegundos");
  if ( T2.Activo() ) Serial.println("   T2 activo cada 3000 milisegundos");
  if ( T3.Activo() ) Serial.println("       T3 activo cada 7000 milisegundos");
}





miTimer.h
Code: [Select]

/* ----------------------------------------------------------------------

  miTimer.h - Libreria para emular la funcion timer
 
  Parametros entrada:
    milisegundos de espera
   
  Metodos
    Set: unsigned long de entrada de los milisegundos de espera para el timer
    Activo: boolean de salida para saber si esta activo el timer
   
  20151101D0124
  ---------------------------------------------------------------------- */

#ifndef miTimer_h
  #define miTimer_h


  #if ARDUINO >= 100
    #include "Arduino.h"
  #else
    #include "WProgram.h"
  #endif
 

  class miTimer {
 
  private:
    unsigned long _ms;
    unsigned long _ms_espera;
    unsigned long _ms_anterior;
 
  public:
    miTimer( unsigned long milisegundos );
    boolean Activo();
 
  };

#endif






miTimer.cpp
Code: [Select]

/* ----------------------------------------------------------------------

  miTimer.cpp - Libreria para emular la funcion timer
 
  Parametros entrada:
    milisegundos de espera
   
  Metodos
    Set: unsigned long de entrada de los milisegundos de espera para el timer
    Activo: boolean de salida para saber si esta activo el timer
   
  20151101D0124
---------------------------------------------------------------------- */

#include "miTimer.h"

  miTimer::miTimer( unsigned long ms_espera )
  { 
    _ms_espera = ms_espera ;
    _ms_anterior = millis();
  }

  boolean miTimer::Activo() {
    _ms = millis();
    if ( _ms - _ms_anterior >= _ms_espera or _ms < _ms_anterior) {
      _ms_anterior = _ms;
      return true;
    }
    else
      return false;
  }

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy