Académique Documents
Professionnel Documents
Culture Documents
Nouira Zineb
Belaalia Laila
1
DEDICACES :
NOS CHERS PERES Vous avez été et vous serez toujours un exemple pour nous
par vos qualités humaines, vos persévérances et perfectionnismes. Aucune dédicace
ne pourra exprimer nos respects, nos reconnaissances et nos profonds amours.
NOS AMIS ET CAMARADES pour tous les bons moments que nous avons
partagés ensemble.
2
Remerciement
Nous tenons à remercier notre encadrant Monsieur Ahmed MOKHLIS, pour la qualité de son
encadrement exceptionnel, pour sa patience et surtout pour ses judicieux conseils, qui ont
contribué à alimenter notre réflexion.
Enfin, nous exprimons notre profonde gratitude à toute l’équipe pédagogique du département
maintenance industrielle, pour avoir assuré notre formation dans les meilleures conditions et
qui nous ont fourni les outils nécessaires à la réussite de réalisation de ce projet.
3
Résumé
La robotique est définie comme étant l’ensemble des techniques permettant la conception et la
réalisation de machines automatiques ou de robots, elle est basée sur les capteurs, des systèmes
logiques à base des microprocesseurs et les actionneurs. Le robot éviteur d’obstacle se compose aussi
des dispositifs cités ci-dessus et qu’à travers lesquels il assure son mouvement. Dans les différentes
parties de notre projet, on a compris le rôle de chaque composant dans la conception du robot, et par
conséquent, en partant d’un robot particulier, on a pu déduire le fonctionnement des robots en général
et le secret de leurs intelligences.
Abstract
Robotics is defined as being the set of techniques allowing the design and the realization of automatic
machines or robots, it is based on sensors, logic systems based on microprocessors and actuators. The
obstacle avoidance robot, also consists of the devices mentioned above and that through which it
ensures its movement. In the different parts of our project, we understood the role of each component
in the design of the robot, and therefore, starting from a particular robot, we were able to deduce the
functioning of robots in general and the secret of the intelligences.
4
Table des matières
Dédicace ........................................................................................................................... 2
Remerciements .................................................................................................................. 3
Résumé .............................................................................................................................. 4
Abstract ............................................................................................................................. 4
1.1.Definition ........................................................................................................... 13
1.2.1.Planches ........................................................................................................... 13
1.2.2.Listes ............................................................................................................... 14
1.2.3.Cartes ............................................................................................................... 14
1.2.4.Menu................................................................................................................ 15
2.Réalisation ............................................................................................................. 15
4.2.Laserguidage ...................................................................................................... 19
4.3.Optoguidage ....................................................................................................... 20
5
5.Description du système ......................................................................................... 21
1.Integralité .............................................................................................................. 27
2.1.Definition ........................................................................................................... 28
2.4.Caractéristiques .................................................................................................. 30
3.1.Introduction ........................................................................................................ 31
4.Moteur DC............................................................................................................. 32
4.2.Constitution ........................................................................................................ 33
4.3.Fonctionnement .................................................................................................. 33
5.Servomoteur .......................................................................................................... 34
5.1.Définition ........................................................................................................... 34
5.2.Composition ....................................................................................................... 34
6.1.Introduction ........................................................................................................ 35
6
6.2.Fonctionnement .................................................................................................. 36
6.3.Caractéristiques .................................................................................................. 38
7.1.Introduction ........................................................................................................ 38
1.3 Branchement du capteur ultrason HC-SR04 avec la carte Arduino UNO ......... 43
Webographie .................................................................................................................... 57
7
Liste des figures
Figure 1 : Trello.................................................................................................................... 13
Figure 2 : listes ..................................................................................................................... 14
Figure 3 : Cartes .................................................................................................................. 14
Figure 4 : Menu ................................................................................................................... 15
Figure 5 : Tableau Trello ..................................................................................................... 16
Figure 6 : Diagramme de Gantt ........................................................................................... 17
Figure 7 : Chariot filoguidé ................................................................................................. 19
Figure 8 : Véhicule à laserguidage ...................................................................................... 20
Figure 9 : Véhicule à optoguidage....................................................................................... 20
Figure 10 : Diagramme de pieuvre ...................................................................................... 21
Figure 11 : Diagramme de Fast ........................................................................................... 23
Figure 12 : Grafcet fonctionnel du robot ............................................................................. 24
Figure 13 : Châssis du robot ................................................................................................ 28
Figure 14 : Carte Arduino UNO .......................................................................................... 29
Figure 15 : Capteurs ultrason HC-SR04 .............................................................................. 31
Figure 16 : Description du capteur ultra-son HC-SR04 ...................................................... 32
Figure 17 : Moteur DC ........................................................................................................ 33
Figure 18 : Servomoteur ...................................................................................................... 34
Figure 19 : Vue interne du servomoteur .............................................................................. 35
Figure 20 : Fonctionnement d’un capteur ........................................................................... 36
Figure 21 : Capteur infrarouge FC-51 ................................................................................. 36
Figure 22 : Fonctionnement d’un capteur infrarouge FC-51............................................... 37
Figure 23 : Driver Shield ..................................................................................................... 38
Figure 24 : Fonction de Driver Shield ................................................................................. 39
Figure 25 : Branchement de la carte Arduino et capteur infrarouge ................................... 42
Figure 26 : Liaison du servomoteur et le capteur ultrason .................................................. 43
Figure 27 : Branchement de la carte Arduino et le capteur ultrason ................................... 43
Figure 28 : Branchement des moteurs à cc et le driver Shield ............................................ 44
Figure 29 : Branchement de la carte Arduino et driver Shield L293D ................................ 45
Figure 30 : Logo d’Arduino ................................................................................................ 45
Figure 31 : L’interface de L’IDE Arduino .......................................................................... 46
Figure 32 : L’interface de l’IDE Arduino en détail ............................................................. 47
8
Figure 33 : Le menu Fichier ................................................................................................ 48
Figure 34 : La barre d’outils ................................................................................................ 49
Figure 35 : La barre d’outils ................................................................................................ 59
9
Liste des Tableaux
10
Introduction générale
L’industrie utilise de plus en plus des robots mobiles afin de limiter la pénibilité de certains travaux
ou opérer à qualité constante, intervenir dans les milieux risqués et déplacer efficacement les
matériaux des étagères de stockage aux zones de traitement des commandes.
Dans ce projet, nous allons nous intéresser à un type bien précis des robots mobiles : le robot évitant
les obstacles, un robot autonome qui évite les collisions avec des obstacles inattendus, tout en
focalisant notre intérêt sur la question suivante : comment serait-il possible de façonner un robot
mobile évitant les obstacles qui combine à la fois l’efficacité et la rapidité ?
Dans le but de répondre à cette problématique, nous allons dans un premier temps opter à une étude
fonctionnelle portant sur notre robot mobile, en commençant par une analyse détaillée sur les
différentes fonctions que doit satisfaire notre robot pour arriver enfin à obtenir une conception claire
et nette.
Ensuite, ayant déterminé les critères à satisfaire pour assurer un bon choix de composants utilisés
pour sa confection, on va présenter les différents outils technologiques en précisant leurs rôles puis
leurs modes de fonctionnement.
On finira notre projet par une partie dédiée à la réalisation, où on va aborder le branchement des
différentes parties du robot pour récolter à la fin une réalisation complète de notre robot éviteur des
obstacles.
11
Chapitre I :
12
Introduction
Dans ce chapitre, nous présenterons le contexte général du projet qui sera décliné en deux parties : la
première présentera la technologie du robot suiveur de ligne, et la seconde décrira son étude
fonctionnelle.
1. Gestion du projet
1.1. Définition
Trello est un outil d’organisation collaboratif simple et gratuit. Il permet à votre équipe de gérer
n'importe quel type de projet ou de flux de travail, ou encore de suivre les tâches. De plus, cet outil
repose sur une organisation des projets en planches listant des cartes, chacune représentant des tâches.
Les cartes sont assignables à des utilisateurs et sont mobiles d'une planche à l'autre, traduisant leur
avancement.
Figure 1 : Trello
Un tableau représente un projet ou un endroit pour garder une trace des informations. Que vous
lanciez un nouveau site Web ou que vous planifiez des vacances, un tableau Trello est l'endroit idéal
pour organiser vos tâches et collaborer avec vos collègues, votre famille ou vos amis.
13
1.2.2. Listes
Les listes organisent des tâches spécifiques lors des différents stades de leur avancement. Elles
peuvent être utilisées pour créer un flux dans lequel les cartes sont déplacées à chaque étape du
processus, du début jusqu'à leur fin. Il n’y a pas de limite au nombre de listes que vous pouvez
ajouter à un tableau, et elles peuvent être organisées comme vous le souhaitez.
Figure 2 : Listes
1.2.3. Cartes
L'unité fondamentale d'un tableau est la carte. Les cartes sont utilisées pour représenter des
tâches. Une carte peut représenter un élément qui doit être réalisé ou à ne pas oublier. Il suffit
de cliquer sur « Ajouter une carte… » en bas de n'importe quelle liste pour créer une carte et
attribuez-lui un nom. Il n’y a pas de limite au nombre de cartes que vous pouvez ajouter à un
tableau.
Figure 3 : Cartes
14
1.2.4. Menu
Le menu se trouve à droite de votre tableau Trello. Il s'agit du centre de contrôle de votre tableau.
Vous pouvez y gérer les membres, contrôler les paramètres et rechercher des cartes, ainsi
qu’autres fonctionnalité. Vous pouvez également consulter dans le flux d'activité du menu
toutes les activités qui ont été effectuées sur un tableau.
Figure 4 : Menu
2. Réalisation
2.1. Tableau Trello
15
Figure 5 : Tableau Trello
Le diagramme de Gantt est l'un des outils les plus efficaces pour représenter l'état d'avancement
des différentes tâches qui constituent un projet. La ligne d'en-tête représente les unités de temps
les plus adaptées au projet (jours, semaines, mois etc.), tandis que la colonne de gauche du
diagramme énumère toutes les tâches à effectue. Chaque tâche est matérialisée par une barre
horizontale, dont la position et la longueur représentent la date de début, la durée et la date de
fin.
16
Figure 6 : Diagramme de Gantt
3. Histoire du robot
La robotique a depuis toujours été un domaine intéressant et en pleine croissance. Etant donné
qu’elle est aussi considérée comme une branche de l’ingénierie, les applications de la robotique
connaissent une considérable augmentation afin de se conformer au progrès technologique.
C’est ainsi que le concept de robot mobile et ses complexités a évolué positivement avec
différentes applications, notamment la planification de parcours l’auto-ocalisation et
l’interprétation de cartes.
L’origine du mot robot provient de la langue tchèque dans laquelle sont ancêtre ”robota”
signifie travail forcé. Le terme de robotique quant à lui est apparu en 1942 dans le cycle
universellement connu rédigé par Isaac Asimov et intitule ” Les robots”.
Le premier type de machine que l’on peut appeler robot correspond aux ”Automates”. Ceux-ci
sont généralement programmés à l’avance et permettent d’effectuer des actions répétitives.
Le second type de robot correspond à ceux qui sont équipés de capteurs (en fait les sens du
robot). On trouve des capteurs de température, photo-électronique, à ultrasons pour par exemple
17
éviter les obstacles et/ou suivre une trajectoire. Ces capteurs vont permettre au robot une
relative adaptation à son environnement afin de prendre en compte des paramètres aléatoires
qui n’aurait pu être envisagés lors de leur programmation initiale. Ces robots sont donc bien
plus autonomes que les automates mais nécessitent un investissement en temps de conception
et en argent plus conséquent.
Enfin le dernier type de robot existant correspond à ceux disposant d’une intelligence
dite ”artificielle” et reposant sur des modèles mathématiques complexes tels que les réseaux de
neurones. En plus de capteurs physiques comme leurs prédécesseurs, ces robots peuvent
prendre des décisions beaucoup plus complexes et s’appuient également sur un apprentissage
de leurs erreurs comme peut le faire l’être humain
- Le filoguidage
- Le laserguidage
- L’optoguidage
4.1. Le filoguidage
Les VGA se déplacent par détection d’une piste, tracée sur le sol. Il peut s’agir de fil émetteur
d'ondes enfoui, de rail métallique ou de fil électrique noyé au sol. Le signal transmis dans la
piste est détecté par le VGA. L’installation, comme la modification, du parcours nécessite des
travaux. Ce système fonctionne correctement pour des applications simples
18
Figure 7 : Chariot filoguidé
4.2. Laserguidage
Équipé d'un laser tournant, les VGA laser guidés détectent les réflecteurs intégrés dans
l’environnement. Les VGA se déplacent grâce au principe de l'odométrie et précisent leur
position grâce à la visibilité de 3 réflecteurs (principe de la triangulation). La mise en œuvre de
ces deux technologies permet aux VGA de se repérer très précisément. Les installations d'VGA
laser guidés sont les plus fiables et permettent des poses et déposes au demi-centimètre près.
Grâce aux logiciels de supervision faisant partie du système il est alors simple d'adapter ou de
modifier les circuits VGA. Le laser guidage, aussi utilisé pour des applications médicales, est
actuellement la technologie la plus fiable sur le marché des chariots automatiques.
19
Figure 8 : Véhicule à laserguidage
4.3. Optoguidage
Le système optoguidage permet au VGA de suivre une ligne peinte au sol grâce à des caméras
embarquées. Il s'agit du même principe que le filoguidage mais avec une complexité et un coût
d'installation moindres, car il n'est pas nécessaire de réaliser des travaux de gros œuvre.
20
5. Description du système
L'objectif de ce projet d'électronique est de créer un robot détecteur de présence qui se déplace
dans une pièce et évite les obstacles lorsqu'il en rencontre. Les “yeux” du robot sont un capteur
à ultrasons (par exemple HC-SR04). Ce capteur est connecté à une carte Arduino. Lorsque le
capteur envoie l'information à l'Arduino qu'il y a un obstacle devant lui, l'Arduino doit envoyer
une instruction aux moteurs qui contrôlent les roues pour éviter l'obstacle.
6. Analyse fonctionnelle
6.1. Diagramme de Pieuvre
Le diagramme de Pieuvre permet de représenter les fonctions de service d’un produit. C’est-à-
dire qu’il permet de voir quelles sont les fonctions essentielles et secondaires d’un produit et
comment ces fonctions réagissent avec le milieu extérieur.
21
- FP : Fonctions Principales.
- FC : Fonctions Complémentaires ou Contraintes.
Fonctions Description
FC1 Utiliser une source d’énergie pour alimenter les composants de robot
Fonctions Critère
22
6.3. Diagramme Fast du robot
Le diagramme FAST, dont les initiales signifient technique du système d’analyse fonctionnelle,
est un schéma construit de gauche à droite, et qui représente les relations logiques entre
différentes fonctions pour répondre aux questions comment et pourquoi.
23
6.4. Grafcet fonctionnel du robot
En s’appuyant sur les informations fournies charge ci-dessus, on a réalisé le grafcet de niveau
1 suivant :
Donc on obtient :
24
Conclusion :
Nous avons vu dans ce chapitre une description de la technologie des robots éviteurs des
obstacles et leurs architectures de base, ainsi nous avons parlé de leurs histoires en général.
Dans la dernière partie de ce chapitre, nous avons fait une analyse fonctionnelle du robot éviteur
des obstacles. Le prochain chapitre va contenir les composants et les matériels essentiels pour
réaliser un premier prototype du projet.
25
Chapitre II :
26
Introduction
Le choix des composants est une tâche fondamentale et très complexe, et pour réussir à bien
l’aborder, on a posé une liste de matériels et un groupe de critères qu’on devait les satisfaire
pour bien réussir notre choix.
1. Intégralité
L’idée est d’utiliser une carte Arduino pour lire les données reçues par un capteur ultrasons.
Lorsque le capteur détecte un obstacle devant lui, l’Arduino doit envoyer des instructions aux
moteurs qui pilotent les roues du robot pour l’éviter. Le robot serait constitué de composants
électroniques qui seront fixés au châssis à l’aide de vis et à l’aide d’une colle. Les matériels
dont on a besoin pour réaliser ce robot sont :
- Arduino UNO
- Un capteur ultrasons HC-SR04
- Quatre moteurs DC
- Quatre roues du robot
- Un servomoteur pour faire pivoter le capteur à ultrasons
- Des piles
- Des connecteurs pour alimenter les moteurs DC
- Deux châssis
- Des câbles jumper
- Deux capteurs infrarouges FC-51
- Driver shield L293D
27
Figure 13 : châssis du robot
Une carte Arduino est une petite carte électronique équipée d’un microcontrôleur. Le
microcontrôleur permet, à partir d’événements détectés par des capteurs, de programmer et
commander des actionneurs ; la carte Arduino est donc une interface programmable. Elle peut
être programmée pour analyser et produire des signaux électriques, de manière à effectuer des
tâches très diverses comme le contrôle des appareils domestiques, éclairage, chauffage, le
pilotage d’un robot, de l’informatique embarquée, etc.
Il existe plusieurs types de cartes Arduino, on s’est orienté uniquement vers le type le plus
fréquent qui est la carte Arduino UNO. Pour réaliser ce montage, on doit assurer la liaison entre
chaque composante électronique avec notre carte Arduino.
Donc en totale on aura besoin d’une carte Arduino qui contient au moins 14 broches numériques,
et aussi qui sera capable d’exécuter le plus vite possible l’algorithme gravé dans sa mémoire.
Par la suite, on peut conclure que la carte Arduino UNO est la carte la plus convenable à cette
28
situation vue qu’elle possède 14 broches numériques (dont 6 avec PWM) et 6 broches d’entrée
analogique.
La carte Arduino UNO est basée sur un ATMega328 cadencé à 16 MHz. C'est la plus simple et
la plus économique carte à microcontrôleur d'Arduino. Des connecteurs situés sur les bords
extérieurs du circuit imprimé permettent d'enficher une série de modules complémentaires.
détecteurs.
29
2.4. Caractéristiques
Microcontrôleur ATmega328
Tension de fonctionnement 5V
Dimensions 6.86cmx5.3cm
30
3. Capteurs ultrason HC-SR04
3.1. Introduction
Les capteurs ultrason sont principalement utilisés dans l’industrie et servent à détecter et
mesurer des distances entre divers types d’objets, quelle que soit leur forme (liquide, solide,
granuleux, etc.). Ce sont des capteurs puissants et qui restent fiables même s’il y a présence de
poussière ou si l’objet est brillant, transparent.
L’utilisation d’un capteur est indispensable dans notre projet. En effet, c’est un outil qui permet
la détection et par conséquent l’évitement des obstacles qui est la cible de notre étude. Ceci dit,
le problème auxquelles on devait s’imposer était le choix du meilleur capteur à utiliser dans les
mesures de concilier le temps de réponse et le coût de production. Après plusieurs comparaisons
et distinctions des capteurs, on était convaincus que celui dont on avait besoin était le capteur
ultra-son HC-SR04.
Le capteur ultra-son HC-SR04 est un dispositif chinois qui comme les autres capteurs ultra-son
émet à intervalles réguliers de courtes impulsions sonores à haute fréquence, qui à leurs tours
se propagent dans l’air à la vitesse du son, et se réfléchissent et reviennent sous forme d’écho
31
lorsqu’elles rencontrent un objet. Puis, ce dernier calcule la distance le séparant de la cible sur
la base du temps écoulé entre l’émission du signal et la réception de l’écho.
4. Moteur DC
Une machine à courant continu est une machine électrique inventée par Zénobe Gramme et
présentée à l’Académie des Sciences, à Paris, en 1871, c’était au départ un simple générateur
de courant continu (pour applications galvanoplastiques : une technique électrolytique
d’orfèvrerie). Il s’agit d’un convertisseur électromécanique permettant la conversion
bidirectionnelle d’énergie entre une installation électrique parcourue par un courant continu et
un dispositif mécanique ; selon la source d’énergie.
• En fonctionnement moteur, l’énergie électrique est transformée en énergie mécanique.
• En fonctionnement générateur, l’énergie mécanique est transformée en énergie électrique (elle
peut se comporter comme un frein). Dans ce cas elle est aussi appelée dynamo. Cependant, la
machine à courant continu étant réversible et susceptible de se comporter soit en « moteur »
soit en « générateur » dans les quatre quadrants du plan couple-vitesse, la distinction
moteur/générateur se fait « communément » par rapport à l’usage final de la machine.
4.2. Constitution
• D’un rotor bobiné relié à un collecteur rotatif inversant la polarité de chaque enroulement
rotorique au moins une fois par tour de façon à faire circuler un flux magnétique transversal.
Figure 17 : Moteur DC
4.3. Fonctionnement
Lorsqu'on alimente le moteur, il se crée une interaction magnétique qui met le moteur en
mouvement. Lorsqu'on inverse le sens de la tension qui alimente le moteur, il tourne en sens
inverse.
5. Servomoteur
5.1. Définition
Un servomoteur est un système asservie (ou système bouclé); il s’agit d’un moteur à courant
continu enfermé dans un boîtier de petite taille avec des constituants électroniques et
mécanique. Sa fonctionnalité est de tenir une position angulaire donnée fournie au système en
entrée sous forme d’un signal électrique. On en trouve de toutes les tailles et de toutes les
puissances. La plupart du temps la sortie peut se positionner entre 0 et 180°. Il en existe
également dont la sortie peut se débattre sur seulement 90° et d’autres, ayant un plus grand
débattement, sur 360°.
33
Figure 18 : Servomoteur
5.2. Composition
34
• Le boitier qui le protège
6.1. Introduction
Un capteur est un organe de prélèvement d'information qui élabore à partir d'une grandeur
physique (température, force, position, vitesse, luminosité, ...), une autre grandeur physique de
nature différente (très souvent électrique). Cette grandeur représentative de la grandeur prélevée
est utilisable à des fins de mesure ou de commande.
35
Le capteur FC-51 est un dispositif (détecteur) qui transforme la lumière qu'il absorbe en une
grandeur mesurable généralement un courant électrique ou une tension électrique.
Il génère une sortie 5V dans l'obscurité et 0V en pleine lumière, sa sensibilité peut être ajustée
via un potentiomètre ajustable placé sur le module.
6.2. Fonctionnement
Le capteur de proximité FC-51 est composé d’une diode infrarouge (émetteur) et d’une
photodiode (récepteur).
36
Figure 22 : Fonctionnement d’un capteur infrarouge FC-51
6.3. Caractéristiques
Alimentation 3.3-5V
37
OUT Interface de sortie numérique de la carte (0 si
détection, 1si aucune détection)
Dimensions 3.1cmx1.5cm
7.1. Introduction
Driver Shield est un ensemble de composants placés sur un circuit imprimé qui est connectable
à la carte Arduino via un bus informatique. Le but du Driver Shield sert à ajouter des capacités
et des fonctionnalités à la carte Arduino.
Il se compose de :
• Microcontrôleur L293D
38
• Registre à décalage
• 3 sources de courant
• Broches de sorties
Le module est équipé d'un circuit intégré L293D. Ce dispositif permet de piloter 4 moteurs à
courant continu dans les deux sens de rotation et pour faire de la variation de vitesse.
Ce circuit intégré contrôle la vitesse et le sens de rotation de moteurs à courant continu (DC)
dont l'alimentation peut atteindre 36 Volts. Il pilote 4 canaux de haute tension, haute intensité
(0.6A par canal).
39
Conclusion :
Le choix des composants était la phase la plus délicate dans notre projet. En effet, il ne portait
pas seulement sur un aspect purement technique répondant à des exigences fonctionnelles, mais
aussi à des attentes relevant des préférences des utilisateurs dans le cadre d’un marché
spécifique.
40
Chapitre III :
Réalisation du projet
41
Introduction
La réalisation de notre robot était la dernière tâche qu’on devait effectuer, les études ont déjà
été terminé, il ne manquait qu’un châssis pour assimiler ces dispositifs puis vérifier si l’analyse
fonctionnelle qu’on a prise nous ont emmené à concilier entre le côté technique et esthétique.
1.1. Branchement des capteurs infrarouges FC-51 avec la carte Arduino UNO
42
Figure 26 : Liaison du servomoteur et le capteur ultrason
43
1.4. Branchement des moteurs à courant continu avec driver Shield L293D
Après avoir connecté les moteurs à courant continu comme dans le schéma ci-dessous. Chaque
moteur cc doit avoir son propre nom unique AF_DCMotor motor1(1); la vitesse maximale des
moteurs du programme est de 255.
Le motor shield l239d se connecte à l’Arduino très facilement ; il est monté sur la carte UNO
directement sur le dessus. En revanche, sans une alimentation externe connectée à la Motor
Shield, la logique et les moteurs fonctionneront sur 5 volts, ce qui n’est pas toujours suffisant.
Par conséquent, la vitesse des moteurs à courant continu sera sensiblement différente lorsque
la carte Arduino est connectée à l’ordinateur et à l’alimentation électrique.
44
Figure 29 : Branchement de la carte Arduino et driver Shield L293D
2. Logiciel Arduino
Arduino est en principe une variante simplifiée de C ou C++. Plusieurs barrettes à broches
montées sur la carte permettent de connecter des LED, des moniteurs, des instruments de
mesure, des moteurs et de nombreux autres appareils, qui peuvent ensuite être gérés par le
contrôleur. En plus d'être une communauté, c'est aussi un microcontrôleur avec plusieurs
entrées et sorties analogiques et numériques. La carte est connectée au bureau via un port USB
45
et le code des programmes est protégé. Ceci témoigne d’un engagement en faveur d’un
développement open source.
Lançons le logiciel en double-cliquant sur l’icône avec le symbole "infinie" en vert. C’est
l’exécutable du logiciel. Après un léger temps de réflexion, une image s’affiche. Cette fois,
après quelques secondes, le logiciel s’ouvre. Une fenêtre se présente à nous :
Le découpage de l’image précédente nous donne 4 compositions qui sont les suivantes :
46
Figure 32 : L’interface de l’IDE Arduino en détail
Correspondance :
47
2.4. Approche et utilisation du logiciel
La barre des menus entourée en rouge et numérotée par le chiffre 1, permet l’utilisation du
logiciel.
Le menu Fichier :
C’est principalement ce menu que l’on va utiliser le plus., il dispose de 13 rubriques. Les plus
importantes dans la réalisation de notre projet sont les suivantes :
- Carnet de croquis : Ce menu regroupe les fichiers, ils sont enregistrés dans le dossier
par défaut du logiciel.
- Exemples : Ceci est important, il contient une liste qui affiche les noms d’exemples de
programmes existants.
48
- Téléverser : Permet d’envoyer le programme sur la carte Arduino.
- Téléverser avec un programmateur : Il permet aussi l’envoi du programme sur la
carte Arduino, mais avec l’utilisation d’un programmateur.
- Préférences : Il permet le réglage de quelques paramètres du logiciel.
Les boutons :
49
2.5. Code Arduino utilisé
50
byte motorSpeed = 55; // La vitesse maximale du moteur
int motorOffset = 10; // Facteur pour tenir compte du fait qu'un côté est
plus puissant
int turnSpeed = 50; // Quantité à ajouter à la vitesse du moteur lors de la
rotation
void setup()
{
pinMode(left,INPUT);
pinMode(right,INPUT);
servoLook.attach(10); //Affecter la broche du servo
pinMode(trig,OUTPUT); // Affecter les modes des broches des capteurs à
ultrasons
pinMode(echo,INPUT);
//Commencer serial communication
Serial.begin(9600);
}
void loop()
{
servoLook.write(90); // Réglez le servo pour qu'il regarde tout
droit
delay(750);
digitalWrite(trig, HIGH); // Générer une impulsion de 10
microsecondes
delayMicroseconds(10);
digitalWrite(trig, LOW);
pulseTime = pulseIn(echo, HIGH, timeOut); // Mesurez le temps de retour de
l'impulsion
distance = (float)pulseTime * 340 / 2 / 10000; // Calculer la distance de l'objet en fonction
du temps d'impulsion.
if(distance >= stopDist) // S'il n'y a pas d'objet dans la distance d'arrêt, avancez.
{
51
if(analogRead(left)<=35 && analogRead(right)<=35){ //line detected by both
//Avancer en avant
motor1.run(FORWARD);
motor1.setSpeed(150);
motor2.run(FORWARD);
motor2.setSpeed(150);
motor3.run(FORWARD);
motor3.setSpeed(150);
motor4.run(FORWARD);
motor4.setSpeed(150);
} else if(!digitalRead(left)<=35 && analogRead(right)<=35){ // ligne détectée par le
capteur de gauche
//Tourner à gauche
motor1.run(FORWARD);
motor1.setSpeed(200);
motor2.run(FORWARD);
motor2.setSpeed(200);
motor3.run(BACKWARD);
motor3.setSpeed(200);
motor4.run(BACKWARD);
motor4.setSpeed(200);
} else if(digitalRead(left)<=35 && !analogRead(right)<=35){ //ligne détectée par le
capteur de droite
//Tourner à droite
motor1.run(BACKWARD);
motor1.setSpeed(200);
52
motor2.run(BACKWARD);
motor2.setSpeed(200);
motor3.run(FORWARD);
motor3.setSpeed(200);
motor4.run(FORWARD);
motor4.setSpeed(200);
}
}
else {
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
53
switch (turnDir) // Tourner à gauche, faire demi-tour ou tourner à droite
selon les instructions.
{
case 0: //Tourner à gauche
motor1.run(FORWARD);
motor1.setSpeed(200);
motor2.run(FORWARD);
motor2.setSpeed(200);
motor3.run(BACKWARD);
motor3.setSpeed(200);
motor4.run(BACKWARD);
motor4.setSpeed(200);
break;
case 1: //Tourner à droite
motor1.run(BACKWARD);
motor1.setSpeed(200);
motor2.run(BACKWARD);
motor2.setSpeed(200);
motor3.run(FORWARD);
motor3.setSpeed(200);
motor4.run(FORWARD);
motor4.setSpeed(200);
break;
}
}
}
Conclusion : La réalisation est la dernière phase qu’on a traité, dans cette partie la
programmation de l’Arduino était la tâche la plus délicate, surtout pour des personnes qui
utilisent pour la première fois une carte Arduino, donc on devait tout d’abord se familiariser
avec ce programme pour arriver enfin à réaliser notre robot éviteur des obstacles
54
Difficultés rencontrées
Toute recherche scientifique sur le terrain présente des difficultés qu'il faut surmonter pour
pouvoir continuer. Pour nous, les difficultés majeures qui méritent d'être soulignées sont celles
liées aux matériels et au code Arduino.
55
Conclusion générale
En guise de conclusion, nous avons pu constater par le biais de notre étude, qu’il existe un
critère fondamental distinguant 2 robots de même nature : leurs temps de réaction face à chaque
obstacle rencontré. Cette faculté dépend évidemment d’autres facteurs comme la rigidité et la
ténacité propre au robot. Toutefois, assurer cette aptitude nécessite une bonne maîtrise de
programmation mais avant tout un choix minutieux des matériaux. Ce choix repose non
seulement sur l’aspect technique des exigences fonctionnelles du robot mais aussi sur son aspect
esthétique dépendant des préférences de l’utilisateur, dont les décisions sont conditionnées par
les offres du marché mondial et des avancées technologiques.
Aujourd’hui, beaucoup d’états comme la Chine et les États-Unis investissent des milliards de
dollars pour le convoi du développement exponentiel des machines intelligents comme dans le
domaine militaire où on entend parler des drones qui s’avèrent être très efficaces, ou dans le
domaine industriel où on utilise de nos jours les robots de soudure et de peinture notamment
dans l’automobile. Arrivé à ce stade de développement, beaucoup de gens commencent de nos
jours à s’inquiéter de ces robots performants, rapides et infatigables et se demandent : Sommes-
nous donc tous voués à être remplacés et finir sur la paille ? Et pour demain, quelle sera la place
de l’humain ?
Des questions qui nous mènent à revoir les enjeux et les risques qui accompagnent ces machines
intelligentes et savoir si ces robots vont constituer vraiment l’avenir de l’être humain ou sa fin
dans cette planète.
56
Webographie
[1] www.wikipedia.org
[2] https://www.arduino.cc
[3] https://www.labcenter.com
[4] https://www.aranacorp.com/fr/pilotez-un-moteur-cc-avec-arduino
[7] https://web.stanford.edu/~learnest/sail/oldcart.html
[8] https://www.defense.gouv.fr/web-documentaire/2019-les-systemes-automatises/index.html
[9] https://arduino.developpez.com/tutoriels/cours-complet-arduino/?page=micro-controleur
57
Annexes
Assemblage du robot :
58
Figure 35 : Assemblage du robot
59