Robot piloté à distance par un Nunchuk

image principale Robot piloté à distance par un Nunchuk

Difficulté:

Comment piloter un robot à distance grâce à un Nunchuk de Wii et des modules XBee.


Il y a énormément de tutoriels sur des robots autonomes qui se baladent un peu partout en évitant les obstacles. Il y a quelques tutoriels sur des robots filaires pilotés par un Nunchuk mais un robot piloté à distance par un Nunchuk et des modules XBee, je n’ai pas trouvé sur le net.


Mon fils en grandissant a délaissé sa console de jeux Wii. Je me suis dit : “Les manettes doivent être réutilisables”. C’est comme cela qu’est né ce projet. Comme tous mes projets, il faut que celui-ci soit le plus économique possible.


Pour conclure, le projet consiste à fabriquer un robot piloté à distance grâce au joystick du Nunchuk. Le bouton Z permet d’allumer une rampe de leds et le bouton C permet de mettre en marche une sonnerie.

Matériel :

Budget : Non défini

  • Pour ce tutoriel, je vais faire la liste du matériel en deux parties. Tout d’abord, la télécommande :
  • – 1 carte Arduino Uno (19.50€)
  • – 1 Nunchuk (récupération)
  • – 1 adaptateur Nunchuk (1.04€)
  • – 1 shield XBee (11.30€)
  • – 1 module XBee serie 1 (27.90€)
  • – 1 cordon d’alimentation (1.90€)Ensuite, le robot :
  • – 1 carte Arduino Uno (19.50€)
  • – 1 shield XBee (11.30€)
  • – 1 module XBee série 1 (27.90€)
  • – 1 shield de prototypage (3.94€)
  • – 1 module L298 (4.89€)
  • – 1 barrette Neopixel 8 leds (7€)
  • – 1 résistance 330 ohm
  • – 1 condensateur 1000µF
  • – 1 buzzer (1.50€)
  • – 1 châssis en kit avec motoréducteur (10.99€)

Etape 1 : Le Nunchuk


Avant de vous lancer dans la réalisation de ce projet, nous allons tester le Nunchuk. J’ai lu sur Internet que certaines copies ne fonctionnaient pas exactement comme les originaux.
Pour éviter de couper le connecteur du Nunchuk afin de le connecter à l’Arduino, j’ai préféré acheter un adaptateur. Ainsi, on peut continuer à jouer à la console Wii.
J’ai trouvé sur ce site un tutoriel permettant de tester le Nunchuk https://skyduino.wordpress.com/2011/11/16/mini-tutoriel-arduino-nunchunk-de-wii/
J’ai juste rajouté quelques lignes pour pouvoir brancher directement l’adaptateur sur les broches A2 à A5 de l’Arduino. Les deux premières servent à l’alimentation et les deux suivantes à l’échange de données via le bus I2C. Normalement, le Nunchuk doit être alimenté en 3.3V mais il supporte très bien le 5V. Cela nous arrange pour le câblage !!!
Télécharger le programme Test_Nunchuk dans l’Arduino Uno puis câbler le Nunchuk comme sur la photo. Ce programme permet d’afficher dans le moniteur série de l’Arduino toutes les données du Nunchuk (position en X et Y du joystick, position en X, Y et Z de l’accéléromètre et enfin l’état des boutons Z et C).

Etape 2 : Préparation des modules XBee

Etape 3 : Le châssis



Initialement, je souhaitais récupérer (une fois de plus) un châssis d’un robot que j’avais construit avec une plaque de plexiglass, quelques pièces de mon Meccano d’enfance et deux motoréducteurs.
A ce jour, les motoréducteurs sont plus chers qu’un kit complet (châssis+motoréducteurs+roues). J’ai donc décidé de faire l’acquisition d’un kit. On en trouve un peu partout sur Internet à des prix très raisonnables et en plus, nous n’aurons pas besoin d’adapter le programme Arduino en fonction des motoréducteurs puisque vous aurez tous les mêmes.

Le châssis est troué de toute part pour pouvoir assembler des cartes électroniques mais malheureusement, la carte Arduino Uno n’a pas été prévue. Pas de panique. Avant le montage, il est conseillé de prépositionner les modules électriques que l’on va fixer sur ce châssis et de repérer avec un feutre les points de perçage. Ensuite avec une perceuse à colonne et un forêt de 4 mm, on perce.

Dans un premier temps, on va fixer les deux motoréducteurs (photo 1). Puis, on installe, la roue libre (photo 2) et les roues (photo 3). Nous n’avons pas besoin d’installer les roues dentées car elles sont destinées pour faire de l’asservissement de vitesse mais les capteurs ne sont pas fournies.
Ensuite, nous allons fixer le module L298 sous le robot (photo 3) et l’Arduino Uno (photo 4). On termine par le coupleur de pile (photo 5). On terminera cette étape par la fixation de la barette de leds WS2812 grâce à deux petites vis (photo 6).

Je vous mets une vidéo commerciale pour le montage du châssis.
http://www.banggood.com/Smart-Robot-Car-Chassis-Kit-Speed-Encoder-Battery-Box-For-Arduino-p-981975.html?currency=EUR&utm_source=criteo&utm_medium=cpc&utm_content=all&utm_campaign=electronics-FR-English

Etape 4 : La télécommande


La télécommande est très simple à fabriquer. Dans un premier temps, il faut télécharger le programme Nunchuk_XBee.ino dans l’Arduino Uno puis insérer le shield XBee sur l’Arduino. Positionner les cavaliers du shield XBee sur les broches 2 et 3 (photo 1). Ensuite, brancher le Nunchuk avec son adaptateur comme pour l’étape N°1.
Le programme Arduino récupère les données du Nunchuk et les transmet grâce à une liaison série sur le module XBee, ce dernier les envoyant sur un canal hertzien. Le projet a besoin des données du joystick et des boutons mais j’ai également mis les données de l’accéléromètre ; libre à vous de les récupérer pour faire faire une autre tâche à votre robot (comme par exemple gérer une pince).
Pour alimenter la télécommande, il suffit de brancher une pile 9V grâce à un coupleur et de fixer le tout sur le coté avec un élastique.

Etape 5 : La partie électronique

"gallery-item">


Une fois de plus, il n’y a rien de compliqué pour cette étape. Il faut télécharger le programme Robot.ino dans l’Arduino Uno puis insérer le shield XBee après avoir positionner les cavaliers sur les broches 4 et 5 (photo 1) sur l’Arduino puis insérer le shield de prototypage sur l’ensemble.
Le programme Arduino récupère toutes les données du Nunchuk via un module XBee puis :
•élabore une consigne de vitesse pour chaque moteur proportionnelle à la position du joystick
•commande l’allumage de la barrette de leds WS2812 à chaque appui sur le bouton Z
•commande le buzzer à chaque appui sur le bouton C

Là aussi, vous pouvez modifier le programme pour récupérer les données de l’accéléromètre en vous inspirant de la récupération des données du joystick.
Sur la plaquette d’essai, il faut faire le câblage du buzzer puis relier la barrette de leds et le pont en H (module L298) comme sur le schéma donné (photo 2).
Finalement, il faut connecter les deux motoréducteurs au pont en H. Attention de respecter le sens de rotation des moteurs.

Vous pouvez également modifier la vitesse de rotation des moteurs en changeant les variables vitesse dans le programme Arduino. Cela s’effectue dans le dernier paramètre de la fonction map.
Exemple :
if ((joy_y>135)&&(joy_x>120)&&(joy_x<135)) // le robot avance en ligne droite
{
vitesse_droit=map(joy_y,135,255,0,255);
vitesse_gauche=map(joy_y,135,255,0,255);
analogWrite(pin1_moteur_droit,vitesse_droit); //moteur droit tourne dans le sens1 proportionnellement a la position de y
digitalWrite(pin2_moteur_droit,LOW);
analogWrite(pin1_moteur_gauche,vitesse_gauche); //moteur gauche tourne dans le sens1 proportionnellement a la position de y
digitalWrite(pin2_moteur_gauche,LOW);
}

Pour l'alimentation, nous utiliserons 4 piles 1.5V pour les moteurs et une pile 9V pour alimenter la carte Arduino.

Etape 6 : Conclusion

"ext-link" href="https://www.youtube.com/watch?v=yoLy8Fd5zzU" rel="nofollow external" target="_blank">https://www.youtube.com/watch?v=yoLy8Fd5zzU

Sources :

https://skyduino.wordpress.com/2011/11/16/mini-tutoriel-arduino-nunchunk-de-wii/


Ces tutoriels devraient vous plaire

vignette Connecter un  écran LCD en I2C
Connecter un écran LCD en I2C
vignette Arduino et Porte automatique de poulailler
Arduino et Porte automatique de poulailler
vignette Préparer un fichier pour une découpe et une gravure laser
Préparer un fichier pour une découpe et une gravure laser

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers