Ciao
Ho scaricato la libreria TimedAction da www.arduino.cc/playground/Core/TimedAction
il codice che la utilizza è il seguente:
/*
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