Messaggio di errore con TimerOne.h

Salve ho incluso il seguente file .h:

#include <TimerOne.h>

nel mio codice per arduinodue.
In fase di compilazione mi da:

Arduino:1.8.7 (Linux), Scheda:"Arduino Due (Programming Port)"

ATTENZIONE: la libreria TimerOne-1.1.0 dichiara di funzionare sulle architetture (avr) e potrebbe non essere compatibile con la tua scheda che utilizza l'architettura (sam)
/media/fabio/4093DFB7738B5C25/Progetti con eagle/RADIO/frequenzimetro/frequenzimetro.ino: In function 'void setup()':
frequenzimetro:32:11: error: 'class TimerOne' has no member named 'attachInterrupt'
    Timer1.attachInterrupt(sec); // abilita l'interrupt di overflow di timer 1
           ^
exit status 1
'class TimerOne' has no member named 'attachInterrupt'

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"

Nessuno mi puo’ aiutare a sistemare il problema?
Conosco poco la il C++.

Il mio codice è il seguente:

#include <TimerOne.h>




int impulsi = 0;
int ms = 0;
int d1, d2, d3, d4, d5, d6, contatore=0, resto=0, sub=0, statopin=0;
void display(void);
void converti(void);
int int2bin(int d);
volatile int state = LOW;





void setup() {
   pinMode(42, OUTPUT);
   pinMode(44, OUTPUT);
   pinMode(46, OUTPUT);
   pinMode(48, OUTPUT);
   pinMode(50, OUTPUT);
   pinMode(52, OUTPUT);
   pinMode(53, OUTPUT);
   pinMode(51, OUTPUT);
   pinMode(49, OUTPUT);
   pinMode(47, OUTPUT);
   pinMode(43, OUTPUT); // definiamo pin output
   attachInterrupt(45, conta, RISING);
   pinMode(41, OUTPUT); // set LED pin to OUTPUT
   Timer1.attachInterrupt(sec); // abilita l'interrupt di overflow di timer 1
}


void loop() {
   display(); 
   digitalWrite(43, state);
}

void conta() 
{
  state = !state;
  impulsi++;
}


void sec()
{
  if(ms>=1000)    
  {
      ms=0;
      converti();
      impulsi=0;
  }   
  ms++;
}



//funzione per visualizzazione prime 6 cifre del display
void display(void)
{
         contatore++;
         if(contatore==1)
         {
               int2bin(d1);
               digitalWrite(42, HIGH);
               digitalWrite(44, LOW);
               digitalWrite(46, LOW);
               digitalWrite(48, LOW); 
               digitalWrite(50, LOW);
               digitalWrite(52, LOW); 
         }
         if(contatore==2)
         {
               int2bin(d2);
               digitalWrite(42, LOW);
               digitalWrite(44, HIGH);
               digitalWrite(46, LOW);
               digitalWrite(48, LOW); 
               digitalWrite(50, LOW);
               digitalWrite(52, LOW); 
         }
         if(contatore==3)
         {
               int2bin(d3);
               digitalWrite(42, LOW);
               digitalWrite(44, LOW);
               digitalWrite(46, HIGH);
               digitalWrite(48, LOW); 
               digitalWrite(50, LOW);
               digitalWrite(52, LOW);   
         }
         if(contatore==4)
         {
                int2bin(d4); 
                digitalWrite(42, LOW);
                digitalWrite(44, LOW);
                digitalWrite(46, LOW);
                digitalWrite(48, HIGH); 
                digitalWrite(50, LOW);
                digitalWrite(52, LOW); 
         }
          if(contatore==5)
         {
                 int2bin(d5);
                 digitalWrite(42, LOW);
                 digitalWrite(44, LOW);
                 digitalWrite(46, LOW);
                 digitalWrite(48, LOW); 
                 digitalWrite(50, HIGH);
                 digitalWrite(52, LOW); 
         }
         if(contatore==6)  
         {
                int2bin(d6);
                digitalWrite(42, LOW);
                digitalWrite(44, LOW);
                digitalWrite(46, LOW);
                digitalWrite(48, LOW); 
                digitalWrite(50, LOW);
                digitalWrite(52, HIGH); 
         }
         if(contatore==6)       contatore=0;
}


//funzione di conversione impulsi in cifre display
void converti(void)
{
     //converti cifra 6
     d6 = impulsi / 100000;
     sub = 100000 * d6;
     resto = impulsi - sub;
     //converti cifra 5
     d5 = impulsi / 10000;
     sub = 10000 * d5;
     resto = impulsi - sub;
     //converti cifra 4
     d4 = impulsi / 1000;
     sub = 1000 * d4;
     resto = impulsi - sub;
     //converti cifra 3
     d3 = impulsi / 100;
     sub = 100 * d3;
     resto = impulsi - sub;
     //converti cifra 2
     d2 = impulsi / 10;
     sub = 10 * d2;
     resto = impulsi - sub;
     //converti cifra 5
     d1 = impulsi / 1;
     sub = 1 * d1;
     resto = impulsi - sub;
}

//funzione di conversione da intero a binario
int int2bin(int d)
{
    if(d==0)
    {
         digitalWrite(47, LOW);
         digitalWrite(49, LOW);
         digitalWrite(51, LOW);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==1)
    {
         digitalWrite(47, HIGH);
         digitalWrite(49, LOW);
         digitalWrite(51, LOW);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==2)
    {
         digitalWrite(47, LOW);
         digitalWrite(49, HIGH);
         digitalWrite(51, LOW);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==3)
    {
         digitalWrite(47, HIGH);
         digitalWrite(49, HIGH);
         digitalWrite(51, LOW);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==4)
    {
         digitalWrite(47, LOW);
         digitalWrite(49, LOW);
         digitalWrite(51, HIGH);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==5)
    {
         digitalWrite(47, HIGH);
         digitalWrite(49, LOW);
         digitalWrite(51, HIGH);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==6)
    {
         digitalWrite(47, LOW);
         digitalWrite(49, HIGH);
         digitalWrite(51, HIGH);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==7)
    {
         digitalWrite(47, HIGH);
         digitalWrite(49, HIGH);
         digitalWrite(51, HIGH);
         digitalWrite(53, LOW);
         return 0; 
    }
    if(d==8)
    {
         digitalWrite(47, LOW);
         digitalWrite(49, LOW);
         digitalWrite(51, LOW);
         digitalWrite(53, HIGH);
         return 0; 
    }
    if(d==9)
    {
         digitalWrite(47, HIGH);
         digitalWrite(49, LOW);
         digitalWrite(51, LOW);
         digitalWrite(53, HIGH);
         return 0; 
    }
    //spegni cifra
    if(d==0x0A)
    {
         digitalWrite(47, LOW);
         digitalWrite(49, HIGH);
         digitalWrite(51, LOW);
         digitalWrite(53, HIGH);
         return 0;  
    }
}

Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è già stato spostato nell'opportuna sezione del forum "Italiano”dove puoi proseguire la discussione.
P.P.S.: Ti ricordo che, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Hai letto bene il messaggio di errore? Ti dice esattamente il problema:

la libreria TimerOne-1.1.0 dichiara di funzionare sulle architetture (avr) e potrebbe non essere compatibile con la tua scheda che utilizza l'architettura (sam)

... ovvero, stai usando una libreria che NON è fatta per poter funzionare con Arduino DUE.

La libreria TimerOne è scritta per l'architettura AVR (Arduino UNO, MEGA, ...) mentre tu usi Arduno DUE che ha una architettura SAM ed i timers sono tutti differenti.

Mi spiace ma ... NON esiste un porting di quella libreria per Arduino DUE.

Esistono altre librerie, come la DueTimer, però occorre ovviamente adattare/modificare il programma per usare tale libreria. ::slight_smile:

Guglielmo