Vous êtes sur la page 1sur 59

U NIVERSITÉ CADI AYYAD

ECOLE SUPERIEURE DE TECHNOLOGIE-SAFI


DUT GÉNIE INDUSTRIEL ET MAINTENANCE

PROJET DE FIN D’ÉTUDES

ROBOT SUIVEUR DE LIGNE ET

DETECTEUR DES OBSTACLES

Réalisé par : Encadré par :

El Hail Wissal Pr. Mokhlis Ahmed

Nouira Zineb

Belaalia Laila

Année universitaire 2021/2022

1
DEDICACES :

Nous dédions ce travail à :

NOS CHERS MERES Source inépuisable de patience et de sacrifice. Vos prières


et vos bénédictions nous ont été un grand secours tout au long de nos vies. Quoique
nous puissions dire et écrire, nous ne pourrions pas exprimer nos grandes
affections et nos profondes reconnaissances.

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

En préambule à ce rapport, il est nécessaire de témoigner notre reconnaissance auprès de toutes


les personnes qui ont intervenu au cours de ce projet dans le but de favoriser son
aboutissement.

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.

Mots clés : Eviteur des obstacles, Arduino, Capteur, Robot, Electronique

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.

Keywords : Obstacle avoidance, Arduino, Sensor, Robot, electronic

4
Table des matières

Dédicace ........................................................................................................................... 2

Remerciements .................................................................................................................. 3

Résumé .............................................................................................................................. 4

Abstract ............................................................................................................................. 4

Table des matières ............................................................................................................ 5

Liste des figures ................................................................................................................ 8

Liste des tableaux ........................................................................................................... 10

Introduction générale ..................................................................................................... 11

Chapitre 1 : Contexte général du projet ..................................................................... 12

1.Gestion du projet ................................................................................................... 13

1.1.Definition ........................................................................................................... 13

1.2.Notions de base sur les planches ........................................................................ 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

2.1.Tableau Trello .................................................................................................... 15

2.2.Diagramme de Gantt .......................................................................................... 16

3.Histoire du robot .................................................................................................... 17

4.Notion sur VGA .................................................................................................... 18

4.1.Le filoguidage .................................................................................................... 18

4.2.Laserguidage ...................................................................................................... 19

4.3.Optoguidage ....................................................................................................... 20
5
5.Description du système ......................................................................................... 21

6.Analyse fonctionnelle ............................................................................................ 21

6.1.Diagramme de pieuvre ....................................................................................... 21

6.2.Caractérisation des Fonctions de Service ........................................................... 22

6.3.Diagramme Fast du robot ................................................................................... 23

6.4.Grafcet fonctionnel du robot .............................................................................. 24

Chapitre 2 : Composants de base du projet ................................................................ 26

1.Integralité .............................................................................................................. 27

2.Carte Arduino UNO .............................................................................................. 28

2.1.Definition ........................................................................................................... 28

2.2.Choix de type de la carte .................................................................................... 28

2.3.Composants de la carte ....................................................................................... 30

2.4.Caractéristiques .................................................................................................. 30

3.Capteur ultrason HC-SR04 .................................................................................... 31

3.1.Introduction ........................................................................................................ 31

3.2.Le choix du capteur ............................................................................................ 32

3.3.Fonctionnement du capteur ................................................................................ 32

4.Moteur DC............................................................................................................. 32

4.1.Généralité sur les machines à courant continu ................................................... 32

4.2.Constitution ........................................................................................................ 33

4.3.Fonctionnement .................................................................................................. 33

5.Servomoteur .......................................................................................................... 34

5.1.Définition ........................................................................................................... 34

5.2.Composition ....................................................................................................... 34

6.Capteur infrarouge FC-51 ..................................................................................... 35

6.1.Introduction ........................................................................................................ 35

6
6.2.Fonctionnement .................................................................................................. 36

6.3.Caractéristiques .................................................................................................. 38

7.Driver Shield L293D ............................................................................................. 38

7.1.Introduction ........................................................................................................ 38

7.2.Composants du driver L293D ............................................................................ 39

7.3.Principe de fonctionnement ................................................................................ 39

Chapitre 3 : Réalisation du projet ............................................................................... 41

1.Branchement des composants ............................................................................... 42

1.1.Branchement des capteurs infrarouges FC-51 avec la carte Arduino UNO....... 42

1.2. Liaison du Servomoteur avec le capteur ultrason HC-SR04 ........................... 42

1.3 Branchement du capteur ultrason HC-SR04 avec la carte Arduino UNO ......... 43

1.4.Branchement des moteurs à courant continu avec driver L293D ...................... 44

1.5.Branchement de la carte Arduino UNO avec driver L293D .............................. 44

2.Logiciel Arduino .................................................................................................. 45

2.1. Présentation du logiciel ..................................................................................... 45

2.2.Interface du logiciel ............................................................................................ 46

2.3.Compositions de l’interface ............................................................................... 46

2.4.Approche et utilisation du logiciel ..................................................................... 48

2.5.Code Arduino utilisé .......................................................................................... 50

Difficultés rencontrées .................................................................................................... 55

Conclusion générale ........................................................................................................ 56

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

Tableau 1 : Description des fonctions du diagramme ........................................................... 22


Tableau 2 : critères et niveaux des fonctions du diagramme ................................................. 22
Tableau 3 : Caractéristiques de la carte ................................................................................. 30
Tableau 4 : caractéristiques du capteur FC-51 ....................................................................... 38

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.

Pour cela, notre rapport est rédigé comme suit :

Chapitre I : Contexte général du projet


Chapitre II : Composants de base du projet
Chapitre III : Réalisation du projet

11
Chapitre I :

Contexte général du projet

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

1.2. Notions de base sur les planches


1.2.1. Planches

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

Cette figure ci-dessous montre notre tableau Trello :

15
Figure 5 : Tableau Trello

2.2. Diagramme de Gantt

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.

Ce diagramme permet donc de visualiser :

- Les différentes tâches et activités


- La date de début et la date de fin de chaque tâche
- La durée de chaque tâche
- La date de début et la date de fin du projet

La figure ci-dessous montre le diagramme de Gantt de notre projet :

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”.

Au cours de l’histoire on peut distinguer 3 types de robots correspondant en quelques sorte à


l’évolution de cette ”espèce” crée par l’Homme.

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

4. Notion sur VGA

Un véhicule à guidage automatique (VGA) est un robot capable de se déplacer dans


l'environnement et n’est pas fixé à un emplacement physique. Les VGA peuvent s'appuyer sur
des dispositifs de guidage qui leur permettent de parcourir un itinéraire de navigation prédéfini
dans un espace relativement contrôlé.

Les technologies d’automatisation traditionnelles sont :

- 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.

Figure 9 : Véhicule à optoguidage

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.

Figure 10 : Diagramme de Pieuvre

21
- FP : Fonctions Principales.
- FC : Fonctions Complémentaires ou Contraintes.

Tableau 1 : Description des fonctions du diagramme

Fonctions Description

FP1 Eviter les obstacles pour servir l’utilisateur

FP2 Capter l’existence d’un obstacle

FP3 Analyser les données fournies par le capteur

FC1 Utiliser une source d’énergie pour alimenter les composants de robot

FC2 Contrôler le déplacement du robot

FC3 Indiquer l’existence d’un obstacle

6.2. Caractérisation des Fonctions de Service

Tableau 2 : Critères et niveaux des fonctions du diagramme

Fonctions Critère

FP1 Tourner à chaque fois un obstacle est rencontré

FP2 Avoir un minimum de distance pour détecter un obstacle

FP3 Détection rapide de la meilleure direction

FC1 Avoir une réserve d’énergie (en termes de tension)

FC2 Changement rapide de direction

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.

Figure 11 : Diagramme de Fast

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 :

On définit les actionneurs suivants :

m : mis en marche du robot

o : présence d’un obstacle

d : la probabilité de trouver un obstacle à droite plus sûr que le trouver à gauche

g : la probabilité de trouver un obstacle à gauche plus sûr que le trouver à droite.

Donc on obtient :

Figure 12 : Grafcet fonctionnel du robot

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 :

Composants de base du projet

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

2. Carte Arduino UNO


2.1. Définition

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.

2.2. Choix du type de la carte

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.

Figure 14 : Carte Arduino UNO

2.3. Composants de la carte

Une carte Arduino UNO se compose essentiellement de :

- Prise jack : Permet de brancher l’alimentation.


- Microcontrôleur : Stocke le programme et l’exécute.
- Entrées analogiques : Permettent de brancher les capteurs et les détecteurs analogiques.
- Connexion USB (Universal Serial Bus) : Permet d’alimenter la carte en énergie
électrique (5V) outre téléverser le programme dans la carte.
- Entrées et sorties numériques (Digital) : Permet de brancher les actionneurs et les

détecteurs.

29
2.4. Caractéristiques

Tableau 3 : Caractéristiques de la carte

Microcontrôleur ATmega328

Fréquences d’horloge 16Mhz

Tension de fonctionnement 5V

Tension d’alimentation (recommandés) 7-12V

Tension d’alimentation (limites) 6-20V

14(dont 6 disposent d’une sortie PWM


Broches E/S numériques
représentée par le symbole tilde)

6(utilisables par broches E/S


Broches d’entrées analogiques
numériques)
Intensité maxi disponible par broche E/S
40Ma
5V
Intensité maxi disponible pour
50Ma
lasortie3.3V

Intensité maxi disponible pour la sortie 5V 500Mamaxsur port USB

32KB (dont 0.5KB sont utilisés par le


Mémoire programme flash
bootloader)

Mémoire RAM (Mémoire volatile) 2KB

Mémoire EPROM (Mémoire nonv olatile) 1KB

USB (permet d’alimenter la carte et de


Interface transférer les programmes vers la
carte)

Alimentation externe Jack

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.

Figure 15 : Capteurs ultrason HC-SR04

3.2. Le choix du capteur

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.

3.3. Fonctionnement du capteur

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.

Figure 16 : Description du capteur ultra-son HC-SR04

4. Moteur DC

4.1. Généralité sur les machines à courant continu

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

Un moteur électrique à courant continu est constitué :


32
• D’un stator qui est à l’origine de la circulation d’un flux magnétique longitudinal.

• 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

Le servomoteur est composé de plusieurs éléments visibles et invisible :

• Un moteur à courant continu

• Des engrenages pour former un réducteur (en plastique ou en métal)

• Un capteur de position de l’angle d’orientation de l’axe (un potentiomètre)

• Une carte électronique pour le contrôle de la position de l’axe et le pilotage du moteur à


courant continu

• Les fils, qui sont au nombre de trois

• L’axe de rotation sur lequel est monté un accessoire en plastique ou en métal

34
• Le boitier qui le protège

Figure 19 : Vue interne du servomoteur

6. Capteur infrarouge FC-51

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.

Figure 20 : Fonctionnement d’un capteur

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.

Figure 21 : Capteur infrarouge FC-51

6.2. Fonctionnement

Le capteur de proximité FC-51 est composé d’une diode infrarouge (émetteur) et d’une
photodiode (récepteur).

Le robot se déplace en suivant un marquage au sol (ligne noire).

 Tant que les deux capteurs détectent la ligne, le robot avance .


 Lorsqu'un des deux capteurs ne détecte plus la ligne, le robot doit tourner sur lui-même
pour se remettre dans l'axe.
 Le capteur de droite détecte une couleur claire il tourne à gauche.
 Le capteur de gauche détecte une couleur claire il tourne à droite.
 Si deux capteurs sont en dehors de la ligne, le robot recule

36
Figure 22 : Fonctionnement d’un capteur infrarouge FC-51

6.3. Caractéristiques

Tableau 4 : Caractéristiques du capteur FC-51

Distance de détection De 2à30cm

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. Driver shield L293D

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.

Figure 23 : Driver shield

7.2. Composants du driver L293D

Il se compose de :

• Microcontrôleur L293D

38
• Registre à décalage
• 3 sources de courant
• Broches de sorties

7.3. Principe de fonctionnement

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).

Figure 24 : Fonction de Driver shield

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. Branchement des composants

1.1. Branchement des capteurs infrarouges FC-51 avec la carte Arduino UNO

Figure 25 : Branchement de la carte Arduino et capteur infrarouge

- La broche OUT du capteur infrarouge est liée à la broche D3 de la carte


- La broche VCC du capteur infrarouge est liée à l’alimentation 5V de la carte
- La broche GND du capteur infrarouge est liée à la broche GND de la carte

1.2. Liaison du Servomoteur avec le capteur ultrason HC-SR04

Le capteur ultrason est lié au Servomoteur par un support.

42
Figure 26 : Liaison du servomoteur et le capteur ultrason

1.3. Branchement du capteur ultrason HC-SR04 avec la carte Arduino UNO

- La broche VCC du capteur est liée à l'alimentation 5V de la carte


- La broche GND du capteur est liée à la broche GND de la carte
- La broche TRIGGER du capteur est liée à la broche D2 de la carte
- La broche ECHO du capteur est liée à la broche D3 de la carte

Figure 27 : Branchement de la carte Arduino et 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.

Figure 28 : Branchement des moteurs à cc et le driver Shield

1.5. Branchement de la carte Arduino UNO avec le driver shield L293D

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

2.1. Présentation du logiciel

Figure 30 : Logo d’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.

2.2. Interface du logiciel

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 :

Figure 31 : L’interface de l’IDE Arduino

2.3. Compostions de l’interface

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 :

- Le cadre numéro 1 : Ce sont les options de configuration du logiciel.


- Le cadre numéro 2 : Il contient les boutons qui vont nous servir lorsque l’on va
programmer la carte Arduino UNO.
- Le cadre numéro 3 : Ce bloc va contenir le programme que nous allons créer.
- Le cadre numéro 4 : Celui-ci est important, vu qu’il va nous aider à corriger les
fautes de notre programme. C’est le débogueur.

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 :

Figure 33 : Le menu Fichier

- 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 :

C’est la partie encadrée en rouge et numérotée par le chiffre 2.

Figure 34 : La barre d’outils

- Bouton 1 : Ce bouton permet de vérifier le programme, il actionne un module qui


cherche les erreurs.
- Bouton 2 : Charge (téléverse) le programme dans la carte Arduino.
- Bouton 3 : Crée un nouveau fichier.
- Bouton 4 : Ouvre un fichier.
- Bouton 5 : Enregistre le fichier.
- Bouton 6 : Ouvre le moniteur série.

49
2.5. Code Arduino utilisé

Le code Arduino utilisé pour la réalisation de ce robot est le suivant :


#include <AFMotor.h> // Importer la bibliothèque pour contrôler moteur
shield
#include <Servo.h> // Importer la bibliothèque pour contrôler servo

//determiner les moteurs

AF_DCMotor motor1(1, MOTOR12_1KHZ);


AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);
Servo servoLook; // Créer un objet pour contrôler le servo

// définir les broches et les variables


#define left A0
#define right A1

unsigned long pulseTime; // Créer une variable pour stocker le temps de


parcours de l'impulsion
int distance; // Créer une variable pour stocker la distance
calculée
int distances [2] = {0,0}; //Distances à gauche et à droite
int turnDir = 1; // Direction pour tourner, 0 gauche, 1 arrière, 2
droite
byte trig = 2; //Assigner les broches du capteur
ultrasonbyte echo = 13;
byte maxDist = 150; // Distance maximale de détection (les objets situés
au-delà de cette distance sont ignorés)
byte stopDist = 50; // Distance minimale d'un objet pour s'arrêter en cm
float timeOut = 2*(maxDist+10)/100/340*1000000; // Temps maximum d'attente pour un
signal de retour

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()
{

// déclaration des types de broches

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 {

// Arrêter tous les moteurs

motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);

servoLook.write(180); //Tourner le servo vers la gauche


delay(500);
distances [0] = distance; // Obtenir la distance de l'objet gauche
servoLook.write(0); //Tourner le servo vers la droite
delay(1000);
distances [1] = distance; //Obtenir la distance de l’objet droite
if (distances[0]>=200 && distances[1]>=200) // Si les deux directions sont claires, tournez
à gauche
turnDir = 0;
else if (distances[0]>=distances[1]) // Si la gauche a plus d'espace, tournez à
gauche
turnDir = 0;
else if (distances[0]<distances[1]) // Si la droite offre plus d'espace, tournez à
droite
turnDir = 1;

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.

En effet, la première difficulté était l’indisponibilité de matériels qui a abouti au retard de la


livraison. De ce fait, le chapitre trois nécessitait beaucoup de temps. La deuxième contrainte
était la compilation du code Arduino. Cette dernière présentait la partie clé du projet, par
conséquence elle nécessitait tant d’attention et de modifications. Nous avons résolu ce problème
grâce aux plusieurs recherches sur les sites internet.

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

[5] https://www.youtube.com/watch?v=kIgbjyqNrV8 (Utilisation du driver shield)

[6] https://www.youtube.com/watch?v=B51aUtMdYkY (Guide de programmation 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

Vous aimerez peut-être aussi