Aller au contenu


Photo
- - - - -

Télécommande 2,4GHZ et arduino ?


14 réponses à ce sujet

#1 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 15 mai 2013 - 11:46

Salut tous le monde,

Ayant recemment trouver un superbe châssis a chenilles qui est donc non motoriser ( car issue d'un jouet chasse neige ).
J'aimerais beaucoup télécommander cette engin grâce a une télécommande 2,4 ghz ( que j'ai dejas ) mais je n'ai pas de contrôleurs de moteurs CC pour contrôler les moteurs de l'engin et je n'ai pas vraiment envie d'en acheter.

C'est pourquoi je me suis dit que je pouvais passer par une arduino et un L298N ( que j'ai en plus en quantité ) pour contrôler les moteurs ( qui seront, je pense, des moteurs 12V )


c'est donc la que le probleme se pose : Comment faire communiquer une arduino avec une télécommande ?

J'ai pensé a connecté la broche de signal de sortit des différentes voies du récepteur au entrée analogique ( ou numérique pour PWM ? ).

Je pourrais ainsi lire ces valeurs ( 0 a 1023 ? ) que je "maperais" entre 0 et 255 pour ensuite faire varier "enable Pin" sur mon L298N et donc la vitesse de mes moteurs.

Cette solution vous parait elle possible ? et si oui je vais avoir besoin d'un coup de pousse pour le code car j'ai encore du mal ^^

Dite moi si vous voulez des photos du chassis car il est vraiment cool :D/>

#2 olivthill

olivthill

    Membre occasionnel

  • Membres
  • Pip
  • 143 messages
  • Gender:Male
  • Location:Normandie
  • Interests:Robots humanoides.

Posté 15 mai 2013 - 12:17

Le principe pour une liaison 2.4GHz, est de connecter le module de réception de la liaison 2.4GHz sur les broches Tx et Rx de la Arduino (et aussi le + et la masse). Cela permet d'utiliser les fonctions Serial.read(), etc. Un petit inconvénient est que la liaison USB utilise aussi Tx et Rx, donc on ne peut pas développer et tester en même temps. Si on veut choisir d'autres broches que Tx et Rx, il y a d'autres solutions avec autre chose que Serial, mais qui sont un peu plus compliquées.

Personnellement, je n'ai pas utilisé une liaison 2.4GHz (j'ai utilisé une liaison bluetooth qui est assez proche), donc je ne connais pas tous les détails.

Pour le L298N et le contrôle des moteurs, c'est une autre question qui mériterait un autre fil de discussion.

Edit : Je vois qu'il existe plusieurs modèles de recepteurs 2.4GHz, et que ca peut changer la manière dont on fait les connexions et dont on lit les signaux dans le programme. Donc, ce que j'ai dit ci-dessus concerne l'un des cas possibles, mais peut-être pas celui de votre recpeteur.

Re-Edit : En fait, il semble que la plupart des recepteurs ne fonctionnent pas comme des liaisons série (comme je le croyais), mais en envoyant directement des signaux PWM. Voir par exemple, http://forum.arduino.cc/index.php?PHPSESSID=q4rh2ngjphtrevo13ror6ptt81&topic=166409.0 . Faire une recherche dans Google avec les mots clés : radio 2.4GHz Arduino.

#3 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 15 mai 2013 - 07:10

J'ai trouver un tutoriel bien detailler et qui correspond a mon projet https://www.sparkfun.com/tutorials/348 mais j'aimerais comprendre une partit de son code final que je n'ai pas comprise.

Voila la partit que je n'ai pas comprit :

if(turn>0){analogWrite(pwm_b, move-turn); analogWrite(pwm_a, move);};
if(turn<0){turn=abs(turn); analogWrite(pwm_a, move-turn); analogWrite(pwm_b, move);};


Je me demandait aussi si dans son code il inclu aussi la partit communication avec le L298 car ca ma l'air trop simple ^^

#4 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 16 mai 2013 - 11:40

Je vais peut être aussi rajouter un capteur US sur l'engin qui sera une sorte d'anticollision mais bon, chaque chose en son temps ;)

Ayant récemment fait un shield défectueux a base de L298N pour un autre robot je me demandais ce qui fais qu'il ne marche pas et donc ce que je devrais changé pour qu'il fonctionne enfin.

Voila le shema que j'ai respecter ( a part que je n'ai pas de régulateur de courant car j'utilise dejas deux source d'energies et mes diodes sont des 1N5821 au lieu des 1N5818 preconisée)
solarbotics-l298_schematic_complete.jpg

