Visualizza messaggio singolo
Vecchio 04 maggio 20, 21:15   #98 (permalink)  Top
ElNonino
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Thumbs up

Citazione:
Originalmente inviato da Smsteves Visualizza messaggio
Codice:
    Rxpulse = pulseIn(8, HIGH);   
    //Rxpulse = (((Rxpulse-Antsx)/scala)*((Antdx-Antsx)/scala))+Antsx;
    Rxpulse = Rxpulse - Antsx;
    Rxpulse = Rxpulse / scala_RX;
    Rxpulse = Rxpulse * scala_RX ;
    Rxpulse = Rxpulse + Antsx;
    Gaspulse = pulseIn(7, HIGH);
    Gaspulse = Gaspulse - Neutral;
    Gaspulse = Gaspulse / scala_GAS;
    Gaspulse = Gaspulse * scala_GAS;
    Gaspulse = Gaspulse + Neutral; 
  }
}
Non uso spesso Arduino ed ancora meno le librerie precotte quindi non capisco una cosa del codice qui sopra, assumiamo che:
RxPulse = 1500
Antsx = 1000
scala_RX = 5
ed analizziamo il valore assunto da Rxpulse nei vari step:
Rxpulse = Rxpulse - Antsx; RxPulse = 1500 - 1000 = 500
Rxpulse = Rxpulse / scala_RX; RxPulse = 500 / 5 = 100
Rxpulse = Rxpulse * scala_RX ; RxPulse = 100 * 5 = 500
Rxpulse = Rxpulse + Antsx; RxPulse = 500 + 1000 = 1500

Dove sbaglio ?
Forse con queste operazioni si arrotondano i valori intermedi ? La soluzione mi pare contorta ma, ripeto, di Arduino conosco poco.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)

Ultima modifica di ElNonino : 04 maggio 20 alle ore 21:19
ElNonino non è collegato   Rispondi citando