Aller au contenu


Serpent

Inscrit(e) (le) 25 juil. 2013
Déconnecté Dernière activité août 29 2013 01:57
-----

Sujets que j'ai initiés

RC tank tamiya Arduino rf

25 juillet 2013 - 09:50

Bonjour, je cherche a faire un petit tank sur une base tamiya,venant de la part de seb33 du forum http://robotique-projet.lebonforum.com/ après avoir chercher en vain des solution ensemble je viens ici exposé mon soucis

Le but étant de dirigé un tank tamiya a l'aide d'un joystick de 2 arduino et d'une transmission RF 433



Joystick --> arduino duemilove --> emmetteur rf433 --> recepteur Rf --> Arduino Uno --> pont h --> 2 moteurs

Emetteur:


JoyStickPin1 1 //analog 1
JoyStickPin2 2 //analog 2 (Avec un joystick basic GND/pin/+5)


Ou

Analog pin 0/1/2/3/4

http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=130855074998&ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_1646wt_896

RF Tx pin 6
___________________________________________


Recepteur


motorPin1a pin 3 // Marche avant du premier moteur
motorPin1b pin 4 // Marche arrière du premier moteur
speedPin1 pin 9 // L293D enable pin pour le premier moteur
motorPin2a pin 5 // Marche avant du deuxième moteur
motorPin2b pin 6 // Marche arrière du deuxième moteur
speedPin2 pin 10 // L293D enable pin pour le deuxième moteur



http://french.alibaba.com/product-gs/dual-h-bridge-dc-stepper-motor-drive-controller-board-l298n-robot-module-691947934.html


RF RX pin 7
____________________________________________


Le Module RF 433



http://www.seeedstudio.com/depot/433mhz-rf-link-kit-p-127.html


Si quelqu'un a une idée, (j'ai regarder plusieurs tutos en vain)




ce code ne suffit pas il n'utilise pas de transmission RF ils est en direct

Joystick - arduino - pont h - moteur

Moi j'ai besoin de

Joystick - arduino - emetteur - recepteur - arduino - pont h - moteur

#define motorPin1a 3 // Marche avant du premier moteur
#define motorPin1b 4 // Marche arrière du premier moteur
#define speedPin1 9 // L293D enable pin pour le premier moteur
#define motorPin2a 5 // Marche avant du deuxième moteur
#define motorPin2b 6 // Marche arrière du deuxième moteur
#define speedPin2 10 // L293D enable pin pour le deuxième moteur
#define JoyStickPin1 1  //analog 1
#define JoyStickPin2 2  //analog 2

int Mspeed= 0;
int Mspeed1 = 0; 
int Mspeed2 = 0;  

unsigned long time;

void setup() {

// réglage des broches à output
pinMode(motorPin1a, OUTPUT);
pinMode(motorPin1b, OUTPUT);
pinMode(speedPin1, OUTPUT);
pinMode(motorPin2a, OUTPUT);
pinMode(motorPin2b, OUTPUT);
pinMode(speedPin2, OUTPUT);
}

void loop() {
  Mspeed1 = (analogRead(JoyStickPin1)-511)/2;
  Mspeed1 = Mspeed1 - (analogRead(JoyStickPin2)-511)/2;
  if (Mspeed1 > 255) {
    Mspeed1 = 255;
  }
    if (Mspeed1 < -255) {
    Mspeed1 = -255;
  }
  
  Mspeed2 = (analogRead(JoyStickPin1)-511)/2;
  Mspeed2 = Mspeed2 + (analogRead(JoyStickPin2)-511)/2;
  if (Mspeed2 > 255) {
    Mspeed2 = 255;
  }     
  if (Mspeed2 < -255) {
    Mspeed2 = -255;
  }
  
  if (Mspeed1 > 0)  // donc marche arrière
  {
    analogWrite(speedPin1, abs(Mspeed1)); 
    digitalWrite(motorPin1a, LOW); 
    digitalWrite(motorPin1b, HIGH); 
  }
  else {   // donc marche avant (ou repos)
    analogWrite(speedPin1, abs(Mspeed1)); 
    digitalWrite(motorPin1a, HIGH); 
    digitalWrite(motorPin1b, LOW); 
  }
  
  if (Mspeed2 > 0)  // donc marche arrière
  {  
    analogWrite(speedPin2, abs(Mspeed2)); 
    digitalWrite(motorPin2a, LOW); 
    digitalWrite(motorPin2b, HIGH);    
  }
  else  // donc marche avant (ou repos)
  {   
    analogWrite(speedPin2, abs(Mspeed2)); 
    digitalWrite(motorPin2a, HIGH); 
    digitalWrite(motorPin2b, LOW); 
  }
}