Problemi con la lettura seriale

Ciao a tutti ragazzi, volevo chiedervi se potevate aiutarmi con un problema strano che compare nel momento in cui scrivo un valore all’interno del monitor seriale. Impostando un serial.print per un debug, osservo che all’inserimento di un valore per variare la posizione di un motore servo (valore da 0 a 180),
la variabile int impostata varia il suo valore da -1 a un range che va da 46 a 53, per qualsiasi valore scritto nel monitor (esempio: scrivo nel monitor seriale 90, e il valore con cui si aggiorna la variabile e’ 56). Qualcuno ha idea del fatto per cui il valore non e’ 90?
Lo sketch e’ molto semplice, ve lo pubblico

#include <Servo.h>

Servo myservo;

int pos = 0;

void setup() {
Serial.begin(9600);
myservo.attach(9);
}

void loop() {
pos = Serial.read();
Serial.println(pos);
myservo.write(pos);
delay(1500);
}

Scusatemi ho appena capito il problema. Comunque lo lascio per qualcuno potrebbe essere utile. Il monitor seriale legge i valori da tastiera nella codifica ASCII. Quindi il valore viene convertito in decimale aggiornando il valore del servo.

Sarebbe interessante sapere come hai risolto, più che quale é il problema.
Comunque il tag da usare per gli scatch é code, non quote.

>Justtox: essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

>Silente: Ti prego, prima di rispondere, di verificare sempre se l'utente abbia effettuato la presentazione. Grazie anticipatamente per la collaborazione. :slight_smile: