2 /* Lettura di un canale servo della RX
4 Lettura tramite la funzione pulsein
5 Utilizzabile su qualunque PIN
7 Il codice e' blocking fin tanto che il segnale passa da RISE a FALL
8 quindi blocca per 1-2ms a ogni esecuzione.
10 Il segnale dalla rx dovrebbe essere ~50hz,
11 vedere questo sketch $_millis con lettura a intervalli programmabili.
19 const byte chPin = 2; // PIN su cui e' collegato il canale
20 unsigned int chIn = 1500; // Valore catturato
21 unsigned int chValue = 1500; // Valore computato
22 // Attenzione che pulsein e' blocking
24 // Variabili per autocalibrazione
28 // Funzione relativa a calibrazione:
29 mid_point = calibraTrim(chPin) ;
31 Serial.begin(9600); // Warning: interrupts e serial potrebbero dare problemi
36 chIn = pulseIn(chPin, HIGH, 25000);
37 if (chIn > 1000 && chIn <2000) {
38 // Scartiamo valori fuori range, talvolta pero' alcune RX
39 // hanno il minimo un po' sotto a 1000
43 // do something with chValue
46 Serial.print(" > chValue= ");
47 Serial.print(chValue);
48 Serial.print(" - base: ");
49 Serial.println(mid_point);