Pages: [1]   Go Down
Author Topic: Problema Libreria  (Read 185 times)
0 Members and 1 Guest are viewing this topic.
Pistoia Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 45
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao
Ho scaricato la libreria TimedAction  da www.arduino.cc/playground/Core/TimedAction

il codice che la utilizza è il seguente:

Code:

/*
Author: Franco Querci
 */

#include <LiquidCrystal.h>  //  per gestire LCD
#include <TimedAction.h>    //  per gestire ritardi
LiquidCrystal lcd(3, 5, 9, 10, 11, 12);

// ogni decimo di secondo lancia la routineTest_ds
TimedAction timedAction = TimedAction(NO_PREDELAY, 100, Test_ds);

volatile float time = 0;
volatile int nInt = 0; // numero degli interrupt processati nell'intervallo 
volatile int rpm_array[5] = {0,0,0,0,0};
int rpm = 0;

void setup()
{
  //Digital Pin 2 Set As An Interrupt
  attachInterrupt(0, fan_interrupt, FALLING);

  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Giri al minuto:");
}

void loop()
{
timedAction.check();
}

void Test_ds()
 {
   float temp = 0;
   // memorizza nell'array le ultime 5 lettura
   rpm_array[0] = rpm_array[1];
   rpm_array[1] = rpm_array[2];
   rpm_array[2] = rpm_array[3];
   rpm_array[3] = rpm_array[4];
   rpm_array[4] = nInt;
   nInt = 0;
   temp = (rpm_array[0] + rpm_array[1] + rpm_array[2] + rpm_array[3] + rpm_array[4]) / 5;  //media degli impulsi
   rpm = temp * 10 * 60 / 12 ;  // giri al minuto
   lcd.setCursor(0, 1);
   lcd.print("                ");   
   lcd.print(rpm);   

}

void fan_interrupt()
{
  nInt=nInt +1;
}

Restart dell'IDE, la libreria è presente
compilazione mi da il seguente errore:

In file included from Tachom_A.ino:8:
C:\Users\lore\Documents\Arduino\libraries\TimedAction/TimedAction.h:33:22: error: WProgram.h: No such file or directory

Dove ho sbagliato?
Franco
Logged

Switzerland
Online Online
Faraday Member
**
Karma: 113
Posts: 5955
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il fatto è che probabilmente quella libreria era scritta per il vecchio IDE (< 1.0) e ora non va più bene.

Puoi fare una prova ...
... in TimedAction.h sostituisci l'include di "WProgram.h" con l'include di "Arduino.h" e vedi se funziona smiley-wink

Guglielmo
Logged

Search is Your friend ... or I am Your enemy !

Pistoia Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 45
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie è OK
Franco
Logged

Pages: [1]   Go Up
Jump to: