Pages: [1]   Go Down
Author Topic: non riesco ad utilizzare la libreria Timer.h  (Read 464 times)
0 Members and 1 Guest are viewing this topic.
sdinza
Guest
 Bigger Bigger  Smaller Smaller  Reset Reset

Buonasera, scrivo per la prima volta su qesto forum perchè proprio ieri mi è arrivata la mia prima Arduini UNO R3.
 Ho scaricato l'IDE e come primo esempio ho fatto il Blink, poi volendo fare qualchwe atra prova ma non avendo altro hadware pensavo di prendere confidenza col Timer e a tale scopo ho scritto questo codice:

Code:
#include <Event.h>

#include <timer.h>

Timer t;

int luce = 13;





void setup () {

  pinMode (luce, OUTPUT);

  t.every (2000,aspetta);
 
 
}

 
  void loop(){
   
    digitalWrite (luce,HIGH);
    delay (250);
    digitalWrite (luce,LOW);
    delay (250);
   
   
  }
 
  void aspetta (){
  delay (2000);
}
 

 speravo funzionasse ma dopo aver provato diverse combinazioni non ne vuole sapere! In pratica vorrei che il led lampeggiasse e ogni 2 secondi facesse una pausa di 2 secondi. So che si può fare in altri modi ma a me interesserebbe imparare ad usare la libreria Timer.h . Qualcuno mi potrbbe aiutare a capire dove sbaglio ?  Grazie, Federico.
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 77
Posts: 4648
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non posso provarlo su Arduino adesso.
In che senso non funziona? Non rispetta i tempi, non si blocca mai per 2 secondi?

A naso, se non dico cavolate, i vali delay() bloccano i timer, credo.
Logged

my name is IGOR, not AIGOR

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3263
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nel loop non c'è nessuna istruzione che richiama le funzioni della lib timer.h
http://playground.arduino.cc/code/timer

ciao
Logged

no comment

sdinza
Guest
 Bigger Bigger  Smaller Smaller  Reset Reset

Non si ferma mai per i due secondi  che ho impostato, illed lampeggia e non si ferma mai.

Nel loop ci dovrebbe essre la funzione "aspetta" che è scritta per ultima, ho seguito l'esempio tre che ai miei occhi inesperti sebra uguale al mio...nell'esempio la funzione da richiamare si chiama -TakeReading- mentre nel mio l'ho chiamata -aspetta-. Nell'esempio questa funzione è dichiarata in fondo e fuori dal loop, come la mia.....no riesco a capire.

Code:
    #include "Timer.h"
     
     
    Timer t;
    int pin = 13;
     
     
    void setup()
    {
      Serial.begin(9600);
      pinMode(pin, OUTPUT);
      t.oscillate(pin, 100, LOW);
      t.every(1000, takeReading);
    }
     
     
    void loop()
    {
      t.update();
    }
     
     
    void takeReading()
    {
      Serial.println(analogRead(0));
    }
Logged

sdinza
Guest
 Bigger Bigger  Smaller Smaller  Reset Reset

HO CAPITO !!!!!!!!!!!!!!  smiley smiley-kitty !!  L'istruzione c he richiama la libreria timer è :

Code:
t.update();


ora funziona  smiley provo altri codici  smiley Grazie a tutti !!
Logged

Pages: [1]   Go Up
Jump to: