Go Down

Topic: controlar servo pelo serial monitor (Read 4087 times) previous topic - next topic

kendoPT

Jan 11, 2011, 01:26 am Last Edit: Jan 11, 2011, 02:00 am by kendoPT Reason: 1
Boas,
sou um noob no arduino e estou agora a começar dedicar-me a ele.
o que pretendia fazer era algo simples (acho eu).
colocar um codigo no arduino que me permita controlar um servo atraves do serial monitor.
ou seja, inseria o angulo pretendido no serial monitor e o servo iria para essa posição.

Penso que o que me falta é algum tipo de conversão de ASCII para int...
este é o meu código:

#include <Servo.h>

Servo myservo;  

int posicao = 0;  

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


void loop()
{
    if ( Serial.available())
    {
     posicao = Serial.read();             //ler o valor enviado por serie
     myservo.write(posicao);                 //enviar o valor para o servo
     delay(1000);      
    }
}



espero que me possam ajudar,
Obrigado


nofxx

Posicao vai de 0 a quanto?

Tente passar pra int, e subtrair 48 se preciso (ascii -> int)

int ang = (int)Serial.read();
Envie o resultado p/ vc saber q q ta acontecendo:
Serial.printf("Ang: %d", ang);

Go Up