Voiture Autonome 2.0

image principale Voiture Autonome 2.0

Difficulté:

Voiture Autonome – Telecommander – Intelligente



Grâce à ce tutoriel vous apprendrez à créer une voiture autonome. Sachant que tout le monde n’a pas le même budget, le projet est décomposé en 3 parties. Chaque partie est indépendante l’une de l’autre, vous pouvez réaliser la totalité du projet ou bien que la partie qui vous intéresse. La première partie permettra l’autonomie de la voiture grâce à des capteurs de position et de contact notamment un capteur à ultrason. La deuxième partie permettra de prendre le contrôle de la voiture et de la piloter. La troisième partie sera destinée à l’intelligence de la voiture, grâce à l’ajout d’un codeur (je présenterais deux solutions).


Chaque partie possède du matériel propre à elle ainsi que du matériel commun aux trois parties.


Si j’ai réalisé ce projet c’est avant tout pour apprendre à utiliser une carte Arduino. Et j’aimerais partager avec vous mon expérience.

Matériel :

Budget : Non défini

  • Tous les matériels ont été acheté chez GoTronic, je citerai plusieurs fois se fournisseur ainsi que les prix d’achat du matériel dans cette liste.
  • Pour les matériels indispensables et communs aux trois parties il y a :
  • – Une BreadBoard pour un montage simple, facile et evolutif, (disponible ici)
  • – Un shield Moteur ADA1438,(Prix GoTronic : 22,90 €), (disponible ici)
  • – Des fils de connexion pour BredBoard,
  • – Un châssis de robot, le mien est un Châssis éco DG008(Prix GoTronic : 24,50 €),
  • – Un Assortiment de 330 vis KV330,(Prix GoTronic : 2,95 €),
  • – 2 Pile 9v avec leurs adaptateurs de branchement,
  • – Bien entendu, des Resistances pour les Led, et les appareillages.
  • Pour la partie 1(partie autonome) il vous faudra :
  • – 2 Microrupteur SPS75GC,(Prix GoTronic : 3,50×2 = 7 €)
  • – 1 Bouton poussoir pour l’allumage (n’est pas nécessaire si vous réalisez la partie 2)
  • – 1 Led de couleur pour la signalisation de détection d’obstacle (pas obligatoire)
  • Pour la Partie 2(partie télécommander) vous aurez besoin de :
  • – 1 Module IR 38 kHz TSOP31238,(Prix GoTronic : 1,50 €)
  • – 1 Led d’une autre couleur que la led de détection d’obstacle
  • Solution Economique :
  • – 1 Diode émettrice Infrarouge IRS5, (Prix GoTronic : 0,35 €)
  • – 1 Photodiode BPV10NF, (Prix GoTronic : 0,65 €)
  • – 1 Plaque de cuivre à souder
  • – 1 Feutre Blanc / Etiquette Autocollante Blanche (quelque chose qui permettra de recouvrir une partie de la roue vous comprendrez après :))
  • Solution plus onéreuse :
  • – 1 Kit moteurs + roues + encodeur RS034 de DAGU compatible avec le châssis, (Prix Gotronic : 24,90 €)
  • Pour le fun et plus de personnalisation mais pas obligatoire, cela rajoute du réalisme à la voiture:
  • – 1 Plaque de cuivre à souder
  • – 6 Led Blanche
  • – 2 Led Rouge
  • – 1 Led RGB
  • – 1 Photoresistance
  • – 1 Télécommande achetée ou de récupération (sa va de soit ^^)
  • Pour la partie 3(partie intelligence) nous avons besoin d’un encodeur, il y a alors deux solutions, une économique à fabriquer soit même ou une un peu plus chère :
  • – Une carte Arduino Uno,(Prix GoTronic : 19,50 €), (disponible ici)
  • – Un capteur ultrason de type SRF05,(Prix GoTronic : 21,60 €) (disponible ici)

Fichiers :

Etape 1 : Mode Autonome

Apres avoir monté le châssis et installée la carte arduino et la breadboard dessus, placé le capteur ultrason sur le devant de la voiture et un microrupteur de chaque coter de la voiture. Pour ma part j’ai fixé les capteurs sur une plaque de cuivre plus longue que la voiture de sorte que les microrupteurs dépasse des roues de la voiture.

