Bom dia.

Alguem chegou a controlar um robo usando comunicação RF 433MHz?

Gostaria de saber se é suficiente, ou se devo adquirir outra forma de comunicação sem fio. Se sim, qual vcs indicam?

O robo em questao seriam um quadricopteor.

Obrigado

Exibições: 4703

Responder esta

Respostas a este tópico

Prezado Rogerio,

desenvolvi um projeto utilizando RF com acelerômetro conforme link abaixo.

Utilizei p RF via serial isso dá infinitas possibilidades de comandos, voce define o seu protocolo.

Se lhe interessar passo os fontes do projeto.

( Comentário: também penso em desenvolver um quadricoptero )

Abraços

http://labdegaragem.com/video/radio-controle-com

E vc conseguio transmitir quanto de informação simultaneamente. Tipo, quantos bits?

Se vc se disponibilizar a me passar os fontes, ficaria mto grato.

Quadricoptero é um projeto bem interressante, já adquiri os motores e modulo rf433, porem estou empacado, pq so tenho um arduino, e nao estou conseguindo usar o microcontrolador diretamente na protoboard, ele nao controla a saida do servo direito, tipo, fica sem referencia.

Obrigado pela ajuda

 

 

Ok, neste feriado vou tirar um tempo pra postar os esquemas.

Na verdade eu estou fazendo com um Duemillenove, apenas para testar, mas eu comprei os microcontroladores separado e pretendo fazer uma "placa impresa" usando uma de fenolite, assim posso usar o arduino para outros projetos.

Encomendei os motores, e nao chegaram ainda, so tenho um deles no caso. Amanha baterei umas fotos e postarei.

Desde ja, grato pelo interresse

Boa tarde

Rogerio, estou fazendo um projeto parecido com o seu é um aeromodelo e pretendo usar um modulo rf 433  e 2 arduino um no emissor e outro no receptor, ja consegui comunicação entre ambos, consigo ler as entradas analogicas do emissor na  serial do receptor. Mas quando coloquei um servo no receptor para ser controlado pela entrada analogica do emissor não obtive sucesso. Se você consegue esse controle me passa a programação p ver se tem algo errado na minha, e se eu puder te ajudar em alguma coisa, trocamos umas idéias.

Abraço

Boa tarde,

Também tive problemas em integrar modulo rf 433 com servo. Parece que as bibliotecas VirtualWire e Servo tem um conflito quando são usadas no mesmo Arduino. Acho que é um conflito de interrupção (as duas usam a mesma interrupção). Ai passei a usar CIs de encoder/decoder (HT12E e HT12D) entre o emissor e receptor para substituir a biblioteca VirtualWire na função de filtro de ruido e resolveu o problema. Agora terei que escrever a parte de buffer, pois estes CIs transmitem apenas 4bits de cada vez.

Bom dia Wagner Bastos

Também acho que pode ser algo assim, já estou comprando o encoder e decoder. Mas como fazer, o encoder e decoder apenas mandam pulsos e nessa aplicação precisamos trabalhar com analogico, pois terei potenciômetro no emissor e servo no receptor. Tem que continuar usando um arduino no emissor e outro no receptor? Não entendi bem, se puder contribuir com suas idéia agradeço.

Abraço

Bom dia Adilson,

 

Acabo de construir o circuito de transmissão: JoyStick Shield + Arduino + HT12E + RF433 TX, e de recepção: RF433 RX + HT12D + Arduino + Servo.

Estou usando os botões do JoyStick Shield para controlar o servo à distância pra frente e pra trás, mas dá pra substituir o joystick shield por um potenciômetro. Como os CIs HT12 enviam e recebem 4bits de cada vez, eu posso transmitir e receber valores de 0 a 15. É pouco para representar de 0 a 179 graus do servo, então eu estou considerando que cada unidade transmitida corresponde a 12 graus (15x12=180). Ao pressionar o botão "avançar" do joystick o servo avança 12 graus e pressionando o botão "voltar" o servo volta 12 graus. O código abaixo é do circuito receptor. Agora vou implementar um buffer que recebe 2 "pacotes" de 4 bits e, assim, terei um "range" de 0 a 255. Será suficiente para mover o servo com sua resolução máxima.

 

Obs.: Do lado do transmissor você terá que converter a resolução do potenciômetro que é de 0 a 1023 para a de transmissão que é de 0 a 15. Use a função map() para tal.

 

Abraço  

 

#include <Servo.h>

 

Servo myservo;

int b1,b2,b3,b4,val;        

 

void setup()

{

  //  o servo liga ao pino 6 do arduino

  myservo.attach(6); 

  // inicializa as portas do Arduino como entrada para os pinos do HT12D

  pinMode(2, INPUT);   

  pinMode(3, INPUT);

  pinMode(4, INPUT);

  pinMode(5, INPUT); 

 

void loop()

{

  // leitura das portas do Arduino onde o HT12D mandará os 4bits transmitidos

  b1 = digitalRead(2);

  b2 = digitalRead(3);

  b3 = digitalRead(4);

  b4 = digitalRead(5);

 

  // converte o valor recebido em binário (4bits) para decimal (0 a 15)

  val = (1*b4) + (2*b3) + (4*b2) + (8*b1);

 

  // Converte o valor decimal recebido em valor angular (precisão de 12 graus)

  val = val * 12;

 

  // muda a posição em que se encontra o servo de acordo com o valor escalado                           

  myservo.write(val);                

 

  // intervalo de 5 milisegundos

  delay(5);                          

}

 

Boa tarde, Wagner.

Você fez o que estou tentando fazer. Já implementou o buffer que recebe os dois pacotes de 4bits? Pode me passar o esquema que usou para o código acima, e caso já tenha implementado o buffer, me passar o código e o esquema?

Desculpe a quantidade de pedidos, mas sou novo em arduino, apesar de desenvolvedor experiente, sou iniciante em eletrônica.

Obrigado e abraço!

PODERIA PASSAR PARA MIM O ESQUEMA 

email -  quadrosneto2015@gmail.com

kra, utilizei esse RF num tanque da tamyia, mais da muito problema de ruido qnd ligam os motores, demora um tempao para o receptor reconhecer os comandos... ainda nao arrumei uma solucao...

Flavio, usou os modulos RF com arduino?

isso, sendo q utilizei 2(dois) attiny85 (controle remoto e veiculo) ao inves do atmega328...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço