Programação para radio controle


#1

olá estou fazendo um robô, que sera controlado por radio controle, só que quando eu passo a programação para o arduino o ele não executa nada do que eu programei. Gostaria de saber o que eu devo fazer?

Esta é a programação que eu estou usando

#define ch1 3 //Canal 1 do rádio instanciado à entrada digital 2
#define ch2 2 //Canal 2 do rádio instanciado à entrada digital 3
#define ch3 4 //Canal 3 do rádio instanciado à entrada digital 4
#define ch4 5 //Canal 4 do rádio instanciado à entrada digital 5
#define ch5 6 //Canal 5 do rádio instanciado à entrada digital 6
#define ch6 7 //Canal 6 do rádio instanciado à entrada digital 7
#define IN1 8 // controle ponteh motor1
#define IN2 9 // controle ponteh motor1
#define IN3 10 // controle ponteh motor2
#define IN4 11 // controle ponteh motor2
#define led 13 // led

void atuadores();
void read_chennels();
void test_channels();

short change_ch = 0x00, //variável para determinar qual canal será lido
counterT2 = 0x00;

int canal_01 ,
canal_02 ,
canal_03 ,
canal_04 ,
canal_05 ,
canal_06 ,
pwm_value;

void setup()
{
pinMode(ch1, INPUT); //Entrada para o canal 1 do rádio
pinMode(ch2, INPUT); //Entrada para o canal 2 do rádio
pinMode(ch3, INPUT); //Entrada para o canal 3 do rádio
pinMode(ch4, INPUT); //Entrada para o canal 4 do rádio
pinMode(ch5, INPUT); //Entrada para o canal 5 do rádio
pinMode(ch6, INPUT); //Entrada para o canal 6 do rádio

pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

Serial.begin(9600);

while(canal_02 > 1000)
{
read_channels();
test_channels();
delay(1000);
}

}
void loop()
{
read_channels();
test_channels(); //Envia informação para o Serial Monitor

atuadores();

while(canal_02 < 1000)
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
read_channels();
test_channels();

delay(1000);
}

}
void atuadores() //Função de controle dos atuadores do Robô US-2
{

if(canal_02 > 1007)
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);

}

else if(canal_02 < 1970)
{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);

}
else
{
analogWrite(IN1, pwm_value);
analogWrite(IN2, pwm_value);
analogWrite(IN3, pwm_value);
analogWrite(IN4, pwm_value);
}

if(canal_03 > 1500){
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}

}
void read_channels() //Faz a leitura dos 6 primeiros canais do rádio
{

canal_01 = pulseIn(ch1, HIGH, 50000); //Lê pulso em nível alto do canal 1 e armazena na variável canal_01
canal_02 = pulseIn(ch2, HIGH, 50000); //Lê pulso em nível alto do canal 2 e armazena na variável canal_02
canal_03 = pulseIn(ch3, HIGH, 50000); //Lê pulso em nível alto do canal 3 e armazena na variável canal_03
canal_04 = pulseIn(ch4, HIGH, 50000); //Lê pulso em nível alto do canal 4 e armazena na variável canal_04
canal_05 = pulseIn(ch5, HIGH, 50000); //Lê pulso em nível alto do canal 5 e armazena na variável canal_05
canal_06 = pulseIn(ch6, HIGH, 50000); //Lê pulso em nível alto do canal 6 e armazena na variável canal_06

}

void test_channels()
{

Serial.println("=================");
Serial.print("Canal 01: ");
Serial.println(canal_01);
Serial.print("Canal 02: ");
Serial.println(canal_02);
Serial.print("Canal 03: ");
Serial.println(canal_03);
Serial.print("Canal 04: ");
Serial.println(canal_04);
Serial.print("Canal 05: ");
Serial.println(canal_05);
Serial.print("Canal 06: ");

}