et voila le code que j'utilise avec

//-- MOTEUR A --
int ENA=5; //Connecté à Arduino pin 5(sortie pwm)
int IN1=2; //Connecté à Arduino pin 2
int IN2=3; //Connecté à Arduino pin 3

//-- MOTEUR B --
int ENB=6; //Connecté à Arduino pin 6(Sortie pwm)
int IN3=4; //Connecté à Arduino pin 4
int IN4=7; //Connecté à Arduino pin 7

void setup() {
 pinMode(ENA,OUTPUT);//Configurer les broches comme sortie
 pinMode(ENB,OUTPUT);
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 pinMode(IN3,OUTPUT);
 pinMode(IN4,OUTPUT);
 digitalWrite(ENA,LOW);// Moteur A - Ne pas tourner (désactivation moteur)
 digitalWrite(ENB,LOW);// Moteur B - Ne pas tourner (désactivation moteur)

 // Direction du Moteur A
 digitalWrite(IN1,LOW); 
 digitalWrite(IN2,HIGH);

 // Direction du Moteur B
 // NB: en sens inverse du moteur A
 digitalWrite(IN3,HIGH);
 digitalWrite(IN4,LOW);
}

void loop() {
  // Moteur A - Plein régime
  analogWrite(ENA,255);

  // Moteur B - Mi-régime
  analogWrite(ENB,128);
}


#5 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 17 mai 2013 - 10:34

Je vient d'essayer le code du tutoriel mais je n'obtient pas le même résultat car lui les chiffres qui apparaisse sont entre 1000 et 2000 et varie en fonction de la position des manches sur la télécommande et moi les chiffres sont entre 0 et 10000 et ne varie pas ( mon système radio fonctionne par ailleurs bien ).

de plus, il a l'air d'avoir la meme telecommande que moi...

Voila le code :

int ch1; // Here's where we'll keep our channel values
int ch2;
int ch3;

void setup() {

  pinMode(5, INPUT); // Set our input pins as such
  pinMode(6, INPUT);
  pinMode(7, INPUT);

  Serial.begin(9600); // Pour a bowl of Serial

}

void loop() {

  ch1 = pulseIn(5, HIGH, 25000); // Read the pulse width of 
  ch2 = pulseIn(6, HIGH, 25000); // each channel
  ch3 = pulseIn(7, HIGH, 25000);

  Serial.print("Channel 1:"); // Print the value of 
  Serial.println(ch1);        // each channel

  Serial.print("Channel 2:");
  Serial.println(ch2);

  Serial.print("Channel 3:");
  Serial.println(ch3);

  delay(100); // I put this here just to make the terminal 
              // window happier
}


#6 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 18 mai 2013 - 10:34

Je vien aussi d'essayer de faire un montage a base de L298N qui ne marche pas. Quelqu'un serait comment utiliser SIMPLEMENT ce controleur de moteur ?

#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 973 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 18 mai 2013 - 10:57

Je vien aussi d'essayer de faire un montage a base de L298N qui ne marche pas. Quelqu'un serait comment utiliser SIMPLEMENT ce controleur de moteur ?

Quel est le montage que tu as fais ?

Jette un oeil ici cela pourra peut être t'aider;) vérifie bien que tout ce que tu n'utilise pas tu le branche au bon endroit ;) ( current sensing, enable ... )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#8 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 19 mai 2013 - 09:55

Merci, j'ai lue tes tuto ils sont super !:D

Pour mon montage j'ai suivi ce shema ( voir plus bas ) dont les seuls modification apporté sont que mes diode sont des 1N5821 ( au lieu des 1N5818 ), que je n'ai pas de resitance pull up sur enable pin car je m'en sert pour controler la vitesse des moteurs et que j'utilise les 5V de l'arduino ( au lieu de réguler Vs pour obtenir du 5V )

Voila le shema:
solarbotics-l298_schematic_complete.jpg


Et le code que j'utilise avec :

//-- MOTEUR A --
int ENA=5; //Connecté à Arduino pin 5(sortie pwm)
int IN1=2; //Connecté à Arduino pin 2
int IN2=3; //Connecté à Arduino pin 3

//-- MOTEUR B --
int ENB=6; //Connecté à Arduino pin 6(Sortie pwm)
int IN3=4; //Connecté à Arduino pin 4
int IN4=7; //Connecté à Arduino pin 7