Pour ceux qui présage de faire la partie trois vous pouvez des a présent installer 1 des bloc motoreducteur à deux sortie avec l’encodeur pour la partie 3.

Je vais vous présenter et vous expliquer comment fonctionne c’est deux capteurs. pour ceux que sa n’intéresse pas vous pouvez passer directement à l’étape du programme.

Etape 2 : Le capteur ultrason


Avant de mesurer la distance on peut s’intéresser à son fonctionnement. D’après le chronogramme ci-dessus on voit que l’on doit envoyer une impulsion de 10 μS sur le pin “Trigger” et on recevra en retour une impulsion d’une largeur comprise entre 100 μS et 25 000 μS (25mS). Le fabriquant indique que pour convertir cette durée en distance en cm il faut diviser le temps de l’impulsion par 58.

Pour savoir pourquoi on doit diviser par 58 il faut se pencher sur la vitesse du son dans l’air qui est de 346 m/s.
On commence par convertir les m/s en cm/μS, cela fait 346*100 = 34 600 cm/s puis 34 600/1 000 000 = 0,0346 cm/μS
On peut aussi faire directement 346/10 000=0,0346 car 1 000 000/100 = 10 000.
On sait également que le temps est égale à la distance divisé par la vitesse.
Si on fait pour 1 cm : 1/0.0346 on trouve 28,9 μS. vous allez me dire, c’est pas égale à 58 ^^.
Mais n’oublié pas que l’onde que l’on envoie doit aussi nous revenir donc elle parcourt deux fois la distance qui sépare le capteur de l’obstacle c’est à dire 28,9*2 = 57,8 donc 58 μS.
C’est pour cela que dans le programme arduino il faudra diviser le résultat obtenue par 58 pour obtenir une distance.

Etape 3 : Le microrupteur

Je ne vais pas m’attarder sur le fonctionnement du microrupteur qui est juste un double bouton poussoir. Il possède deux contacts, un contact de type NO(Normaly open ou normalement ouvert) et un contact NC(Normaly close/appeler aussi NF en france pour normalement fermé). Suivant le fonctionnement que l’on veut on se raccorde l’un ou l’autre voir les deux.

Etape 4 : Le programme

Pour le programme je vous joins le code pour la détection d’obstacle ainsi que les fonctions pour la direction de la voiture.
Si il y a des parties que vous ne comprenez pas n’hésiter pas à laisser des commentaires je me ferai un plaisir de vous répondre
Vous pouvez le personnaliser à votre guise, changer les pins etc,etc.

C’est ainsi que s’achève la partie autonome de la voiture.

Etape 5 : Mode Telecommander

Pour cette partie il vous faut avoir monter le chassîs, la carte arduino la breabboard etc. Si vous avez fait la partie 1 remplacer le bouton d’allumage par le récepteur infrarouge, et brancher une nouvel led sur la breadboard (Voir le cablage ci-dessus). Pour ceux qui n’ont pas fait la partie 1, je vous invite à reproduire câblage ci-dessus.

La led verte va servir à savoir si votre télécommande fonctionne bien et vous indiquez où vous en êtes dans le programme par exemple quand elle est allumée, quand vous changer un paramètre. Enfin on verra sa après.

Comme pour la partie 1 je vais passer à une bref explication sur le capteur IR. Pour ceux qui veulent passer rendez vous à la partie programme.

Etape 6 : Capteur IR : TSOP

Pour comprendre son fonctionnement il faut s’intéresser au diagramme ci-dessus, nous pouvons voir sur le graph du dessous, les temps “Ton” et “Toff” qui compose le premier graphique et qui correspondent respectivement au temps à l’état haut et à l’état bas de l’impulsion renvoyé par le capteur.
Car quand vous appuyez sur une touche de votre télécommande cette dernière génère un “train d’onde” de largeur plus ou moins grande permettant d’identifier sur quel touche vous avez appuyer.
Le capteur reçois alors cette information et passe a l’état haut et a l’état bas autant de fois que le code le nécessite. L’arduino va récupérer ces impulsions et les traiter. Grace à la bibliothèque qui peut être télécharger ici : https://github.com/z3t0/Arduino-IRremote
Votre arduino va être capable de déchiffrer les codes des telecommandes et ainsi la touche du Volume+ sera : 16740495 (pour ma télécommande)

