diff --git a/Esempi/FanLoop/FanLoop.ino b/Esempi/FanLoop/FanLoop.ino index 0c1acfc2240f0e3f2f1c83bf64ca294ec37a4e9a..5d229d223178ffd7a46b090d0a5e6dd297028cd4 100644 --- a/Esempi/FanLoop/FanLoop.ino +++ b/Esempi/FanLoop/FanLoop.ino @@ -1,4 +1,5 @@ -/* +/* (atrent main) + * * 1) scegliere e provare lib PID * * 2) ragionare su periodpwm @@ -22,7 +23,7 @@ #define SENSORE 2 #define ATTUATORE 3 -#define RUMORE 5 // soglia minima interrupt +#define RUMORE 10 // soglia minima interrupt // TODO 'volatile' (vedere se si può creare un esperimento ad-hoc, non banale) @@ -30,7 +31,7 @@ volatile long timestamp=0; volatile long durata=0; volatile long durataMedia=0; // media mobile (molto corta, a 2 elementi) -long durataDesiderata=180; // inverso velocità (10 fin troppo veloce, 180 limite di lentezza) +long durataDesiderata=100; // inverso velocità (10 fin troppo veloce, 180 limite di lentezza) float duty=.3; // % int periodpwm=1000; //millis boolean dutyOn=false; @@ -79,9 +80,9 @@ void pwmDeiPovery() { void plot() { //boolean scattato=digitalRead(SENSORE); // non serve più //Serial.print(timestamp); - Serial.print(F("durata:")); - Serial.print(durata); - Serial.print(F(",media:")); + //Serial.print(F("durata:")); + //Serial.print(durata); + Serial.print(F("media:")); Serial.print(durataMedia); Serial.print(F(",desiderata:")); Serial.print(durataDesiderata); @@ -110,7 +111,7 @@ void lap() { void setup() { Serial.begin(115200); - pinMode(SENSORE,INPUT); + pinMode(SENSORE,INPUT_PULLUP); pinMode(ATTUATORE,OUTPUT); pinMode(LED_BUILTIN,OUTPUT); @@ -118,7 +119,7 @@ void setup() { attachInterrupt( digitalPinToInterrupt(SENSORE), lap, - RISING); + CHANGE); // Tasks runner.init();