problema con timer

Hola buenas tardes, necesito de su ayuda.

Realice este programa hace tiempo para encender unas lamparas durante
un periodo de tiempo y posteriormente se apaguen pero ahora que intento
compilar no me lo permite y no se cual es la causa, me aparece este error

error: no matching function for call to 'Timer::after(long int, void (&)())'

#include <Event.h>
#include <Timer.h>


#include "Timer.h"

Timer t,t1;
int evento, evento1;

void setup() {
Serial.begin(9600);
  pinMode(13,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(8,OUTPUT);


}

void loop() {
char dato=Serial.read();

if(dato=='a')
{
 digitalWrite(13,HIGH);
 digitalWrite(12,HIGH);
evento= t.after(900000,apagar);
  digitalWrite(11,HIGH); 
 evento1= t1.after(1200000,apagar1);
}

if(dato=='c')
{
 digitalWrite(13,HIGH);
 digitalWrite(12,HIGH);
evento= t.after(1200000,apagar);
  digitalWrite(11,HIGH); 
 evento1= t1.after(1500000,apagar1);
}

if(dato=='b')
{ 
  t.stop(evento);
  t1.stop(evento1);
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
  digitalWrite(11,LOW);
}

if(dato=='d')
{
  digitalWrite(8,HIGH);
  delay(10);
  digitalWrite(10,HIGH);
 }
 
if(dato=='e')
{
  digitalWrite(8,LOW);
  delay(10);
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
}

if(dato=='f')
{
  digitalWrite(8,HIGH);
  delay(10);
  digitalWrite(9,HIGH);
}


 t.update();
 t1.update();

}



void apagar()
{
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
 }
 
void apagar1()
{
  digitalWrite(11,LOW);
  }

espero me puedan ayudar

Cuando uses librerías para poder ayudarte debes, para quiera encontrar tu error, poder instalar la misma librería.

Asi que cuando posteas un código como el tuyo junto a la librería comentas con la ruta de donde se puede descargar. Por ejemplo

#include <Timer.h>    // https://github.com/JChristensen/Timer/blob/master/Timer.h

Ojo este es un ejemplo y no digo que sea la tuya.

Pero esta librería que he pusto tiene el comando after sin embargo es del 2012 y seguramente dará muchos errores con un IDE actual.

Al parecer estoy usando el timer que usaste como ejemplo

#include <Timer.h> //https://github.com/JChristensen/Timer/archive/v2.1.zip

Los errores que muestra son unicamente para el comando after

C:\Users\Adisat\Desktop\timer\timer.ino: In function 'void loop()':

timer:31: error: no matching function for call to 'Timer::after(long int, void (&)())'

 evento= t.after(900000,apagar);

                              ^

C:\Users\Adisat\Desktop\timer\timer.ino:31:30: note: candidate is:

In file included from C:\Users\Adisat\Desktop\timer\timer.ino:4:0:

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note: int8_t Timer::after(long unsigned int, void (*)(void*), void*)

   int8_t after(unsigned long duration, void (*callback)(void*), void* context);

          ^

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note:   candidate expects 3 arguments, 2 provided

timer:33: error: no matching function for call to 'Timer::after(long int, void (&)())'

  evento1= t1.after(1200000,apagar1);

                                   ^

C:\Users\Adisat\Desktop\timer\timer.ino:33:35: note: candidate is:

In file included from C:\Users\Adisat\Desktop\timer\timer.ino:4:0:

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note: int8_t Timer::after(long unsigned int, void (*)(void*), void*)

   int8_t after(unsigned long duration, void (*callback)(void*), void* context);

          ^

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note:   candidate expects 3 arguments, 2 provided

timer:40: error: no matching function for call to 'Timer::after(long int, void (&)())'

 evento= t.after(1200000,apagar);

                               ^

C:\Users\Adisat\Desktop\timer\timer.ino:40:31: note: candidate is:

In file included from C:\Users\Adisat\Desktop\timer\timer.ino:4:0:

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note: int8_t Timer::after(long unsigned int, void (*)(void*), void*)

   int8_t after(unsigned long duration, void (*callback)(void*), void* context);

          ^

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note:   candidate expects 3 arguments, 2 provided

timer:42: error: no matching function for call to 'Timer::after(long int, void (&)())'

  evento1= t1.after(1500000,apagar1);

                                   ^

C:\Users\Adisat\Desktop\timer\timer.ino:42:35: note: candidate is:

In file included from C:\Users\Adisat\Desktop\timer\timer.ino:4:0:

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note: int8_t Timer::after(long unsigned int, void (*)(void*), void*)

   int8_t after(unsigned long duration, void (*callback)(void*), void* context);

          ^

C:\Users\Adisat\Documents\Arduino\libraries\Timer-2.1/Timer.h:42:10: note:   candidate expects 3 arguments, 2 provided

exit status 1
no matching function for call to 'Timer::after(long int, void (&)())'

Cual es el error que estoy cometiendo?

Primer Error

#include <Timer.h>


#include "Timer.h"

dos veces para qué?

Esto compila, pero no se si hace lo que quieres.

Verificalo por tu cuenta, observa los cambios que he hecho.
Cuando programes ten siempre en cuenta los ejemplos. Intenta entender la librería y no hagas cosas poniendo y sacando sin criterio.

Yo me basé en el ejempo kitchen

#include <Timer.h>


Timer t,t1;
int evento, evento1;
int pin = 13;
char dato;

void setup() {
Serial.begin(9600);
  pinMode(13,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(8,OUTPUT);

  evento = t.after(900000, apagar, (void*)10);
  Serial.print("After event started id=");
  Serial.println(evento); 
  
  evento1 = t1.after(1200000, apagar1, (void*)10);  
  Serial.print("After event started id=");
  Serial.println(evento1); 
  
}

void loop() {
  t.update();
  t1.update();
  
  if (Serial.available() > 0) {
      dato = Serial.read();
      if (dato=='a')  { 
          digitalWrite(13,HIGH);
          digitalWrite(12,HIGH);
          digitalWrite(11,HIGH); 
          digitalWrite(11,HIGH); 
      }

      if (dato=='c')  {
          digitalWrite(13,HIGH);
          digitalWrite(12,HIGH);
          
          digitalWrite(11,HIGH); 
      }

      if (dato=='b') { 
          t.stop(evento);
          t1.stop(evento1);
          digitalWrite(13,LOW);
          digitalWrite(12,LOW);
          digitalWrite(11,LOW);
      }

      if (dato=='d')  {
          digitalWrite(8,HIGH);
          delay(10);
          digitalWrite(10,HIGH);
      }

      if (dato=='e')  {
          digitalWrite(8,LOW);
          delay(10);
          digitalWrite(9,LOW);
          digitalWrite(10,LOW);
      }

      if (dato=='f')  {
          digitalWrite(8,HIGH);
          delay(10);
          digitalWrite(9,HIGH);
      }    
  }
}

void apagar(void* context)  {
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
  int time = (int)context;
  Serial.print("stopping the led event after ");
  Serial.print(time);
  Serial.println(" seconds.");
  if (dato=='a') {
      t.stop(evento);
      evento= t.after(900000,apagar, (void*)10);
  }
  if (dato=='c') {
      t.stop(evento);
      evento= t.after(1200000,apagar, (void*)10);
  }
}

void apagar1(void* context)   {
  int time = (int)context;
  digitalWrite(11,LOW);
  if (dato=='a') {
      t1.stop(evento1);
      evento1= t1.after(1200000,apagar1, (void*)10);
  }
  if (dato=='c') {
      t1.stop(evento);
      evento1= t1.after(1500000,apagar1, (void*)10);
  }
}