Vous êtes sur la page 1sur 27

Projet de Physique P6-3

STPI/P6-3/2010 - 39

Robot suiveur de ligne

Etudiants :

Marion CAMILLA Charlotte NORMAND

Di LU Léo TALEC

Johann RAKOTOHARISOA Pol VOGEIN

Enseignant-responsable du projet :

Fabrice DELAMARE
-2-
Date de remise du rapport : 18/06/2010

Référence du projet : STPI/P6-3/2010 – 39

Intitulé du projet :

Robot suiveur de ligne

Type de projet : Expérimental

Objectifs du projet :

Réaliser un robot suiveur de ligne : le robot devra suivre une ligne noire sur fond blanc. La
détection de la ligne sera assurée par des capteurs infrarouges sous sa base, mais le robot aura
aussi un capteur de distance devant pour éviter les obstacles. Il sera piloté à l’aide d’un
microcontrôleur. La programmation se fera en langage BASIC.

Si nous disposons d’assez de temps le robot pourra éventuellement s’exprimer à l’aide de petits
micros ou avec un écran LCD.

Ce projet devra nous permettre d’appréhender la programmation en BASIC ainsi que


d’acquérir des bases en électroniques.

-3-
TABLE DES MATIERES

I. Introduction ................................................................................................................................. - 6 -
II. Méthodologie / Organisation du travail ...................................................................................... - 6 -
A. Séparation des travaux ............................................................................................................ - 6 -
B. Planning du projet ................................................................................................................... - 7 -
III. Travail réalisé et résultats ....................................................................................................... - 8 -
A. Electronique ............................................................................................................................ - 8 -
1. Microcontrôleur .................................................................................................................. - 8 -
2. L293 ..................................................................................................................................... - 9 -
3. Capteur infrarouge ............................................................................................................ - 10 -
4. Capteur de distance........................................................................................................... - 11 -
5. Les moteurs ....................................................................................................................... - 12 -
6. Déroulement de l’assemblage ........................................................................................... - 14 -
B. Conception ............................................................................................................................ - 16 -
C. Programmation ..................................................................................................................... - 17 -
1. Début de la programmation .............................................................................................. - 18 -
2. Fin de la programmation ................................................................................................... - 20 -
IV. Conclusions et perspectives .................................................................................................. - 20 -
V. Bibliographie.............................................................................................................................. - 22 -
VI. Annexes ................................................................................................................................. - 23 -
A. Programme en BASIC............................................................................................................. - 23 -
B. Schémas électroniques.......................................................................................................... - 26 -

-4-
NOTATIONS, ACRONYMES

BASIC : Beginner’s All-Purpose Symbolic Instruction Code

LED : Light Emiting Diode

PC : Personnal Computer

PIC : Programmable Integrated Circuit

USB : Universal Serial Bus

-5-
I. Introduction

Dans le cadre de notre projet physique, c’est le « Robot suiveur de ligne » qui nous a été
attribué. Bien que n’ayant aucune notion d’électronique, nous avons étés tous les six contents de
cette attribution. Notre objectif principal était évident : réaliser un robot qui serait capable de suivre
une ligne.

Pour cela il nous fallait apprendre à faire un schéma électronique, choisir et utiliser les composants,
mais aussi découvrir et se servir du langage BASIC.

Le robot devait donc être muni d’un microcontrôleur, un PB 2H dans notre cas et sa
programmation se ferait en langage BASIC. Ceci constituerait en quelque sorte l’intelligence.

Pour la motorisation nous avons choisi d’utiliser deux moteurs alimentés en courant continu.

Concernant la détection de la ligne, nous avons décidé d’utiliser entre 3 et 6 capteurs infrarouges
sous le robot. Par ailleurs, celui-ci devait aussi être muni d’un capteur de distance afin de s’arrêter en
cas de rencontre avec un obstacle.

Bien entendu, notre robot ne pouvant pas être une simple carte électronique avec des composants
pendants de tous les côtés, la question de la structure de celui-ci était essentielle. Elle fût
entièrement réalisée autour d’une contrainte : utiliser un rondin de bois fourni par Mr Delamare.

Enfin, notre projet comporterait d’autre composants, tels que les piles, dont nous décrirons plus loin
le fonctionnement et les branchements.

II. Méthodologie / Organisation du travail

A. Séparation des travaux

La question de la répartition du travail a été une des premières, mais s’est résolue très
facilement. Johann et Di étaient très intéressés par la programmation, c’est pourquoi nous nous
sommes tous les six mis d’accord pour qu’ils s’occupent de cette partie du projet. Pol et Léo
souhaitant aller en département Mécanique, ont rapidement montré un grand intérêt pour la
conception. Concernant la partie électronique de ce projet, qui était l’une des plus lourdes, nous
étions plus ennuyés. En effet, aucun de nous n’avait de connaissance dans ce domaine. Mais, d’un
naturel curieux, Marion et Charlotte ont décidé de s’en occuper, épaulées par Léo et Pol.

-6-
B. Planning du projet

La répartition temporelle du projet, sur 12 semaines, a été établie dès la première semaine.
Ce suivi hebdomadaire avait pour objectif d’éviter de prendre du retard au fil des séances.

Planning :

Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 Sem 6


Electronique Découverte
projet
Conception Découverte
projet
Programmation Découverte
projet
Sem 7 Sem 8 Sem 9 Sem 10 Sem 11 Sem 12
Electronique Marge de
sécurité
Conception Marge de
sécurité
Programmation Marge de
sécurité

-7-
Par ailleurs, notre professeur responsable du projet nous a demandé de réaliser chaque
semaine un cahier de suivi. Celui-ci contiendrait les travaux réalisés chaque séance ainsi que les
objectifs pour les séances à venir. Pour réaliser ce cahier de suivi, le groupe a pris la décision qu’à
chaque fin de séance nous nous réunissions pour récapituler la séance. Chaque semaine, un binôme
différent s’occuperait de compléter le cahier. Les binômes étant encore : Marion-Charlotte, Johann-
Di, Léo-Pol.

III. Travail réalisé et résultats

Avant de commencer le robot, nous avons réalisé, à la demande du professeur Mr Delamare,


un état de l’art sur les robots suiveurs de ligne. Ceci nous à permis de découvrir notre sujet de façon
assez ludique.

A. Electronique
1. Microcontrôleur

Pour assurer la gestion « informatique » du robot, nous avons décidé d’utiliser ce


microcontrôleur : un PICBASIC proposé par la société LEXTRONIC, programmé en BASIC. Nous avons
utilisé un PB-2H qui se présente sous la forme d’un hybride au format D.I.L. Ce modèle était livré pré-
assemblé composé d’un microcontrôleur associé à une mémoire non volatile, d’un quartz, de
quelques composants et d’un connecteur destiné à le relier au PC. A l’aide d’une alimentation +5V,
ce microcontrôleur pourra être rendu opérationnel.

Ce PICBASIC est composé de 27 ports E/S répartis sur 36 broches. Il contient aussi 2 sorties PWM
pour gérer la vitesse des moteurs.

-8-
- La broche 32 est un port PICBUS spécifique pour le port LCD est sera donc réservé pour ce
cas.
- Les broches 4, 5, 6, 7 et 8 sont des entrées analogiques réservées alors pour les capteurs.
- Les broches 13 et 14 sont des sorties PWM. Elles doivent être reliées aux entrées « enable »
du L293.

Voici un schéma simplifié pour visualiser l’organisation du circuit électrique du robot :

2. L293

Pour commander les deux moteurs, nous devions utiliser un L293. Ce circuit imprimé
numérique peut aisément dialoguer avec notre PB-2H qui est lui aussi numérique. Ce circuit
comprend deux ponts en H eux-mêmes constitués de 4 transistors chacun qui servent à contrôler la
polarité des moteurs.

A l’aide de sa documentation, nous avons pu connaitre les branchements à réaliser sur ce


composant.

- Les branches 1 et 9 étant des « enable », nous les avons utilisé (pour faire tourner les
moteurs) en les reliant au sorties PWM du PB-2H.
- Les branches 4, 5, 12 et 13 ont été reliées à la masse (GROUND).
- Nous avons soudé un fil entre le Vcc1 et la branche 16. Nous avons fait de même entre le
Vcc2 et la branche 8.

-9-
- Les ports 1A, 2A, 3A et 4A : avec ses broches, nous devions pouvoir faire deux choses. Elles
devaient permettre de déterminer la vitesse de rotation des moteurs, mais aussi leur sens de
rotation.

Ce sont les ports enable 1 et 2 et input 1, 2, 3 et 4 qui sont commandées par le microcontrôleur.

Schéma L293

3. Capteur infrarouge

Nous avons décidé de mettre trois capteurs infrarouges sous le robot pour détecter la ligne
noire sur le fond blanc.

Les capteurs utilisés seront à la fois émetteurs et récepteurs de rayons infrarouges. De manière
simplifiée, ils transforment l’intensité des ondes infrarouges reçues en une tension proportionnelle à
celle-ci. Ce type de capteurs détecte soit :

- une couleur claire : l’extérieur de la ligne, dans ce cas les infrarouges émis seront presque en
intégralité réfléchis donc la tension en sortie du capteur sera élevée.

- une couleur foncée : la ligne à détecter, dans ce cas les infrarouges émis ne seront pas réfléchis
ou presque donc la tension en sortie sera faible.

Ces capteurs sont des TCRT 5000. Chaque unité se compose de 4 fils initialement gros et
jaunes. Nous avons changé ces fils contre 4 autres plus petits afin de pouvoir les souder au circuit
intégré.

2 Capteurs infrarouges
- 10 -
Les trois sont branchés de manière similaire. Voici le détail des branchements des TCRT 5000.

Branchements TCRT 5000

4. Capteur de distance

Pour mettre à l’avant de notre robot, nous avons choisi d’utiliser un GP 2D 12. Afin de le
relier au PB-2H nous devions utiliser un port analogue. Pour cela nous avons utilisé le port 0. Nous
avons relié de même le fil noir à la masse du circuit imprimé et le fil rouge au +5V.

Branchements GP 2D12

Détecteur GP 2D 12

- 11 -
5. Les moteurs

Pour ce qui est des moteurs, nous avons choisi des moteurs à courant continu. Le passage du
courant se fait dans des bobines contenues dans la partie mobile. Au niveau des moteurs, 3
conditions doivent être respectées:

- Il faut pouvoir contrôler le robot à distance.


- Il faut pouvoir faire varier la vitesse.
- Il faut pouvoir faire tourner le moteur pour faire marche-arrière.

Pour faire varier la vitesse, il faut un signal rectangulaire sous forme de fréquence, de type
« impulsions à largeur modulée » plus connu sous le nom de PWM. Le signal d’intensité variable, va
permettre d’envoyer plus ou moins de courant dans les moteurs. La vitesse moyenne peut être
déduite du produit de la tension Vcc et du rapport cyclique noté α.

Le rapport cyclique d'impulsion noté α traduit le rapport de la période lorsque le moteur est dit sur
ON et de la période totale :

α=Ton/Ttotal

Le rapport cyclique d’impulsion n’aura jamais pour valeur 0, ce qui correspond à l’arrêt. Par ailleurs, il
n’aura jamais pour valeur 1, car dans ce cas il n’y aurait plus de fréquence, cela signifie qu'on
n'utiliserait pas de transistors. Or, il n'est pas possible de ne pas utiliser de transistors car ces
derniers remplissent un rôle important dans la deuxième condition.

- Il faut pouvoir faire tourner le robot, le freiner, pouvoir faire marche-arrière.

Pour cela, on utilise donc les transistors. Ceux-ci sont placés de telle façon pour pouvoir contrôler le
moteur : c'est le système appelé de pont en H.

- 12 -
Pour comprendre, voici un schéma simplifié :

Sur ce schéma on observe 4 interrupteurs. Il faut les fermer ou les ouvrir pour pouvoir faire varier les
trajectoires du robot:

- Pour que le robot aille tout droit, il faut que les deux moteurs tournent en sens inverse.
- Pour freiner le robot, on court-circuite le moteur. Il continue donc à tourner tout seul mais
en produisant une énergie thermique sous forme de chaleur qui freine le moteur. En effet,
l'énergie mécanique est transformée en énergie thermique.

Dans le montage réel, on remplace les interrupteurs par des transistors.

Les transistors sont utilisés en TOR (Tout Ou Rien). En effet, il y a 2 états possibles :

- E=0  T est bloqué : T se comporte en interrupteur ouvert; le moteur est arrêté.

- E=1  T est saturé : T se comporte en interrupteur fermé; le moteur tourne.

Voilà un schéma plus réaliste :

- 13 -
Le système de commande est réalisé à l’aide du PICBASIC. Parallèlement aux moteurs, nous avons
branché des condensateurs afin d’éliminer les parasites générés par les moteurs.

6. Déroulement de l’assemblage

Une fois les composants choisis, le bon de commande rédigé et les documentations étudiées,
nous avons pu établir définitivement un dessin du schéma électrique.

Les premières soudures réalisées ont étés celles concernant les diodes. Puis, nous nous sommes
occupées de fixer le L293 sur la plaque fournie par le professeur. Nous avons aussi débuté en
parallèles des soudures sur un haut parleur, mais après concertation avec le reste du groupe, la
décision fut prise d’utiliser seulement un écran LCD.

- 14 -
Une fois les connections faites entre les pattes du PB-2H et le L293, nous nous sommes attaquées
aux résistances destinées aux TCRT5000.

Charlotte soudant

Les semaines passant vite, nous avons accéléré notre travail de soudure et avons rapidement
fixé les 3 capteurs infrarouges et le GP 2D 12 après avoir remplacé les gros fils initiaux par d’autres
plus pratiques. Nous avons aussi pris l’initiative de changer le régulateur déjà présent sur le circuit
imprimé. Cette manipulation, ainsi que la mise en place de la remplaçante s’est avérée très difficile,
les pattes cassant facilement. Nous avons d’ailleurs cassé le deuxième régulateur. Les dernières
semaines du projet, la date de rendu approchant, Marion et Charlotte sont venues en dehors du
créneau afin de souder l’écran LCD, prévoir le branchement des accumulateurs et les moteurs.
Concernant ces derniers, nous les avons fixés à l’aide de borniers à vis.

Une fois que tout était fini nous avons souhaité faire fonctionner le robot. Malheureusement
cette dernière étape fut un échec car le robot n’a jamais voulu avancer. Chaque moteur fonctionnait
correctement lorsqu’il était alimenté individuellement mais la tension devenait trop faible lorsque
nous souhaitions faire fonctionner les deux à la fois. Nous avons donc pensé résoudre le problème en
soudant des résistances aux bornes des enables. Malheureusement, cela n’a rien changé à notre
problème : le robot n’avançait pas.

Les principales difficultés que nous avons rencontrées concernent le schéma électrique.
N’ayant jamais suivi de cours d’électronique, sa réalisation fut longue et délicate. Les séances
destinées aux soudures furent plutôt agréables. A deux le travail était relativement facile et nous
pouvions toujours avoir 2 paires d’yeux pour vérifier.

- 15 -
B. Conception

Dès le début du projet, les rôles ont été répartis de façon à ce que Léo et Pol s’occupent en
priorité de tout ce qui touchait à la réalisation matérielle et mécanique du robot.

Le choix s’est porté sur un rond de bois de 20 cm de diamètre pour faire office de base pour
le robot. Il fallait ensuite un corps pour le robot. Après plusieurs essais, celui qui convenait le mieux
était une boîte de conserve de 16 cm de diamètre. Nous étions confrontés à notre premier problème
pour assembler la boite de conserve et le rond de bois. Deux solutions s’offraient à nous :

- creuser une rigole dans le bois et y insérer la conserve, dont nous aurions enlevé le fond,

- diminuer le cercle de bois afin que son diamètre fasse 15cm et le glisser dans la boîte de conserve.

Nous avons opté pour la deuxième solution. Pour cela, nous avons tracé un cercle de 15cm sur le
rond de bois pour que Mr Ricouard puisse l’usiner.

Nous avions maintenant le corps du robot. Il restait à fixer de nombreux composants comme
les capteurs, le bloc moteur, l’écran LCD et étudier la structure pour pouvoir relier et fixer tous ces
composants entre eux. Nous avons d’abord assemblé le bloc moteur chargé de faire tourner les
roues et relié au circuit imprimé. Pour le fixer nous avons dû percer nos premiers trous avec la
perceuse, trous dans le lesquels nous avons fait passer des vis ensuite bloquées par des écrous. En
effet les capteurs devaient être positionnés sous la plaque de bois.

C’est en fixant le bloc moteur que nous nous sommes rendus compte de deux détails. Tout
d’abord les roues avaient un diamètre trop important. La solution était de découper la plaque de bois
pour insérer les roues. C’est ce que nous avons fait avec la scie à chantourner. Ensuite, après
concertation avec Charlotte et Marion qui s’occupaient de la partie électronique, nous avons du
concevoir une façon de réaliser les transitions entre le bloc moteur et la carte mère : par où faire
passer les fils ? Cela nous obligea à percer un nouveau trou, plus large que les précédents, pour faire
passer ces câbles.

Pol à la scie

- 16 -
La réalisation mécanique du robot était presque achevée. Tous les composants pouvaient
être assemblés à l’intérieur du robot car la place était suffisamment conséquente dans la boîte de
conserve. Nous avions également prévu de placer les piles à cet endroit. Pour que le robot ne tombe
pas vers l’arrière, nous avons utilisé une simple cuillère en plastique, que nous avons placée sous le
robot à l’aide de vis. L’équilibre était alors assuré. Il ne restait plus qu’à fixer l’écran LCD à la
structure, un capteur de distance devant le robot et trois capteurs infrarouges dessous.

Nous avons commencé par fixer les trois capteurs sous le robot. En effet nous avions déjà
prévu de les fixer de la même manière que le bloc moteur : des vis et des écrous, les fils passant à
travers des trous que nous avons percés à cet usage.

Le dernier capteur, celui de distance, nous posait plus de problème. En effet il devait être fixé
devant, sur la boîte de conserve. Nous avons décidé d’employer la même méthode que
précédemment : trois trous, deux vis et deux écrous. Ce fut plus compliqué mais pour éviter le
moindre problème, nous avons bloqué la boîte de conserve à l’aide de cales.

Restait la fixation de l’écran LCD. Pour cela nous avons cherché un couvercle pour le robot. Charlotte
et Marion ont trouvé un couvercle de Tupperware qui correspondait exactement au diamètre de la
de conserve. Il était bien plus facile de fixer l’écran LCD sur le couvercle que sur le corps du robot : il
fut fixé par l’intermédiaire d’une petite plaque de bois, grâce à deux vis et deux écrous.

L’écran LCD fixé

Enfin, pour améliorer l‘esthétisme du robot, nous avons recouvert celui-ci avec des bandes de papier
représentant un costume.

C. Programmation

Dans ce projet Di et Johann se sont occupés de toute la partie programmation du


robot. Le microcontrôleur utilisé était un PicBasic « PB-2H ». Le PICBASIC est programmé
facilement en langage BASIC par l’intermédiaire d’un PC et d’un logiciel de développement. Ce
logiciel sert à transformer les instructions BASIC en codes spécifiques alors transférés dans la
mémoire du PICBASIC à l’aide d’un cordon de liaison raccordé au port USB de l’ordinateur. Notons
que ce langage était nouveau pour Di et Johann.

- 17 -
1. Début de la programmation

Nous avons donc commencé par nous familiariser pendant deux semaines environ
avec le BASIC. Dans un premier temps en lisant la documentions sur les PICBASIC, et enfin en
réalisant de petits programmes, que nous avons pu tester sur la platine d’essai.

Platine d’essai

En voici un exemple ci-dessous : il consistait à allumer des LEDs les unes à la suite des
autres comme sur la fameuse voiture « K2000 ».

__________________________________________________________________________________

CONST DEVICE = 2H ‘Pour définir sur quel type de PICBASIC va être utilisé le programme

20 OUT 0,1 ‘On allume la 1ère LED connectée au port 0


DELAY 100 ‘On met le programme en pause pendant 100 millisecondes
OUT 0,0 ‘On éteint la 1ère LED connectée au port 0
OUT 1,1 ‘On allume la 2ème LED connectée au port 1
DELAY 100 ‘Etc.

- 18 -
OUT 1,0
OUT 2,1
DELAY 100
OUT 2,0
GOTO 20 ‘On revient à la ligne 20, on crée ainsi une boucle.

__________________________________________________________________________________

Remarque : Pour allumer une LED, ils devaient donc mettre l’état logique de la sortie
correspondant à 1 et à 0 pour éteindre celle-ci.

Après cela, nous nous sommes attaqués à la résolution du problème qui consistait de faire
suivre une ligne noir sur fond blanc au robot.

L’analyse descente du problème fut la suivante :

Suivre la
ligne

Tourner Tourner
s'arrêter Avancer
à gauche à droite

Nous avons d’abord commencé par programmer les « sous-programme » pour tourner à
gauche et à droite puis ceux pour aller tout droit et pour s’arrêter. Puis nous avons recherché tout les
cas possibles dans lesquels pouvait se trouver le robot afin de définir dans quels cas il devait tourner
à gauche, à droite, avancer ou s’arrêter. Tout au long de la programmation nous avons effectué les
tests sur la platine d’essaie en simulant les 2 moteurs par 2 LEDs et les capteurs par des boutons
poussoirs.

Johann à la programmation

- 19 -
Nous sommes donc arrivés, après plusieurs modifications et quelques soucis informatiques, au
programme se trouvant en annexe.

2. Fin de la programmation

Une fois le PICBASIC chargé avec les commandes, nous l’avons débranché du PC afin qu’il
devienne autonome. Ainsi, il devait réaliser le programme écrit par le biais de son microcontrôleur
qui récupérerait les codes pour les traduire en actions.

IV. Conclusions et perspectives

Charlotte : « N’ayant jamais fait d’électronique durant mes études, j’ai appris beaucoup de choses,
mais je me suis aussi aperçue qu’il me reste énormément de choses à découvrir dans ce domaine. Le
projet me plaisait dès le départ mais malgré mon investissement et ma motivation, j’ai été très
ennuyée par les difficultés rencontrées. J’aurais vraiment voulu que ce robot fonctionne. Cependant
j’espère avoir l’occasion de réaliser un autre robot durant mon cursus. Ce projet m’a aussi permis de
continuer à découvrir le travail en groupe, et les difficultés qui y sont liées quand les groupes sont
dépendants les uns des autres. »

Di : « Après un semestre de projet P6-3, je connais la technique fondamentale pour fabriquer un


robot. Comme je me suis concentré sur la programmation, je sais bien programmer avec le logiciel
PICPASIC. Cela m'a donné un aperçu des conditions de travail pour un ingénieur. De plus, j'ai
découvert l'importance de la collaboration, cela sera très utile dans mon futur travail. »

Johann : « Ce projet, m'a premièrement permis de développer mes aptitudes à travailler en groupe.
De plus, l’objectif étant de réaliser un robot, cela m’a permis de nous confronter à certaines
contraintes auxquelles nous n’avions jamais eu à faire face dans les autres projets réalisés à l’INSA
comme la dépendance de chaque personne du groupe à une autre. En effet dans mon cas,
m’occupant de la programmation, je ne pouvais pas tester le programme directement sur le robot
tant que celui-ci n’était pas conçu. Enfin ce projet m’a permis de découvrir un nouveau langage
informatique, le basic et de découvrir le monde de la robotique. Mais il a aussi confirmé mon choix
d’orientation pour le département ASI. »

- 20 -
Léo : « Pour conclure, je dirais que j'ai trouvé ce projet très enrichissant. En effet, depuis longtemps
déjà je souhaitais construire de toutes pièces mon propre robot. Par chance j'ai réussi à avoir mon
premier vœu qui correspondait à ce projet. Seulement je ne m'imaginais pas que la fabrication d'un
simple petit robot suiveur de ligne nécessiterait autant de travail et de connaissances. Avec Pol, nous
étions chargés de la partie conception, et au fil des semaines j'ai commencé à assimiler le
fonctionnement d'un tel robot. J'espère pouvoir concevoir des robots possédants encore davantage
de fonctionnalités en département Mécanique l'année prochaine.

Marion : « Ce projet m'a permis d'approfondir mes connaissances en robotique et notamment la


partie électronique. De plus, j'ai appris à réaliser un projet en partant d'une simple consigne
"réalisation d'un robot suiveur de ligne", à planifier le travail en fonction des semaines restantes et à
travailler en groupe. J'ai beaucoup aimé travailler dans l'objectif de créer un robot suiveur de ligne à
partir d'une simple planche en bois. »

