come funziona il pulseIn

salve sto cercando di elaborare il segnale (PPM) di una ricevente all'inizio riuscivo ad avere valori attendibili con valori che variano tra i 1000 e i 2000 ms.
ultimamente però sto avendo problemi con quei valori poichè non sono presi dalla ricevente, valori che si aaggirano da 9000 ai 10000, ho fatto una prova ho spento e poi, in un secondo momento, staccato la ricevente ma non vedo alcuna differenza nei valori restituiti.
mi sapete dire da cosa possa dipendere?
che posso usare in alternativa per poter elaborare il segnale?

PS. questo è il codice che sto usando

int input_pin = 3;
long ppm;

void setup() {
  pinMode(input_pin, INPUT);
  Serial.begin(9600);
  Serial.println("Iniziamo!");

}

void loop() {
  //ppm = pulseIn(input_pin, HIGH);
  //Serial.println(ppm);
  Serial.println(pulseIn(input_pin, HIGH));
  delay(1000);
}

Penso che tu confonda millisecondi con microsecondi: pulseIn restituisce microsecondi.

Un normale segnale PPM a 50Hz (20ms) ha una durate tra 0.5ms e 2ms che corrispondono a 500μs e 2000μs.

si li ho confusi scusami ma in sostanza il risultato non cambia perché, adesso che ho fatto qualche prova, quando stacco il segnale mi da gli 0, di alcuna variazione, ma quando è attivo e tutto ben collegato mi spara valori al di sopra dei 5000 microsecondi e non è normale perché, come tu ben sai, lavorando con un segnale radio, dovrebbe variare dai 500 ai 2000 micro secondi e inviando questa variazione dalla trasmittente non vedo alcuna variazione significativa che mi faccia intuire che tutto funziona come dovrebbe.

Prova a leggere con pulseIn(input_pin, LOW): sembra che tu stia leggendo il segnale complementare.

allora ho provato con il LOW ma non ho risolto mi restituisce valori che vanno da 12000 AI 14000.

Pero fammi capire una cosa è vero che questi valori non sono inventati anche perchè quando stacco il pin della ricevente il pulse in mi si azzera tutto pero allora non capisco è possibile che la ricevente senta qualche interferenza che mi alteri del tutto il segnale? eppure parliamo di un segnale radio da 2.4 Ghz.

Che ne pensi?

Che un oscilloscopio leverebbe ogni dubbio. :slight_smile: :slight_smile: :slight_smile:

ad avercelo XD cmq il segnale funziona perchè con il servo me lo muove come per sterzare le ruote della mia auto