]> git.piffa.net Git - sketchbook_andrea/commitdiff
Calibrazione servo in
authorAndrea Manni <andrea@piffa.net>
Sun, 5 Feb 2017 01:18:17 +0000 (02:18 +0100)
committerAndrea Manni <andrea@piffa.net>
Sun, 5 Feb 2017 01:18:17 +0000 (02:18 +0100)
libraries/common/common.cpp
libraries/common/common.h

index 01f07cfffe1cfac49bde493fc59b02cb3d3100b1..413b86f4d0e9302bcdbc94328ddc5ff9c39bc0be 100644 (file)
@@ -355,3 +355,39 @@ byte lum(byte val) {
     // storata in SRAM
 return pgm_read_byte_near(BCORRECT + val);
 };
+
+
+int calibraTrim(int pin, byte ledPin) {
+/* START Calibrazione TRIM canale:
+   Lettura di 10 smaple
+   calcolo del valore medio esclusi gli 0 
+
+   I canali come alettoni / elevatore possono avere un TRIM
+   (generalmente il throttle non ha un TRIM impostato),
+   questa funzione nel setup serve per trovare il punto medio
+   all'avvio dello sketch.
+ */
+    byte a             = 0;
+       int ail         = 0;
+       int ailIn       = 0;
+    Serial.println(">> Calibrazione: ");
+    while (a < 10) {
+        ailIn = pulseIn(pin, HIGH, 25000);
+        if (ailIn != 0 ) {
+            ail = ail + ailIn ;
+            a++ ;
+            Serial.print(a);
+            Serial.print(": ");
+            Serial.println(ail);
+            digitalWrite(ledPin, !digitalRead(ledPin));
+            delay(10);
+        }
+    }
+    Serial.print(">> Fine Calibrazione: ");
+    Serial.print(ail / 10);
+    Serial.println("--");
+       Serial.flush() ;
+    return(ail / 10) ;
+// END calibrazione
+}
+
index 97893fcd75d1b68e23de76d079a9e74be417fb1b..7f87600b466749d4a3476037c691ce2df212fdeb 100644 (file)
@@ -154,6 +154,10 @@ class Sequenza {
 // Funzioni
 
 void brilla(byte pin, int velocita = 200) ;
-#endif
 
 byte lum(byte val);
+
+int calibraTrim(int pin, byte ledPin = 13);
+
+
+#endif