Pol : « Ce projet de p6-3 a été une expérience vraiment enrichissante pour ma part. Ce projet nous a
permis de mener un projet du début à la fin en mixant nos compétences dans des domaines très
variés comme l'électronique, la programmation ou la conception et de réussir à créer un robot m'a
paru à la fois très agréable et original. Le seul point faible que je pourrais trouver à ce projet est
l'électronique. En effet pour des élèves ne sortant pas de terminale SI, il est extrêmement difficile de
comprendre le rôle de tous les composants et de quelle façon les utiliser. Malgré cette difficulté, ce
projet est une très bonne expérience et la création d'un robot est un sujet original et motivant.

- 21 -
V. Bibliographie

[1] lien internet : http://focus.ti.com/lit/ds/symlink/l293.pdf (valide à la date du 17/06/2010)

[2] lien internet : http://www.elektor.fr/Uploads/2009/2/manuelPICBASIC.pdf (valide à la date du


17/06/2010)

[3] lien internet : http://www.robot-advance.com/FR (valide à la date du 17/06/2010)

[4] lien internet : http://www.robotshop.ca/capteur-distance-gp2d12-ir-sharp-3.html (valide à la


date du 17/06/2010)

[5] lien internet : http://www.parallax.com (valide à la date du 17/06/2010)

[6] lien internet : http://www.lextronic.fr/ (valide à la date du 17/06/2010)

- 22 -
VI. Annexes

A. Programme en BASIC

CONST DEVICE = 2H

DIM SG AS BYTE
DIM SD AS BYTE
DIM C AS BYTE
DIM OBS AS BYTE

20 SET PICBUS HIGH


LCDINIT
CONST NOIR=1
CONST BLANC=0

SG=IN(2) 'capteur avant gauche


SD=IN(3) 'capteur avant droit
C=IN(4)'capteur milieu
OBS=IN(1)'capteur obstacle A PLACER DANS LE PROGRAMME

'Moteur Droit
CONST MG=10 'moteur Droit enable
CONST MARG=8
CONST MAVG=7

'Moteur Gauche
CONST MD=9 'moteur Gauche enable
CONST MARD=12
CONST MAVD=11

30 IF SG=NOIR AND SD=BLANC AND OBS=0 THEN


GOTO GAUCHE
ELSE GOTO 40
END IF

40 IF SD=NOIR AND SG=BLANC AND OBS=0 THEN


GOTO DROITE
ELSE GOTO 70
END IF

70 IF C=BLANC AND SG=BLANC AND SD=BLANC AND OBS=0 THEN


GOTO ARRET

- 23 -
ELSE GOTO 80
END IF

80 IF C=NOIR AND OBS=0 THEN


GOTO AVANCE
ELSE GOTO 90
END IF

90 IF OBS=1 THEN
GOTO ARRET
END IF

DROITE:

OUT MD,0
OUT MG,1
OUT MAVD,0
OUT MAVG,1
OUT MARD,0
OUT MARG,0
LCDINIT
LOCATE 1,0
PRINT " Je vais vers"
LOCATE 4,1
PRINT "la droite"
GOTO 20
GAUCHE:

OUT MD,1
OUT MG,0
OUT MAVD,1
OUT MAVG,0
OUT MARD,0
OUT MARG,0
LCDINIT
LOCATE 1,0
PRINT " Je vais vers"
LOCATE 4,1
PRINT "la gauche"
GOTO 20

ARRET:
OUT MG,0

- 24 -
OUT MD,0
OUT MAVD,0
OUT MAVG,0
OUT MARD,0
OUT MARG,0
LCDINIT
LOCATE 2,0
PRINT "Je suis perdu"
GOTO 20

AVANCE:
OUT MG,1
OUT MD,1
OUT MAVD,1
OUT MAVG,1
OUT MARD,0
OUT MARG,0
LCDINIT
LOCATE 0,0
PRINT "Je suis la ligne"
GOTO 20

- 25 -
B. Schémas électroniques

- 26 -
- 27 -

Vous aimerez peut-être aussi