void setup() {
 pinMode(ENA,OUTPUT);//Configurer les broches comme sortie
 pinMode(ENB,OUTPUT);
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 pinMode(IN3,OUTPUT);
 pinMode(IN4,OUTPUT);
 digitalWrite(ENA,LOW);// Moteur A - Ne pas tourner (désactivation moteur)
 digitalWrite(ENB,LOW);// Moteur B - Ne pas tourner (désactivation moteur)

 // Direction du Moteur A
 digitalWrite(IN1,LOW); 
 digitalWrite(IN2,HIGH);

 // Direction du Moteur B
 // NB: en sens inverse du moteur A
 digitalWrite(IN3,HIGH);
 digitalWrite(IN4,LOW);
}

void loop() {
  // Moteur A - Plein régime
  analogWrite(ENA,255);

  // Moteur B - Mi-régime
  analogWrite(ENB,128);
}


#9 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 973 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 20 mai 2013 - 02:10

tu as tes leds qui s'allumes ? (rouge ou verte )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#10 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 20 mai 2013 - 11:06

Non car je n'ai pas mis de LED mais je suppose que si il y en avait, elle resterais éteinte.

Je pense re faire un shield ( basé sur ce shema l298.png ) dont je testerai le fonctionnement a chaque etape.

Le resistance pull up sont elle obligatoire au enablepin ? Mes diodes ( 1N5821 ) sont elles adapté ?

#11 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 120 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 20 mai 2013 - 12:43

Prend des diodes 1N5822.

Il manque des resistances de puissance sur le 298. (R3 et R4 sur le schéma)

je te donne un schéma que j'ai fait pour un projet.

Image(s) jointe(s)

  • schema puissance et gpio.jpg

Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#12 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 973 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 20 mai 2013 - 03:01

Non car je n'ai pas mis de LED mais je suppose que si il y en avait, elle resterais éteinte.

Je pense re faire un shield ( basé sur ce shema l298.png ) dont je testerai le fonctionnement a chaque etape.

Le resistance pull up sont elle obligatoire au enablepin ? Mes diodes ( 1N5821 ) sont elles adapté ?


les résistances de pull up ne sont pas obligatoire si tu controle ces pattes avec ta arduino.

Par contre si tu mets pas de résistence au pins sens il faut les connecter à la masse.

J'utilise beucoup le montage avec L298 et j'ai pas de problème sauf quand je leur demande du 3A et plus en continu ... ( ce qu'il ne faut vraiment pas faire ! :dvgmax_01: )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#13 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris
  • Interests:Programmation et robotique

Posté 20 mai 2013 - 07:59

Je vient de faire un montage permettant de testé mon L298N ( c'est a dire faire artificielement ce que l'arduino devra faire pour mettre en marche un moteur )

Et quand je met en marche le system le moteur se met atourné pendant 1 seconde. Aprés, il s'arrete et ne redemarre (pour 1 seconde) que quand je debranche rebranche.

Une idée ?

Peut tu me passé un exemple de montage que tu a realisé ?

#14 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 973 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 20 mai 2013 - 10:25

Je vient de faire un montage permettant de testé mon L298N ( c'est a dire faire artificielement ce que l'arduino devra faire pour mettre en marche un moteur )

Et quand je met en marche le system le moteur se met atourné pendant 1 seconde. Aprés, il s'arrete et ne redemarre (pour 1 seconde) que quand je debranche rebranche.

Une idée ?

Peut tu me passé un exemple de montage que tu a realisé ?

tu alimentes ton montage avec quoi ?

pour les montage je réalise exactement le même schémas que celui que tu montres avec de temps en temps quelques variantes genre ajouter des résistance de pull up ou de pull down sur le enables en fonctions du besoin ou bien mettre des résistance de puissance sur sense ...

pour tester : tu mets VS et VSS au 5V les enables au 5V et les sens à la masse
tu mets 5V sur in 1 et tu branche ton voltmetre entre out 1 et la masse tu devrais voir 5V.
puis tu fais idem sur in 2 out 2 in3 out3 et in4 out 4

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#15 Rooly59

Rooly59

    Nouveau membre

  • Membres
  • 6 messages

Posté 15 mars 2016 - 03:20

J'ai pensé a connecté la broche de signal de sortit des différentes voies du récepteur au entrée analogique ( ou numérique pour PWM ? ).


 

 

Salut,

Je travaille sur un projet qui fonctionne de la même facon que le tiens, cf : http://www.robot-maker.com/forum/topic/10310-creation-du-robot-bb8-star-wars-help/

et j'aimerai savoir quel est le type de recepteur que tu avais utilisé ! Merci





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users