collapse

* Posts Recentes

Como reproteger as pontas de cobre do ferros de soldar? por Hugu
[Ontem às 21:57]


é preciso ter cuidado com ESD? por vasco
[Ontem às 21:26]


Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[14 de Dezembro de 2018, 12:12]


Potênciometro 4.7 ou 5 KOhm com switch por brunus
[13 de Dezembro de 2018, 19:35]


Zener BZW04-105? por brunus
[11 de Dezembro de 2018, 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]


Compra Colectiva Mouser N3-2018 (limite 25 Nov) por Hugu
[10 de Dezembro de 2018, 01:07]


Ajuda para reparar Luzes de LED de Natal por brunus
[09 de Dezembro de 2018, 00:59]


Usar steppers de 5 pontas como se fossem de 4 pontas por SerraCabo
[08 de Dezembro de 2018, 21:18]


LusoRobótica - Website - Estado actual por Tech_JA
[06 de Dezembro de 2018, 09:18]

Autor Tópico: Carro telecomandado por acelerómetro + arduino  (Lida 3023 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline chicomoura

  • Mini Robot
  • *
  • Mensagens: 3
Carro telecomandado por acelerómetro + arduino
« em: 25 de Fevereiro de 2013, 19:39 »
Boa tarde,
Estou a desenvolver um projecto para uma disciplina da universidade e precisava de ajuda no seguinte:

Tenho de controlar um carro telecomandado por um acelerómetro, basicamente a minha ideia é um arduino a receber x y z de um acelerómetro (MMA7361) e a enviar via um modulo de RF 315MHz para outro arduino instalado num carro e esse arduino controlar os motores do carro.

Para já estou a testar a parte de comando e já fiz o seguinte código e é neste que queria ver se alguém me sabe dizer uma ideia melhor:

Código: [Seleccione]
#include <AcceleroMMA7361.h>
AcceleroMMA7361 accelero;
//====== INICIAR VARIAVEIS ======
int x;
int y;
int z;


void setup()
{
  Serial.begin(9600);
  accelero.begin(13, 12, 11, 10, A0, A1, A2);
  accelero.setARefVoltage(5);                   
  accelero.setSensitivity(HIGH);
  accelero.calibrate();
}

void loop()
{
  x = accelero.getXRaw();
  y = accelero.getYRaw();
  z = accelero.getZRaw();
  Serial.print("\nx: ");
  Serial.print(x);
  Serial.print("\ty: ");
  Serial.print(y);
  Serial.print("\tz: ");
  Serial.print(z);
  //-----Comando de velocidade para frente e para tras-----
  if (y >=100 && y<280 ) {
    Serial.println("\n\ny velocidade -1");         
  }
  if (y >=280 && y<370 ) {
    Serial.println("\n\ny Parado");         
  }
  if (y >=370 && y<400) {
    Serial.println("\n\ny velocidade 1");         
  }
  if (y >=400 && y<450 ) {
    Serial.println("\n\ny velocidade 2");         
  }
  if (y >=450 && y<500 ){
    Serial.println("\n\ny velocidade 3");         
  }
  //-----Comando para direita, frente ou esquerda-----
  if ( x<300 ) { //virar totalmente a direita
    Serial.println("\nx Direita 2");
  }
  if (x >=300 && x<320 ) { //virar metade a direita
    Serial.println("\nx Direita 1");
  }
  if (x >=320 && x<360 ) { //Segue em frente
    Serial.println("\nx Em Frente");
  }
  if (x >=360 && x<380 ) { //virar metade a esquerda
    Serial.println("\nx Esquerda 1");
  }
  if (x >=380 ) { //virar totalmente a esquerda
    Serial.println("\nx Esquerda 2");
  }

  delay(500); //(delay para dar para analisar a porta serial)

}
Aqui fica um esquema da montagem trocando apenas o acelerómetro pelo MMA7361.



Se alguém poder ajudar agradeço imenso,
Cumprimentos,
José Moura

Offline doiga

  • Mini Robot
  • *
  • Mensagens: 59
Re: Carro telecomandado por acelerómetro + arduino
« Responder #1 em: 25 de Fevereiro de 2013, 20:10 »
Excelente projecto!  ;)
Também já estive para fazer algo semelhante, mas depois por falta de tempo e paciência desisti.

Boa sorte com o projecto!
github.com/DMRodrigues