Télécommande 2,4GHZ et arduino ?
#1
Posté 15 mai 2013 - 11:46
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 />
#2
Posté 15 mai 2013 - 12:17
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
Posté 15 mai 2013 - 07:10
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
Posté 16 mai 2013 - 11:40
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)
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
Posté 17 mai 2013 - 10:34
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 }
#7
Posté 18 mai 2013 - 10:57
Quel est le montage que tu as fais ?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 ?
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 !
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 !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#8
Posté 19 mai 2013 - 09:55
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:
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
Posté 20 mai 2013 - 02:10
Si mon commentaire vous a plus laissez nous un avis !
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 !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#10
Posté 20 mai 2013 - 11:06
Je pense re faire un shield ( basé sur ce shema ) dont je testerai le fonctionnement a chaque etape.
Le resistance pull up sont elle obligatoire au enablepin ? Mes diodes ( 1N5821 ) sont elles adapté ?
#12
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 ) 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 ! )
- seb2d2 aime ceci
Si mon commentaire vous a plus laissez nous un avis !
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 !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#13
Posté 20 mai 2013 - 07:59
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
Posté 20 mai 2013 - 10:25
tu alimentes ton montage avec quoi ?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é ?
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 !
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 !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
#15
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
1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users