Bellili Sana
Bellili Sana
Bellili Sana
MÉMOIRE DE MASTER
Sciences et Technologies
Automatique
Automatique et informatique industrielle
Réf. : …………………
Jury :
MASTER
Cachet et signature
الجمهورية الجزائرية الديمقراطية الشعبية
République Algérienne Démocratique et Populaire
وزارة التعليم العالي و البحث العلمي
Ministère de l’enseignement Supérieur et de la Recherche scientifique
: ملخص
.تصميم وتنفيذ روبوت متنقل قادر على فحص خطوط األنابيب للكشف عن الشقوق واللحامات السيئة
يكتشف الروبوت المتحرك الذي يتكيف هيكله مع.يتكون نظام الكشف عن الشقوق من كاشف الغاز
.هندسة خط األنابيب على طوله وجود تسربات الغاز بسبب التشققات
Dédicaces
me sont chers.
A mon cher père que rien au monde ne vaut tes efforts fourni, jour
formation.
2018 / 2019.
BELLILI SANA’A.
Remerciements
haute personnalité.
conseils avisés.
Enfin nous remercions tous ceux qui ont contribué de près ou de loin
à la concrétisation de Ce travail.
Liste des figures :
Chapitre 01 :
Figure I.1 -Principales fonctions dune application en robotique mobile .............................6
Figure I.2 -Robots soudeurs sur une chaîne d’assemblage automobile ..............................8
Figure I.5 -Détail du RAT (Rock Abrasion Tool), l’outil de prélèvement géologique. ..... 11
Chapitre 02 :
Figure II.1 -Carte Arduino Uno ...................................................................................... 22
Figure II.2 -Le logo présent sur une carte Arduino authentique ....................................... 22
Chapitre 01 :
I.1 -Introduction ................................................................................................................... 3
Chapitre 02 :
II .1 -Introduction ............................................................................................................... 20
Chapitre 03:
III.1 -Introduction ............................................................................................................... 39
Bibliographie
Introduction générale.
Introduction générale
L'homme a toujours souhaité se libérer du travail dans ce qu'il a d'astreignant, de
fatiguant et d'inintéressant. Les progrès qu'ont connus les technologies depuis un demi-
siècle ont permis de répondre en bonne parti à son désir par l'intermédiaire de deux outils
génériques : l'ordinateur pour les travaux mentaux et le robot pour les travaux physiques.
Le premier a pris une certaine avance sur le second grâce à la découverte des semi-
conducteurs, ces matériaux solides qui peuvent trier des informations sans mobilité
mécanique. Le second est toujours tributaire de la vieille mécanique aux pièces fragiles et
mobiles et au coût significatif.
Malgré son aspect récent, la robotique tire ses origines des civilisations les plus
antiques. Il est peut être même vrai que toutes les autres sciences ont existé juste pour
permettre à la robotique de se développer afin d'aider l'homme à créer cet « esclave » qui
appliquera ses ordres au doigt et à l'œil et qui le libérera à jamais du travail.
1
Ce mémoire est organisé en trois chapitres de la manière suivante :
2
Chapitre 01 : Généralité sur les robots
mobile.
Chapitre 01 : Généralité sur les robots mobiles
I.1 -Introduction
I.2 -Historique
3
Chapitre 01 : Généralité sur les robots mobiles
Les robots de 2ème génération disposent d'organe(s) sensoriel(s), autrement dit des
capteurs, pouvant influer sur leurs comportements. Ils sont donc relativement adaptables à
leur environnement. Le chien électrique de Hammond et Miessner (1915) est le premier
robot de ce genre. Il se déplace selon la luminosité de l'endroit grâce à son capteur optique.
Le chien Phillidog de Henri Piraux en 1928, et le renard de Ducrocq (1953) fonctionnent
selon le même principe. Walter Grey équipe en 1950 sa tortue cybernétique de capteurs
tactiles et lumineux.
Pour être intégré dans cette famille, un robot doit parvenir à effectuer une tâche par
lui-même, sans aucune aide extérieure. En 1973, l'université de Waseda présente le tout
premier humanoïde "intelligent" dénommé Wabot-1. Il est doué de la vision, peut
manipuler des objets, effectue un semblant de marche et est même capable de débuter une
conversation en japonais. Hi-T-Hand d'Hitachi en 1974 manipule des aiguilles à travers des
trous grâce à la détection de force. Vers la fin des années 70 Hans Morava présente les
premiers robots capables d'évoluer à l'extérieur, de façon autonome.
Dans cette partie nous allons introduire quelque notions concernons notre sujet, on
peut citer les suivantes :
I.3.1 -Automate
I.3.2 -Robot
D’un point de vue technique, un robot est une machine dotée de capteurs qui lui
permettent de percevoir son environnement, de moteurs l’autorisant à bouger et à agir sur
4
Chapitre 01 : Généralité sur les robots mobiles
Cette diversité n’est pas seulement une diversité de formes, c’est aussi une diversité
de fond. Les mécanismes de fonctionnement interne diffèrent beaucoup d’un robot à
l’autre et on peut les distinguer selon quatre axes :
L’autonomie : il existe des robots qui agissent sans le besoin qu’un humain ne les guide et
d’autres dont le comportement est, soit influencé par un humain soit, presque totalement
contrôlé par un humain. Par exemple, dans une usine, les robots qui travaillent à la chaîne
et répètent toujours le même geste le font souvent de manière autonome.
L’apprentissage : il y a des robots dont le comportement, même s’il est adaptatif, est figé
au départ et une fois pour toute par le programmeur, alors que d’autres robots sont capables
d’acquérir de nouveaux comportements et de nouvelles connaissances par leurs
expériences.
La créativité : certains robots, enfin, sont capables d’inventer des solutions et des
comportements non prédits par leur concepteurs, et même de s’inventer des objectifs qui ne
sont pas pré-programmés (mais cela ne veut pas dire qu’ils soient capables de tout inventer
ou de tout faire, loin de là). C’est le cas par exemple des robots équipés de mécanismes dits
de « curiosité » qui les poussent à s’intéresser aux choses nouvelles de leur point de vue,
comme ceux construits par les chercheurs en robotique développementale [3].
5
Chapitre 01 : Généralité sur les robots mobiles
Un robot mobile est un véhicule doté de moyens de locomotion qui lui permettent de
se déplacer. Suivant son degré d'autonomie il peut être doté de moyens de perception et de
raisonnement [4].
Dans notre étude, nous avons pris le système d’un rebot ayant une structure
ressemble beaucoup à celle du bras humain, il permet de remplacer ou de prolonger son
action (le terme manipulateur exclue implicitement les robots mobiles). Sa motorisation est
réalisée par des actionneurs électriques, pneumatiques ou hydrauliques qui transmettent
leurs mouvements aux articulations par des systèmes appropriés.
6
Chapitre 01 : Généralité sur les robots mobiles
Elle permet de gérer la relation entre le robot et son environnement. Les organes de
perception sont des capteurs dits ‘’proprioceptifs’’ lorsqu’ils mesurent l’état interne du
robot, et ‘’extéroceptifs’’ lorsqu’ils recueillent des informations sur l’environnement.
Elle synthétise les consignes des asservissements pilotant les actionneurs. A partir de
la fonction de perception et des ordres de l’utilisateur, elle permet d’engendrer les actions
du robot.
A travers laquelle l’utilisateur programme les tâches que le robot doit exécuter.
Véhicule télécommandé par un opérateur qui lui impose chaque tâche élémentaire à
réaliser,
Véhicule télécommandé au sens de la tâche à réaliser,
Le véhicule contrôle automatiquement ses actions,
Véhicule semi- autonome réalisant sans l'aide de l'opérateur des tâches prédéfinies,
Véhicule autonome qui réalise des tâches semi- définies.
7
Chapitre 01 : Généralité sur les robots mobiles
La robotique est un domaine en plein essor depuis quelques années. Les évolutions
technologiques, dépassant sans cesse nos espérances, permettent maintenant de réaliser des
solutions technologiques s'adaptant au moindre problème.
Par conséquent, la robotique est utilisée dans des domaines extrêmement rigoureux et
exigeants. Nous allons explorer ces différents domaines [6].
I.6.1 -L’industrie
Le but premier des robots est de remplacer l’homme dans des activités fastidieuses
ou onéreuses pour l’employeur. Les robots ont donc commencé à être utilisés dans les
chaînes d’assemblage industrielles. Dans ces chaînes d’assemblage, on retrouve des robots
soudeurs, manipulateurs, peintres ... etc
8
Chapitre 01 : Généralité sur les robots mobiles
Les robots sont de plus en plus utilisés dans le domaine militaire. En effet, la
miniaturisation permet aujourd’hui de créer des robots discrets mais dotés de nombreux
capteurs, ce qui est idéal pour des missions d’espionnage ou d’éclairement.
Les robots commencent à être de plus en plus dans le domaine médical, qu'il s'agisse
de « simples » échographies ou d'opérations chirurgicales plus délicates. En fait ces robots
ne sont pas complètement autonomes mais ils assistent les médecins ou chirurgiens, jusqu'à
permettre des opérations médicales à distance (télémédecine). On parle de surgétique (mot
né de l'anglais « surgery » : chirurgie) c'est-à-dire tout ce qui consiste à introduire les
derniers outils des technologies informatiques et robotiques dans la pratique médico-
chirurgicale. Cette pratique de « chirurgie assistée » est émergente donc bien que peu
répandue, elle est en phase de devenir la chirurgie du futur.
9
Chapitre 01 : Généralité sur les robots mobiles
De part leur polyvalence, de plus en plus de tâches sont confiées aux robots. Voici
par exemple Yukitaro, un robot japonais conçu pour déneiger :
Il est équipé de deux caméras et d’un GPS. Il circule dans la rue de manière autonome en
engouffrant la neige avec sa « bouche » pelleteuse, puis il la rejette sous forme de blocs de
glace.
Les robots sont également utilisés à des fins scientifiques. En témoignent les robots
de la NASA Spirit et Opportunity, destinés à explorer la planète Mars et à récolter toutes
sortes d’informations sur cette planète.
Ces deux robots sont équipés de caméras (dont une microscopique), de spectromètres
(pour étudier la composition minéralogique des roches martiennes), d’un équipement
informatique (assimilable à un micro-ordinateur), et d’un outil de perforation des roches
pour effectuer des prélèvements. Ces robots peuvent être reprogrammés à distance, ce qui
les rend opérationnels à long terme et d’autant plus polyvalents.
10
Chapitre 01 : Généralité sur les robots mobiles
Figure I.5 -Détail du RAT (Rock Abrasion Tool), l’outil de prélèvement géologique.
Robot aspirateur, fonctionnant de manière autonome sur tous types de sol. Grâce à
ses capteurs, il évite les escaliers, et retourne à sa base pour se recharger sans assistance.
Il est possible de délimiter une surface précise à nettoyer avec les accessoires fournis.
11
Chapitre 01 : Généralité sur les robots mobiles
Robot tondeuse, certes moins efficace que ses homologues manuels, cette tondeuse
permet quand même de rafraîchir sa pelouse pendant que l’on désherbe les rosiers ou
mieux, pendant que l’on profite du beau temps ou de la piscine :
12
Chapitre 01 : Généralité sur les robots mobiles
La notion des systèmes multi-agent a débuté dans les années 1990, notamment dans
destravaux regroupant des robots mobiles rassembleurs d’objets [7], des colonies des
robots marcheurs.
I.7.1 -Définition
13
Chapitre 01 : Généralité sur les robots mobiles
Un système multi robots peut effectuer des tâches difficiles ou même impossibles à
accomplir par un seul robot. Une équipe de robots fournit une certaine redondance, elle
contribue à l’accomplissement d’une tâche de manière collaborative Ce système offre
plusieurs avantages par rapport aux systèmes mono-robot ; les motivations les plus
communes pour le développement de solutions de systèmes multi robots sont les suivants
[10] :
La complexité de la tâche à réaliser est trop élevée pour un seul robot donc elle
nécessite une coopération d’un ensemble de robots.
14
Chapitre 01 : Généralité sur les robots mobiles
Un système multi-robots homogènes est un ensemble de robots qui ont les mêmes
caractéristiques, ils doivent coopérer entre eux; ils s’auto-organisent pour soulever, porter
pousser et déposer l’objet qu’un seul robot ne pourrait réaliser tout seul. Des travaux dans
ce domaine ont été réalisés, on peut citer par exemple les travaux de Stiwell :plusieurs
robots porteurs qui se positionnent en dessous d’une palette chargée pour la déplacer. Les
robots mobiles disposent d’un capteur de force qui leur sert d’information pour contrôler le
déplacement de la palette d’une manière stable et distribuée [10].
15
Chapitre 01 : Généralité sur les robots mobiles
les agents existants dans le système et quel sont les agents qui peuvent
Afin de faire fonctionner un robot mobile, plusieurs modules logiciels sont mis à
contribution. Ces modules peuvent servir à interpréter les données perçues par les capteurs
afin d'y extraire des informations, ou à traiter des commandes de haut niveau pour générer
d'autres commandes à un niveau inférieur. Les modules les plus fréquemment utilisés sont
les modules de vision, localisation, de navigation, de planification et de séquencement
d'activités du robot. Ces aspects de ces modules logiciels seront donnés avec plus de détails
dans les sections suivantes [12].
16
Chapitre 01 : Généralité sur les robots mobiles
véhicules pour l'aide à la conduite. La vision artificielle revêt une importance toute
particulière car elle permet de fournir à la machine les capacités nécessaires pour réagir
avec son environnement; elle fournit les représentations à partir desquelles le robot prend
des décisions[12,13].
I.8.2 -Localisation
Un robot mobile doit toujours connaitre sa situation pour se déplacer d'un point à un
autre, soit en identifiant des repères, on parle de localisation absolue, soit tout simplement
en mesurant les distances parcourues et les directions empruntés depuis sa position initiale.
Les méthodes de localisation se regroupes en deux catégories, soit :
-La localisation à l'estime ou relative qui est obtenue par des informations issues de
capteurs proprioceptifs .
-La localisation absolue qui est obtenue par des informations issues de capteurs
extéroceptifs.
-Localisation à l'estime ou relative: obtenue par des informations issues des capteurs
proprioceptifs, et consiste à déterminer la variation des coordonnées de position lors d'un
déplacement en mesurant tout simplement les distances parcourues et les directions,
empruntées depuis sa position initiale.
17
Chapitre 01 : Généralité sur les robots mobiles
Durant l'exploration, à l'aide des sonars ou d'un télémètre laser, chacune de ces zones
se voit attribuer une probabilité d'être occupée par un obstacle. Le résultat est une image
probabiliste des murs et des espaces libres. Cette représentation donne lieu à une
localisation sous forme de coordonnées qui désignent une case du quadrillage.
Les cartes topologiques ne s'intéressent qu'aux points clefs du milieu. Elles ont la
forme d'un graphe où les sommets figurent des endroits spécifiques (intersections de
couloirs, changement de classe de perception...) et les arcs l'existence d'un chemin entre
deux sommets. C'est une vue plus abstraite de l'environnement que celle proposée par les
grilles d'occupation. Elle vise à ne conserver que l'information utile.
I.8.4 -Planification
Les méthodes exactes sont basées sur une exploitation complète de la description de
l'environnement. Par opposition, les méthodes approchées réalisent tout d'abord une
discrétisation de l'environnement sous forme de grilles régulières ou irrégulières. L'espace
libre ainsi représenté est un sous-ensemble de l'espace libre réel.
18
Chapitre 01 : Généralité sur les robots mobiles
Alors que les méthodes exactes sont susceptibles d'être complètes, les méthodes
approchées ne le sont jamais [31].
I.9 -Conclusion :
Dans ce chapitre, nous avons donné une idée générale sur la robotique, l’historique
des robots, leurs structures, leurs utilisations et les différents types de robots ainsi que leurs
classifications et domaines d'applications et cela va nous servir à construire notre projet.
19
Chapitre 02 : La carte Arduino.
Chapitre 02 : La carte Arduino
II.1 -Introduction
Arduino est une plate-forme basée sur un matériel et un logiciel "Open Source". Elle
se compose d'une carte programmable à base d'un microcontrôleur et d’un logiciel prêt à
l'emploi appelé Arduino IDE (Integrated Development Environment), qui est utilisé pour
écrire et transferer le programme sur la carte.
Arduino fournit un facteur de forme standard qui brise les fonctions du microcontrôleur
dans un package plus accessible.
II.2 -Historique
Leur préoccupation se concentra alors sur la réalisation d'un matériel moins cher et
plus facile à utiliser. Ils souhaitaient créer un environnement proche de Processing, ce
langage de programmation développé dès 2001 par Casey Reas et Ben Fry, deux anciens
étudiants de John Maeda au M.I.T., lui-même initiateur du projet DBN.
20
Chapitre 02 : La carte Arduino
Comme pour Wiring, l'objectif était d'arriver à un dispositif simple à utiliser, dont les
coûts seraient peu élevés, les codes et les plans « libres » (c'est-à-dire dont les sources sont
ouvertes et peuvent être modifiées, améliorées, distribuées par les utilisateurs eux-mêmes)
et, enfin, « multi-plates-formes » (indépendant du système d'exploitation utilisé).
Conçu par une équipe de professeurs et d’étudiants (David Mellis, Tom Igoe,
Gianluca Martino, David Cuartielles, Massimo Banzi ainsi que Nicholas Zambetti),
l'environnement Arduino est particulièrement adapté à la production artistique ainsi qu'au
développement de conceptions qui peuvent trouver leurs réalisations dans la production
industrielle.
Le nom Arduino trouve son origine dans le nom du bar dans lequel l'équipe avait
l'habitude de se retrouver. Arduino est aussi le nom d'un roi italien, personnage historique
de la ville « Arduin d’Ivrée », ou encore un prénom italien masculin qui signifie « l'ami
fort » [18].
Une carte Arduino est une petite carte électronique programmable et un logiciel
multiplateforme, qui puisse être accessible à tout un chacun dans le but de créer facilement
des systèmes électroniques [17].
21
Chapitre 02 : La carte Arduino
Figure II.2 -Le logo présent sur une carte Arduino authentique.
22
Chapitre 02 : La carte Arduino
etc. …
Microcontrôleur ATmega328P,
23
Chapitre 02 : La carte Arduino
bootloader,
SRAM 2 KB (ATmega328P),
EEPROM, 1 KB (ATmega328P),
Poids 25 g [19],
24
Chapitre 02 : La carte Arduino
partie ne sera exécutée qu’une seule fois) dans le partie void setup().
II.6.3 -Alimentation
Diverses possibilités s'offrent pour alimenter cette carte. Ces trois façons sont
expliquées
Plus précisément, la carte nécessite une tension de 5V pour pouvoir fonctionner.
C'est la tension que délivre le port USB.
25
Chapitre 02 : La carte Arduino
Dès lors que nous alimentons l'Arduino via le jack ou les pins VIN et GND, un
régulateur de tension prend le relais entre l'alimentation et la carte. La tension entrante doit
être compris entre 6 et 20V. Ce sont les limites maximum.
Mémoireflash
Elle est de 32 ko dont 0,5 ko sont utilisés pour le bootloader, son programme de
démarrage. Cette mémoire est l'équivalent du disque dur pour l'ordinateur. C’est la place
que nous avons pour stocker le programme.
SRAM
Équivalent à la mémoire RAM, elle sert à stocker le résultat des variables. Sa taille est de 2
ko. Comme la RAM, cette mémoire est volatile, à l'extinction de la carte, les valeurs
disparaissent.
EEPROM
Mémoire en dur, elle permet de sauvegarder des valeurs de variables et ceci même à
l'extinction de la carte. Sa taille est de 1 kB. Comme une carte SD, le nombre de réécritures
est limité.
26
Chapitre 02 : La carte Arduino
Ces mémoires sont limitées en taille. Il s'agit donc d’optimiser au maximum afin
qu’une carte Arduino puisse recevoir le programme et l'exécuter correctement [39].
Elles sont numérotées de 0 à 13. Chacune de ces broches peuvent être utilisée comme
entrée ou sortie digitale avec les fonctions :
pinMode(),
digitalWrite(),
digitalRead().
Le voltage est à 5V, en sortie numérique, HIGH veut dire que la broche est mis à 5V
et LOW à 0V.
En sortie, ces broches peuvent fournir chacune un courant maximum de 40 mA. Mais
il est recommandé de ne pas dépasser 20mA. A noter aussi que la consommation totale
toutes broches confondues ne doit pas dépasser 200mA.
Si vous avez besoin de courant sur plusieurs broches à la fois, la somme des courants
est encore limitée.
En entrée, elles ont une résistance de tirage (pull-up) interne de 20-50 kOhms qui est
désactivée par défaut. Cette résistance qui est à l'intérieur du circuit, permet de « tirer » le
niveau de cette entrée au 5V (HIGH) lorsque rien n'y est connecté ou ne la relie au 0V.
Cela permet d'éviter d’en ajouter une à l'extérieur.
Pour activer cette résistance de tirage, il suffit de déclarer l'entrée de cette façon :
pinMode (Pin_xx, INPUT_PULLUP);
Certaines broches ont aussi des fonctions spécialisées en plus de celles de base :
la fonction la plus connue est PWM, qui est décrite plus précisément ici : La PWM ,
Les broches concernées sont 3, 5, 6, 9, 10 et 11.
27
Chapitre 02 : La carte Arduino
Voie série sur les broches 0 (Rx) et 1 (Tx) : R pour "Received "et T pour "Transmit".
Ces broches sont connectées à l'Atmega 16U2 qui s'occupe de la voie série-USB. Il est
donc fortement déconseillé d'effectuer un branchement de cette voie série lors d’un
téléchargement de programme.
Interruptions externes sur les broches 2 et 3.
la broche 13 est un peu particulière car une LED incorporée sur la carte lui est reliée.
Cette broche reste malgré tout utilisable si l’on accepte de voir la Led clignoter!
les broches 10 (SS), 11 (MOSI), 12 (MISO) et 13 (SCK) sont utilisées pour
communiquer avec le protocole SPI(Serial Peripheral Interface) permettant des
transferts à haute vitesse avec de nombreux périphériques comme les écrans graphiques
par exemple [23].
De même que les broches numériques, certaines ont des fonctions spécialisées :
les broches A4 (SDA) et A5 (SCL) sont utilisées pour communiquer en
utilisant la Bibliothèque Wire. Elles constituent le bus I2C (Integrated
Integrated Circuit) [15].
GND
Ce sont les masses. Elles servent à fermer le circuit.
3V3
Cette broche délivre du 3V3 pour un ampérage maximum de 50 mA. Elle peut être utilisée
pour alimenter un composant à ce voltage.
28
Chapitre 02 : La carte Arduino
AREF
Voltage de référence pour les broches analogiques, à utiliser avec la fonction
analogReference().
Reset
Mettre cette broche à LOW permet de redémarrer la carte. Elle est beaucoup utilisée avec
les shields pour permettre un redémarrage lorsque le bouton physique de la carte est
inaccessible.
IOREF
Cette broche donne le voltage de référence à lequel la carte fonctionne. Dans le cas du
Uno, elle sera à 5V. Sert surtout pour les shields [23].
II.6.8 -Communication
Pour communiquer, l’Arduino Uno peut employer différents protocoles comme nous
l’avons vu précédemment :
la voie série avec le port USB ainsi que les broches numériques 0 et 1. Précisons qu'à
l’initialisation de la voie Série (par exemple quand on allume le terminal de l’IDE), la
carte Arduino se réinitialise.
SPI avec les broches numériques 10, 11 12 et 13.
I2C / Wire avec les broches analogiques A4 et A5
de plus, la librairie Software Serial permet d’utiliser n’importe quelle broche numérique
pour communiquer en voie série [15,25].
29
Chapitre 02 : La carte Arduino
30
Chapitre 02 : La carte Arduino
31
Chapitre 02 : La carte Arduino
32
Chapitre 02 : La carte Arduino
Un programme Arduino est une suite d'instructions élémentaires sous forme textuelle
(ligne par ligne). La carte lit puis effectue les instructions les unes après les autres dans
l'ordre défini par les lignes de codes.
II.7.5 -Commentaires
---
2 */----------------------------------------------------------------------------------------
----
La Configuration des entrées et des sorties se fait dans la fonction void setup (). Les
numériques ou en sorties numériques. Ici on va configurer moteur pin en sortie, pin mode
(nom, état) est une des quatre fonctions relatives aux entrées / sorties numériques:
33
Chapitre 02 : La carte Arduino
tourne-
7* }--------------------------------------------------------------------------------------
digital write (nom, état) est une autre des quatre fonctions relatives aux entrées /sorties
numériques.
12 *delay (1000);----------------------------------------------------------------------
13* }-------------------------------------------------------------------------------------
Une simple manipulation enchaînée doit être suivie afin d'injecter un code vers la
carte Arduino via le port USB.
34
Chapitre 02 : La carte Arduino
7. On alimente la carte soit par le port USB, soit par une source d'alimentation
La carte arduino généralement est associée aux accessoires qui simplifient les
réalisations [38]. Il existe une multitude de shields et de modules conçus spécialement pour
la carte arduino.
II.8.1 -Communication
HC-05 : 6 sorties. Ce module peut être « maître » (il peut proposer à un autre élément
Bluetooth de s’appairer avec lui) ou « esclave » (il ne peut que recevoir des demandes
d'appairage)..
35
Chapitre 02 : La carte Arduino
Les deux modules peuvent être utilisés en mode COMMANDE, pour les
programmer avec des « commandes AT », ou en mode DATA, pour échanger des données.
36
Chapitre 02 : La carte Arduino
37
Chapitre 02 : La carte Arduino
C'est un composant qui possède une bobine (électro-aimant) qui lorsqu'elle est
parcourue par un courant électrique agit sur un ou plusieurs contacts. Le relais est une
solution à la commande en puissance. Il assure en outre une isolation galvanique en
mettant en œuvre un mouvement mécanique [27].
II.9 -Conclusion
Dans ce chapitre, nous avons donné un aperçu sur la carte Arduino, le cœur de notre
système et son environnement de programmation.
Ensuite, nous avons expliqué les deux parties essentielles de l'Arduino, (la partie
matérielle et la partie programmation) avec plus de détails.
38
Chapitre 03 : Partie conception et
réalisation.
Chapitre 03 : Partie conception et réalisation
III.1 Introduction
Ce chapitre est consacré à la description du système réalisé, sa conception, sa
réalisation et son fonctionnement.
Le robot mobile est un moyen excellent pour inspecter et surveiller les pipelines pour
la détection des fissures et les mauvaises soudures par la détection des fuites du gaz. Pour
bien atteindre les objectifs, nous avons utilisé un robot mobile muni d’un détecteur de gaz
qui va se déplacer le long des pipelines et détecte la présence du gaz qui se dégage à
travers des fissures.
39
Chapitre 03 : Partie conception et réalisation
Panneaux Solaires
L298N
« Robot »
Batterie
40
Chapitre 03 : Partie conception et réalisation
Cette platine GSM/GPRS permet d'échanger des données en utilisant les réseaux
mobiles tout en gardant une consommation électrique faible. Elle est basée sur le SIM900
Quadri-bande GSM / GPRS. Elle est contrôlée via des commandes AT (GSM 07.07, 07.05
et SIMCOM améliorée), et entièrement compatible avec Arduino Uno et Mega2560.
Avec le GSM Shield, il est possible de relier la carte Arduino à Internet en utilisant
une connexion GPRS, et envoyer et recevoir des appels vocaux ou encore des SMS [32].
41
Chapitre 03 : Partie conception et réalisation
42
Chapitre 03 : Partie conception et réalisation
Module basé sur le capteur de gaz MQ2 permettant de détecter le GPL, le butane, le
propane, le méthane, l'alcool, l'hydrogène et la fumée. Il est caractérisé par sa haute
sensibilité et son temps de réponse rapide. La sensibilité est réglable par potentiomètre.
Ce module se raccorde sur une entrée analogique d'une carte compatible Arduino,
comme on peut brancher sa sortie digitale directement à une entrée/sortie digitale de la
carte Arduino [33].
Entrée 5V.
Sortie analogique
43
Chapitre 03 : Partie conception et réalisation
[33].
MQ-2
RED =5v
BLACK=GND
BLUE=A0
44
Chapitre 03 : Partie conception et réalisation
III.6.1-Fonctionnement du GPS
Avec la réception des signaux de quatre satellites (trois pour obtenir le point
d'intersection des trois sphères, un quatrième pour la synchronisation du temps), le
récepteur mobile est capable de calculer sa position géographique par triangulation.
45
Chapitre 03 : Partie conception et réalisation
De type GY-NEO6MV2
Alimentation 3V-5V
Avec Flight Control EEPROM MWC
Antenne large céramique, fort signal, 25 x 25 mm
Paramètres de configuration sauvegardés en EEPROM
Avec batterie de backup de données
LED témoin de signal
Module miniaturisé 25 x 35 mm
Trou de fixation de 3mm
Baud rate par défaut 9600
Compatible avec de nombreux modules de contrôle de vol [35].
46
Chapitre 03 : Partie conception et réalisation
RED=Vcc
RED=5v
ORANGE=RX
ORANGE=TX = Pin3
GREEN =TX
GREEN =RX = Pin 4
BLACK=GND
BLACK=GND
La carte Arduino UNO ne peut pas gérer directement des moteurs à courant continu.
Il faut ajouter un moteur shield.
On va utiliser un moteur shield L298N (chapitre II, page 37).
Dans cette partie, nous allons présenter des programmes pour chaque composant.
#include <GSM.h>
47
Chapitre 03 : Partie conception et réalisation
GSM gsmAccess;
GSM_SMS sms;
void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
// connection state
while (notConnected) {
if (gsmAccess.begin(PINNUMBER) == GSM_READY) {
notConnected = false;
} else {
Serial.println("Not connected");
delay(1000);
Serial.println("GSM initialized");
void loop() {
48
Chapitre 03 : Partie conception et réalisation
readSerial(remoteNum);
Serial.println(remoteNum);
// sms text
char txtMsg[200];
readSerial(txtMsg);
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
sms.beginSMS(remoteNum);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
#include <GSM.h>
GSM gsmAccess;
GSM_SMS sms;
49
Chapitre 03 : Partie conception et réalisation
// Array to hold the number a SMS is retreived from
char senderNumber[20];
void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
// connection state
while (notConnected) {
if (gsmAccess.begin(PINNUMBER) == GSM_READY) {
notConnected = false;
} else {
Serial.println("Not connected");
delay(1000);
50
Chapitre 03 : Partie conception et réalisation
}
Serial.println("GSM initialized");
void loop() {
char c;
if (sms.available()) {
sms.remoteNumber(senderNumber, 20);
Serial.println(senderNumber);
if (sms.peek() == '#') {
Serial.println("Discarded SMS");
sms.flush();
51
Chapitre 03 : Partie conception et réalisation
while (c = sms.read()) {
Serial.print(c);
Serial.println("\nEND OF MESSAGE");
sms.flush();
Serial.println("MESSAGE DELETED");
delay(1000);
#include <GSM.h>
GSM gsmAccess;
GSM_SMS sms;
#include "TinyGPS++.h"
#include <SoftwareSerial.h>
TinyGPSPlus gps;
//char data;
52
Chapitre 03 : Partie conception et réalisation
double latitude;
double longitude;
double vitesse;
char senderNumber[20];
//char message;
String message;
void setup() {
Serial.begin(9600);
//serial_connection.begin(9600);
Serial.println("GPS start");
void loop() {
while(serial_connection.available())
gps.encode(serial_connection.read());
if(gps.location.isUpdated())
latitude = gps.location.lat();
longitude = gps.location.lng();
alt = gps.altitude.meters();
53
Chapitre 03 : Partie conception et réalisation
vitesse = gps.speed.kmph();
nbre_sat = gps.satellites.value();
String message ;
message.concat(latitude);
message.concat(alt);
message.concat(vitesse);
message.concat(nbre_sat);
Serial.print("Satellite count:");
// Serial.println(gps.satellites.value());
Serial.println(nbre_sat);
Serial.print("Latitude:");
// Serial.println(gps.location.lat(), 6);
Serial.println(latitude);
Serial.print("longitude:");
// Serial.println(gps.location.lng(), 6);
Serial.println( longitude);
Serial.print("Speed MPH:");
// Serial.println(gps.speed.mph());
Serial.println( vitesse);
Serial.print("Altitude Feet:");
54
Chapitre 03 : Partie conception et réalisation
// Serial.println(gps.altitude.feet());
Serial.println( alt);
Serial.print("Date :");
Serial.print("Time :");
Serial.println("");
delay(2000);
sendSMS();
void sendSMS(){
Serial.println(remoteNumber);
// sms text
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(message);
sms.beginSMS(remoteNumber);
sms.print(message);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
55
Chapitre 03 : Partie conception et réalisation
}
int analog_pin=A0;
int temp;
void setup() {
Serial.begin(9600)
void loop() {
temp=analogRead(analog_pin);
if(temp>250)
Serial.println(temp);
delay(1000);
56
Chapitre 03 : Partie conception et réalisation
57
Chapitre 03 : Partie conception et réalisation
Dans la figure ci-dessous, nous avons testé le capteur de gaz avec le "GSM".
58
Chapitre 03 : Partie conception et réalisation
Dans la figure ci-dessous, nous avons testé le capteur de gaz avec le GPS.
59
Chapitre 03 : Partie conception et réalisation
60
Chapitre 03 : Partie conception et réalisation
III.10 -Conclusion
Le but de notre projet a été atteint. On a réalisé un système robotique excellent, ce
système peut nous sauver des risques survenus du gaz des fuites et des mauvaises
soudures.
On a étudié chaque partie toute seule, après on a fait l’essai de chaque partie comme
indiquent les figures.
Enfin on a construit un système global intelligent qui peut détecter les fuites du gaz.
61
Conclusion générale.
Conclusion générale
Nous avons choisi de réaliser un système autonome commandé par GSM et alimenté
par cellules solaires. Ce projet nous a permis d'acquérir diverses connaissances dans de
multiples domaines notamment en électronique (choix de composants, réalisation de la
carte,..) en télécommunication (système de GSM, protocole de connexion …) et en
informatique (langage C, ordinogramme ,………).
Ce robot peut être utilisé pour l'exploration des pipelines pour la recherche des fissures
ou de mauvaises soudures car il permet la détection du gaz dégagé par les fissures ou les
mauvaises soudures.
Ce robot peut être utilisé pour d'autres applications par le remplacement du capteur par
un capteur approprié et l'adaptation du mode de fonctionnement selon l'application.
Il peut être utilisé, par exemple, pour la détection des métaux en remplaçant le
détecteur du gaz par un détecteur de métaux
Comme perspective, ce robot peut être amélioré par l'ajout d'autres capteurs et une
camera et des actionneurs et il deviendra un robot multifonction qui peut être programmé
selon la mission envisagée.
62
Bibliographie
[1] : DJILALI, B. O. U. R. et MAKHLOUF, CHERIEF. Commande d'un robot mobile
Khepera IV. 2017.
[2] : FLAUS, Jean-Marie. Cybersécurité des systèmes industriels. ISTE Editions, 2019.
[4] : JAULIN, Luc. La robotique mobile: cours et exercices. ISTE editions, 2015.
[6] : http://jf.duchet.pagesperso-orange.fr/robotique/Pages/applications.htm
[7] : Jean-Louis Deneubourg Ralph Beckers, Owen E. Holland. From local actions to
global tasks : Stigmergy and collective robotics. In Proceedings of the Fourth International
Workshop on the Synthesis and Simulation of Living Systems, pages 181–189, Cambridge
[9] : Intergiciels pour systèmes multi-robots : état de l’art Stefan-Gabriel Chitic, Julien
Ponge, Olivier Simonin, Université de Lyon
[12] : Siegwart, R., Nourbakhsh, R., "Introduction to autonomous mobile robots", The MIT
Press155, 2004
[13] : Avina J, G., "Navigation visuelle d'un robot mobile dans un environnement
d'extérieur semi-structuré". Thèse de doctorat, Institut National Polytechnique de
Toulouse, 2005.
[14] : Bayle, B., "Robotique mobile : note de cours", école Nationale Supérieure de
Physique de Strasbourg, 2009
[17] :https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-
embarquee/742_decouverte-de-larduino/3414_presentation-darduino/#1-10774_quest-ce-que-
cest
[19] : www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php
[23] : https://www.locoduino.org/spip.php?article69
[24] :http://www.mon-club-
elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.MaterielUno
[28] : Durieu C., "Algorithmes de localisation d'un robot mobiles dans un milieu balisé par
mesure de distance ou d'angle de gisement", Thèse de Doctorat, Université de Paris sud,
1989.
[29] : Nagatani, K., Choset, H., Thrun, S., "Towards exact localization without explicit
localization with the generalized Voronoi graph", in Proceedings of the IEEE International
Conference on Robotics and Automation, pp. 342-348, 1998.
[30] : Thrun, S., Bucken, A., "Integrating Grid-based and topological maps for mobile
robot navigation", In Proceedings of the Thirteenth National Conference on Artificial
Intelligence, pp. 944-950, 1996.
[31] : Reignier, P., "Pilotage Réactif d‟un Robot Mobile, Etude de Lien entre la Perception
et l‟Action", Thèse de Doctorat, Institut National Polytechnique de Grenoble, 1994.
[32] : http://wiki.iteadstudio.com/IComSat?setlang=fr
[33] : https://www.gotronic.fr/art-capteur-de-gaz-mq2-sen0127-22964.htm
[34] : PARKINSON, Bradford W., ENGE, Per, AXELRAD, Penina, et al.(ed.). Global
positioning system: Theory and applications, Volume II. American Institute of Aeronautics
and Astronautics, 1996.
[35] : http://tiptopboards.com/338-module-gps-gy-neo6mv2-.html
[36] : بوشعالة, عبد اللطيف,نصير, et al. Conception et Réalisation d’un Suiveur du Soleil
Commandé par une Carte Arduino. 2018.
[37] :http://www.mon-club-
elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallationWindows
[38] : https://arduino103.blogspot.com/2013/01/shield-wifi-pour-arduino.html
[40] : http://pecquery.wixsite.com/arduino-passion/copie-de-le-detecteur-a-ultrasons-h