quarta-feira, 22 de agosto de 2012

UPGRADE - carro R/F + Arduino + controle 2.4Ghz (parte 1)


esse projeto foi realizado com a colaboração de Radson.

 Hackeamos um simples carro de controle remoto R/F (Hammer H3) de 49MHz para funcionar com um controle Turnigy 9X de 2.4GHz (usado em aeromodelismo) para obtermos um alcance médio de 1Km.





clique aqui para visualizar mais fotos do projeto

Materiais utilizados:
  • Rádio Controle Turnigy 9X
  • Arduino Mega 1280
  • Transistor de potência TIP31C
  • Bateria zippy de Li-Po 1600mAh 20C
  • Receptor Turnigy 9X com 8 canais
  • plataforma Hummer H3

Nosso primeiro objetivo era controlar a velocidade do carro, pois em RF's normais a velocidade é constante (Trigger digital). Pois bem, para início de conversa nós devemos saber como funciona o controle e o seu receptor. Como esse sistema é feito para controlar aviões os comandos são em PWM, já que se tratam de ângulos, como a inclinação das asas e etc.
Ligamos o receptor ao Arduino, eis uma foto dos dois:




Usamos o comando pulseIn para lermos o sinal (acelerador), que variava de 1050 à 1740, então mapeamos a variável "acelerador" para variar de 0 a 255 (para o controle da velocidade do motor) e essa variável era lida, mapeada e  ia direto para uma porta digital que acionava o transistor de potência tip31C. 

É bom ressaltar que em projetos como esse é bom avançarmos por etapas,  para verificar se o sinal estava sendo processado corretamente nós conectamos um LED à porta digital para confirmar o correto funcionamento do circuito. e funcionou! conseguimos controlar o brilho do LED por controle remoto, segue o código utilizado:


const int LedPin = 9;     //pino do led
const int acelerador = 2;     // saída do receptor 

void setup(){

  pinMode(LedPin, OUTPUT);     //declarando pino como saída
  pinMode(ch1, INPUT);     //declarando pino como entrada
  Serial.begin(9600);     //inicializa comunicação serial

}

void loop(){

 int val = pulseIn(acelerador, HIGH);     //lê o valor do receptor
 val = map(val, 1050, 1740, 0, 255);     //mapeia o valor de 0 à 255
 analogWrite(LedPin, val);     //manda o sinal recebido para o pino do LED
 Serial.println(val);     //escreve o valor lido
 delay(100);     //intervalo entre as leituras
}


vídeo do funcionamento: 


esta é apenas a 1a parte do projeto, em breve tem mais!


- Se você gostou do post, por favor comente! nos dê um feedback, isso nos incentiva a continuar! :) 


9 comentários:

  1. Muito interessante, quero ver o restante

    ResponderExcluir
  2. Qual o alcance deste radio controle?

    ResponderExcluir
    Respostas
    1. cerca de 700 a 800 metros de distância sem barreiras, pois este controle é usado em aeromodelismo e possui um longo alcance :)

      Excluir
  3. Eu tenho um controle remoto de 2.4ghz, quero comprar um receptor compatível com o mesmo como faço p encontrar um compatível? pois não tenho receptor para aquele controle.

    ResponderExcluir
  4. https://www.youtube.com/watch?v=3NmM2-uzxUs

    ResponderExcluir
  5. Como fica a ligação do rx com o arduino?

    ResponderExcluir
  6. Olá! tem como passar o codigo que usou para o carrinho por favor. Obrigado!

    ResponderExcluir