Moodybot, le robot qui interagit avec la lumière

image principale Moodybot, le robot qui interagit avec la lumière

Difficulté:

Comment construire facilement un robot autonome capable d’adopter plusieurs comportements face à la lumière !


Ce tutoriel vous montrera comment construire un petit robot autonome qui interagit avec la lumière, celle présente dans la pièce, ou encore celle d’une lampe torche (ou de votre téléphone portable) si vous voulez jouer avec lui !
Si vous êtes férus de programmation, vous pourrez ensuite facilement le reprogrammer pour modifier son “humeur” en fonction de la lumière.
Ici je vous en montre trois différentes.

Matériel :

Budget : Non défini

  • J’ai utilisé:
  • – Un châssis de robot avec moteurs à monter soi-même (~20€)
  • – Une carte Arduino Uno avec son câble (20€)
  • – Une batterie externe de 5V (~10€)
  • – 2 photodiodes (ref VTB8440B par exemple, 5€ chaque)
  • – Un interrupteur on/off
  • – Un interrupteur multi-positions
  • – 2 résistances d’environ 15kOhms
  • – 2 transistors NPN (ref BDX33C par exemple)
  • – Une plaque d’essai
  • – Du matériel de robotique basique : fils, vis/tournevis, fer à souder, pince, colle, etc– Le code suivant (voir étape 3)

Etape 1 : Construction du châssis

Pour commencer, nous allons construire le socle du robot :
Soudez des fils aux pins des moteurs (deux par moteurs), puis vissez les moteurs au châssis. Ajoutez les roues.
Montez la troisième roue libre (à l’avant du châssis).
Sur le dessus du robot, fixez la plaque d’essai et la carte Arduino (selon vos envies, avec du scotch, du velcro, des vis, un pistolet à colle, bref, faites avec ce que vous avez !). Pensez surtout à laisser un libre accès aux ports USB et USB B de l’Arduino, pour pouvoir l’alimenter et la connecter à l’ordinateur.
J’ai choisi de positionner la batterie externe sous le robot simplement pour gagner un peu de place, et pour ne pas être dérangé ensuite par le fil reliant la batterie à l’Arduino.

Etape 2 : Branchements du circuit électrique

Ensuite, nous allons réaliser la partie un peu délicate : réaliser les branchements de notre circuit électrique. J’ai essayé de les représenter au mieux sur le schéma ci-dessus, ça pourra peut-être vous aider.

– MOTEURS :
reliez un fil à la masse, et l’autre à la patte “émetteur” d’un transistor. Sur ceux que j’ai choisi, c’est la patte de droite lorsque vous avez l’écriture face à vous. Reliez le “récepteur” du transistor à l’alimentation 5V de l’Arduino, et enfin reliez la “base” du transistor aux pins 9 et 10 de l’Arduino pour les moteurs gauches et droits respectivement.
On est obligé de passer par des transistors pour alimenter les moteurs car la carte Arduino ne peut pas fournir suffisamment de “jus” par ses pins de sortie pour alimenter les moteurs correctement. Ainsi, les pins de l’Arduino commandent les transistors qui laissent passer ou non le courant entre le 5V et les moteurs !

– PHOTODIODES :
branchez une résistance d’environ 15kOhms aux bornes de la photodiode. Reliez la cathode (repérée sur mon composant par un petit rond sur l’avant) de la photodiode à la masse (attention au sens de la diode!), et branchez l’anode à la pin A0 ou A5 de l’Arduino pour les capteurs droits et gauches respectivement. La photodiode va générer du courant en fonction de la lumière qu’elle reçoit. Une loi d’Ohm plus tard, la carte Arduino lit la tension aux bornes de la résistance, tension qui est proportionnelle à la lumière !

– INTERRUPTEURS :
ils sont optionnels, mais tout de même bien pratiques.
L’interrupteur on/off permet de couper l’alimentation des moteurs. Branchez-le donc simplement entre la pin 5V de l’Arduino et le fil d’alimentation des moteurs.
L’interrupteur multi-position permet de sélectionner “l’humeur” de votre robot, c’est-à-dire le comportement qu’il adoptera face à la lumière. Branchez la pin fixe à la pin 12 de l’Arduino 12 (par exemple, ou encore à la pin 3.3V ou n’importe quelle pin fournissant de la tension) et les pins variables (c’est-à-dire celles qui sont sélectionnés ou non lors du mouvement de l’interrupteur) aux pins Arduino 2,3,4. Vous l’aurez compris, ici on a codé trois comportements distincts.

Etape 3 : Programmer la carte Arduino

Enfin, il est temps de charger dans l’Arduino le programme donné au tout début du tuto.
Si vous vous y connaissez en programmation, vous pouvez très bien coder de nouveaux comportements pour votre robot.

J’ai commenté les lignes de commande du Serial.
Si jamais vous souhaitez afficher dans le moniteur de l’IDE Arduino ce que fait l’Arduino et ce que mesurent les photodiodes, il suffit de décommenter ces lignes. Ainsi vous pourrez modifier les valeurs des différents seuils (au début du programme) pour les adapter aux conditions lumineuses de votre pièce.

Etape 4 : Jouez !

Dans la vidéo suivante, je vous présente les 3 comportements implémentés dans le MoodyBot. On peut switcher de l’un à l’autre grâce à l’interrupteur multi-positions.
Le robot joueur ne démarre qu’en présence de lumière. Il la suit ensuite, et vous pouvez ainsi le faire aller où vous voulez !
Le robot peureux fait l’inverse, il fuit la lumière et opère même un demi-tour s’il est trop près d’elle !
Le robot amoureux cherche la lumière puis, étourdi, s’approche en zigzaguant. Une fois sa parade amoureuse terminée, il reste auprès de sa dulcinée.

Ces tutoriels devraient vous plaire

vignette Arduino et Porte automatique de poulailler
Arduino et Porte automatique de poulailler
vignette L’imprimante 3D pour 60€: EWaste
L’imprimante 3D pour 60€: EWaste
vignette Connecter un  écran LCD en I2C
Connecter un écran LCD en I2C
avaatar Min'Bot

Min'Bot

Suivre

Vues: 497
Mis en favoris: 1

Découvrez d'autres tutoriels de

Min'Bot

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

Powered by Oui Are Makers