Automodelo com Arduíno controlado por Radio Controle RF

 Boa noite pessoal, estou querendo aproveitar um automodelo que tenho aqui do meu filho para fazer upgrade, pois ele é muito lento, vou tentar resumir tudo.

Nele possui 2 motores DC e um servo motor para fazer o giro, gostaria de uma dica de como faço a leitura dos valores de referencia do receptor RF no arduino quando eu mexo no controle e como eu uso esses valores para girar para um lado e para o outro, e ir para frente e para trás com um nível progressivo de aceleração, podendo dobrar e ir acelerar simultaneamente.

Desde já agradeço!

Exibições: 343

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

Respostas a este tópico

para leitura de tempo dos pulsos

// biblioteca para o display LCD
#include <LiquidCrystal.h>
 
// variáveis
//int gatilho = 11; // pino TRIG do sensor ultrassônico
int echo = 10; // pino ECHO do sensor ultrassônico
float tempo; // para armazenar o tempo de ida e volta do sinal em microsegundos
float tempo_ms; // para armazenar a distância em centímetros
float tempo_mc; // para armazenar a distância em polegadas
 
// inicialização do display LCD
LiquidCrystal lcd(7,8, 3, 4, 5, 6);
 
// setup (executado apenas uma vez)
void setup() {
 // configura pino GATILHO como saída
 //pinMode(gatilho,OUTPUT);
 // deixa pino em LOW
 //digitalWrite(gatilho,LOW);
 //delayMicroseconds(10);
 
 // configura pino ECHO como entrada
 pinMode(echo,INPUT);
}
 
 
// laço principal (executado indefinidamente)
void loop() {
 // disparar pulso ultrassônico
 //digitalWrite(gatilho, HIGH);
 //delayMicroseconds(10);
 //digitalWrite(gatilho, LOW);
 
 // medir tempo de ida e volta do pulso ultrassônico
 tempo = pulseIn(echo, HIGH);
 
 // calcular as distâncias em centímetros e polegadas
 tempo_ms = tempo /30 ;// / 29.4 / 2;
 tempo_mc = tempo /3 ;// / 74.7 / 2;
 
 // apresentar resultados no display LCD
 lcd.begin(16, 2);
 lcd.setCursor(0,1);
 lcd.print("tempo:");
 lcd.print(tempo_ms);
 lcd.print(" ms");
 lcd.setCursor(0,0);
 lcd.print("tempo:");
 lcd.print(tempo_mc);
 lcd.print(" mc");

 
 // aguardar um pouquinho antes de começar tudo de novo
 delayMicroseconds(200);
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço