olá estou montando um carro de controle, onde ele recebe dados por RF e faz um teste com eles , mas estou tendo um problema , quando eu mando o comando pelo controle pra ligar o servo para ele virar ele recebe o comando e vira mas não recebe mais nada ele fica preso no ultimo comando recebio, o codigo é esse
#include <VirtualWire.h>
#include <ServoTimer2.h>
ServoTimer2 servo;
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_set_rx_pin(9);
vw_rx_start(); // Start the receiver PLL running
pinMode(13, OUTPUT);
servo.attach(5);
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking
{
int i;
for (i = 0; i < buflen; i++)
{
if(buf[i] == '1')
{
digitalWrite(13, HIGH);
}
if(buf[i] == '2')
{
digitalWrite(13, LOW);
}
if(buf[i] == '3')
{
servo.write(2000);
}
if(buf[i] == '4')
{
servo.write(1000);
}
}
}
}
alguem sabe como concertar isso ?
Obrigado pela a atenção !!