Motorino servo

:slight_smile:
Salve avrei una domanda su arduino,
ad esempio ho un piccolo motorino funzione servo
ricevo attraverso una fonte esterna dati dalla seriale
attraverso Visualbasic.
ora indipendentemente dai dati Seriali che ricevo voglio
spostare la lancetta del mio motorino servo una posizione
diversa in gradi.
non so se mi spiego ho messo uno switch ma basta solo
la condizione if
ora mi succede la seguente ricevo la char 'a' dalla seriale la lancetta
mi rimane ferma a 0 gradi come voglio che sia.
Ricevo la char'b' la lancetta va a 45gradi anche questa e
Ok.
Quando pero ricevo la char'c' la mia lancetta si sposta
coninuamente da 45 a 90 gradi,dovuto al fatto che ricevo
allo stesso tempo dalla seriale la char'b' ora siccome
queste char sono mandate attraverso dei Timer dalla mia interfaccia di
Visualbasic che ogni una di queste char ha dei tempi diversi in secondi di durata
perche nella mia scheda di arduino azionano pure
altre funzioni.
ci sarebbe la possibbilita che quando al momento che ricevo allo stesso tempo la char 'b' e la char 'c'
mi rimane la lancetta del mio motorino servo a 90 gradi ho provato con:
if (datiseriale=='b'&datiseriale=='c')
{
posizionelancetta=2;
}
ma non funziona

sicuramente non avete capito niente del mio problema in quanto non lo saputo spiegare

grazie attendo vostro aiuto.


//pezzo di codice
switch (posizionelancetta)
{
case 0:
ilmioservo.write(0);
break;

case 1:
ilmioservo.write(45);

break;

case 2:
ilmioservo.write(90);

break;

}

if(datiseriali=='a')
{
posizionelancetta=0;

}
if(datiseriali=='b')
{
posizionelancetta=1;
}

if(datiseriali=='c')
{
posizionelancetta=2;

}


>Salvo1969: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Grazie :slight_smile:

Guglielmo