Etape 7 : Le programme

Pour le programme je vous joins le code pour le pilotage de la voiture ainsi que les fonctions pour la direction de la voiture.
Si il y a des parties que vous ne comprenez pas n’hésiter pas à laisser des commentaires je me ferais un plaisir de vous répondre
Vous pouvez le personnaliser à votre guise, changer les pins etc,etc.

C’est ainsi que s’achève la partie Télécommander de la voiture.

Etape 8 : Mode Intelligente

Etape 9 : Capteur à effet hall


Le capteur à effet hall est un capteur qui va générer des impulsions quand il détecte un champ magnétique qui passe devant lui.
Pour illustrer ce principe je vous ait dénicher une animation flash qui explique le principe du capteur et son utilité dans une voiture.
Le lien : http://stephane.genouel.free.fr/FT/0%20Dossier%20technique/1%20Texte/Scenari%20capteurs/co/capteur_vitesse_6_swf.html

Je ne vais pas vous donner le programme de cette partie car le programme que j’ai fait n’est pas bien fonctionnel il reste deux ou trois truc à voir ^^.
Et je n’ai pas envie de vous donner quelque chose d’incomplet.

Je vous avais parlé d’une solution moins onéreuse, enfaîte il s’agit de crée un circuit imprimé avec une led IR et une photodiode IR, vous avez sans doute remarqué que sur l’une de mes roue il y a des bandes blanches, le circuit était disposée au dessus de la roue, quand le capteur maison est sur la partie noir, le noir absorbe beaucoup plus de lumiere IR que le blanc par conséquent la valeur de la photodiode varie entre les bandes blanches et les parties noir.

On peut alors en déduire quand la roue a effectuée un tour. Je vous mets le projet sous fritzing pour ceux qui souhaite le reproduire.

Mais pour vous expliquer, le programme mémorise chaque action de la voiture (Avance Gauche Droite Arriere ) et le nombre de tour de roue capter par le capteur à effet hall. Sur l’appui d’un bouton revenir en arrière sans toucher aucun obstacle. Cela peut paraître bête mais ce n’est que la première étape.

La deuxième étape consiste à lâcher la voiture dans un angle de pièce, et la voiture va sillonner la pièce de long en large et à chaque détection d’obstacle il va enregistrer dans une table qu’il a rencontré un obstacle, imaginons que chaque nouvel valeur de la table se crée tout les 20 cm “réel”.
Quand la voiture aura terminer elle aura “Scaner” la pièce et pourra si déplacer sans toucher d’obstacle sans son capteur à ultrason, bien sur on n’enlève pas le capteur à ultrason car si une chaise à bouger la voiture doit actualiser sa table.

Etape 10 : Personalisation

Sources :

http://www.gotronic.fr/, http://stephane.genouel.free.fr/


Bonjour,

Nous aimerions pour notre TPE créer une voiture autonome. Nous rencontrons des difficultés avec la programmation mais on arrive pas a lire votre programmation. Pouvez-vous nous aider ?

Merci 

Bonjour, Désolé pour la réponse tardive, je n'ai pas pu me connecter plus tot. Si votre pojet est toujours d'actualité, dites moi quel est votre probleme. Juste l'ouverture du fichier ? Merci

Bonjour,

Je ne vois pas ou se trouve les codes pour programmer le robot. 

Pouvez vous m'aider,

merci

bonjour je suis dans le meme cas (TPE) serait-il possible de nous joindre les code car nous ne pouvons pas les    voir merci et bonne continuation

Ces tutoriels devraient vous plaire

vignette Fabriquer une lampe à lave
Fabriquer une lampe à lave
vignette Connecter un  écran LCD en I2C
Connecter un écran LCD en I2C
vignette Comment fabriquer son filament pour imprimante 3D
Comment fabriquer son filament pour imprimante 3D
avaatar DarkNight

DarkNight

Suivre

Vues: 8754
Mis en favoris: 6

Découvrez d'autres tutoriels de

DarkNight

Le Mélangeur 3000 – DIY

Circuit imprimé Maison

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

Powered by Oui Are Makers