Un peu coup de main? transmission RF

Bonjour, je débute dans le domaine de la programmation, j'ai un petit char tamiya avec double gear avec un Dual H Bridge DC Stepper Motor et un joystick, mon code fonctionne très bien en filaire joystick -> arduino -> pont h -> Motor

le code en question:

#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);
}
}

mais j'aimerais, possédant 2 carte arduino (duemilanove et uno) (et c'est la que je bloc) le controler en transmission RF 433mhz

le kit RF

http://apexlogic.net/code-bank/arduino/cheap-rf-solution-for-arduino/

Si quelqu'un a une idée xD

Très amusant... mais si je demande c'est peu être parce que j'ai pas sur google?

Bonjour,

Serpent:
Très amusant... mais si je demande c'est peu être parce que j'ai pas sur google?

C'est marrant parce que Google trouve trés bien mon blog avec "arduino 433mhz" :roll_eyes:

j'ai déjà essayer les 2 entre autres, celui-ci a fonctionné -> [Tutoriel] Arduino et émetteur/récepteur 433MHz (VirtualWire)
mais je n'arrive pas a couplé mon code plus du RF

Celui-ci -> [Arduino] BrossoGlisseur, le robot qui se déplace sur des brosses je ne connais pas les branchement et comme j'ai dit je suis débutant d'autant que j'ai laisser un message sur ton blog en début d'aprèm.

Mais pas grave j'ai l'habitude de se genre de réponse sur les forum "d'entre aide"

On voit que tu n'as pas cherché, ou pas correctement, il y a un mois je ne savais rien faire, maintenant je sais utiliser VirtualWire (ça ne m'a bien sur pas pris un mois mais 10min)

Va voir la doc

Serpent:
Très amusant... mais si je demande c'est peu être parce que j'ai pas sur google?

On va pas t'en apprendre plus que ce qu'une vingtaine te tuto te dise déjà. Si tu avais essayé des trucs il aurait été pertinent de nous en faire part.

Serpent:
j'ai déjà essayer les 2 entre autres, celui-ci a fonctionné -> [Tutoriel] Arduino et émetteur/récepteur 433MHz (VirtualWire)
mais je n'arrive pas a couplé mon code plus du RF

Déjà se serait pas mal que tu nous dises ce que tu veut coupler à ton code actuel et comment ...

Serpent:
Celui-ci -> [Arduino] BrossoGlisseur, le robot qui se déplace sur des brosses je ne connais pas les branchement et comme j'ai dit je suis débutant d'autant que j'ai laisser un message sur ton blog en début d'aprèm.

Je ne passe pas mes journée à chercher si tel ou tel message à un lien avec le forum :wink:
Dans ton message (je suis allez le chercher/relire) tu parles d'un tuto (alors que c'est un projet, donc tout sauf un tuto), de pont en H (alors que j'en utilise pas), ...
Vu le nombre de message "bizarre" que je me trimballe par semaine quand je vois un truc incohérent dans un commentaire je cherche pas plus à comprendre.

Serpent:
Mais pas grave j'ai l'habitude de se genre de réponse sur les forum "d'entre aide"

...

Serpent:
Mais pas grave j'ai l'habitude de se genre de réponse sur les forum "d'entre aide"

Si tu as l'habitude de ce "genre de réponse" il serait peut-être temps de te dire que le problème ne vient pas des "vilains forumeurs" qu'il faudrait te remettre en question ...

Parce que bizarrement mise à part un ou deux loustiques dans ton genre qui viennent avec le même genre de commentaires, tout le monde repart avec des réponses à ses questions. Je sais que je peux avoir un ton assez sec, m'enfin à partir du moment où tu te mets à tacler Skywodd j'ai compris que j'avais pas à m'en vouloir.

Parce que au passage je te signale qu'on a toujours pas compris ton problème ...

B@tto:
Je sais que je peux avoir un ton assez sec, m'enfin à partir du moment où tu te mets à tacler Skywodd j'ai compris que j'avais pas à m'en vouloir.

C'est pas méchant comme tacle ça, on as vu bien pire :smiley-mr-green

B@tto:
Parce que au passage je te signale qu'on a toujours pas compris ton problème ...

+1

Oué c'est sûr y'a eu plus violent xD

M'enfin je trouve un peu osé de venir te critiquer parce que t'as pas répondu dans les 24h à un commentaire sur ton blog ...

B@tto qui ta parler de critique ou de reproche envers Skywodd? je lui est juste dit que je lui avais envoyer un message sur son blog...

Bref je clos le sujet je suis pas la pour sa

Bonne continuation

J'utilise 2 arduino:

(Uno qui me servira d'emetteur)
(Duemilanove qui servira de recepteur)

Duemilanove

un Pont h plus précisément un:

Dual H Bridge DC Stepper Motor

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

Un kit RF 433mhz

Reception

Branchement

7


UNO

J'utilise un simple Joystick 6 broches

Les Branchement:

JoyStickPin1 1 //analog 1
JoyStickPin2 2 //analog 2

RF 433

Emetteur

Branchement:

6

Les codes que j'ai essayer

Emetteur:

//Emetteur

#include <VirtualWire.h>

#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;
uint8_t buf[2];

void setup() {
pinMode(motorPin1a, OUTPUT);
pinMode(motorPin1b, OUTPUT);
pinMode(speedPin1, OUTPUT);
pinMode(motorPin2a, OUTPUT);
pinMode(motorPin2b, OUTPUT);
pinMode(speedPin2, OUTPUT);

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);

vw_set_tx_pin(6);
vw_setup(2000);
}
}

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;
}

}

Recepteur:

//recepteur

#include <VirtualWire.h>

uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

void setup() {

Serial.begin(9600);

vw_set_rx_pin(7);
vw_setup(2000);
vw_rx_start();
}

void loop() {
if (vw_wait_rx_max(200))
if (vw_get_message(buf, &buflen)) {
analogWrite(3, buf[0]);
analogWrite(11, buf[1]);
}
}

Mais...

Je comprend pas : côté émetteur, il y a les joystick ET les moteurs et aucune émission. Côté réception aucun moteur ...

Je comprend pas non plus... C'est sa le soucis xD

Toujours personne pour m'aider? J'avance pas ...

Si tu veux que ça soit l’émetteur qui contrôle les moteurs, faudrait peut etre que les moteurs soient branchés sur le recepteur

j'ai essayer différament, mais jsais pas sa donne rien

Dans ce cas là, arrête avec le code et écris ce que tu veux faire

j'ai déjà marquer ce que je veux faire, putin je pensais pas que se serait si dur et chiant a la fois, jvais essayer de trouver quelqu'un qui peu me le faire, peu être qu'une fois fait je finirais par comprendre

Mais jpeux refaire une description