]> git.piffa.net Git - aerei/blob - esempi/snippets/calibrazione_servo/calibrazione_servo.ino
Yak
[aerei] / esempi / snippets / calibrazione_servo / calibrazione_servo.ino
1 /* Calibrazione Trim servo
2
3    Esempio su come calibrare il segnale di un servo.
4    I canali come alettoni / elevatore possono avere un TRIM
5    (generalmente il throttle non ha un TRIM impostato),
6    questa funzione nel setup serve per trovare il punto medio
7    all'avvio dello sketch.
8
9 Nota: questa funzione usa PULSEIN in modo da poter lavorare su
10 qualunque PIN, considerando che in genere viene eseguita 
11 una sola volta nel SETUP.
12
13 Si noti che se il canale viene poi letto con un interrupt e non con pulseIn
14 statisticamente bisogna incrementare (almeno sulle mie RX) il valore ottenuto
15 di circa 10.
16
17 Se si vuole qualcosa non blocking sostituire PULSEIN con 
18 un interrupt.
19
20 */
21
22 #include <common.h>
23
24 const byte ailPin = A4;
25
26 int mid_point = 1500 ; // centro del segnale, trimmato nel setup
27
28 void setup() {
29     Serial.begin(9600); // Se abilitato la calibrazione viene tracciata su seriale
30     // Abilitando anche DEBUG nella libreria
31
32     mid_point =  calibraTrim(ailPin) + 8; // Pin a cui e' collegato il canale
33 //mid_point =  calibraTrim(ailPin,11) ; // + LED di servizio per calibrazione
34
35 Serial.print("Valore calibrato: ");
36 Serial.println(mid_point);
37 }
38
39 void loop() {
40 }