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 !!

 

Exibições: 250

As respostas para este tópico estão encerradas.

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço