Arduino Bluetooth utilitaire de vehicule

????????????????????????????????
BADJI MOKHTAR- ANNABA UNIVERSITY
UNIVERSITE BADJI MOKHTAR ANNABA????????? ?????- ??????
Année : 2017
Faculté: Sciences de l’Ingéniorat
Département: Electronique
MEMOIRE
Présenté en vue de l’obtention du diplôme de : MASTER
Intitulé :
Commande vocale via Bluetooth d’un véhicule à base d’Arduino
Domaine : Sciences et Technologie
Filière : Electronique
Spécialité: Automatique industrielle
Par :
Bendjeddou Chaima
DEVANT Le JURY
Président : Dr. Benmoussa Samir Université Badji Moktar Annaba
Directeur de mémoire: Dr. Redjati Abdelghani Université Badji Moktar Annaba
Examinateur : Dr. Fezari Mohamed Université Badji Moktar Annaba
DEDICACES
À la plus belle créature que Dieu a créée sur terre. À cette source de tendresse, de patience et de générosité,
À mes parents!
Aucune dédicace ne saurait exprimer l’amour, l’estime, le dévouement et le respect que j’ai toujours eu pour vous.
Rien au monde ne vaut les efforts fournis jour et nuit pour mon éducation et mon bien être.
Ce travail est le fruit de vos sacrifices que vous avez consentis pour mon éducation et ma formation.

Remerciements
Je tiens à exprimer toute ma reconnaissance à mon directeur de mémoire Dr.
Redjati Abdelghani pour sa patience, sa disponibilité et surtout ses judicieux
conseils, qui ont contribué à alimenter ma réflexion.
J’adresse mes sincères remerciements aux professeurs Benouaret Mohamed et
Doghman Nourddine pour leur remarques, leur conseils et leur disponibilité, et à tous les professeurs, intervenants et toutes les personnes qui par leurs paroles, leurs écrits, leurs conseils et leurs critiques ont guidé mes réflexions et ont accepté à me rencontrer et répondre à mes questions durant
mes recherches.
Je remercie mes très chers parents, qui ont toujours été là pour moi, « vous avez tout sacrifié pour vos enfants n’épargnant ni santé ni efforts. Vous
m’avez donné un magnifique modèle de labeur et de persévérance, je suis
redevable d’une éducation dont je suis fier ».
Je tiens à remercier le merveilleux Karim qui est toujours été là pour moi, pour
son soutien inconditionnel et son encouragement.
Enfin, je remercie tous mes ami(e)s pour leur sincère amitié et confiance, et à
qui je dois ma reconnaissance et mon attachement.
À tous ces intervenants, je présente mes remerciements, mon respect et ma
gratitude.
Sommaire
Introduction générale p1
Chapitre I : Etat de l’art……………………………………………………p2
1) Généralité sur les robots ……………………………………………..p2
2) Les différents types des robots mobiles ……………………………..p2

3) Le robot domestique au service des personnes âgées ……………….p3
4) Les Fauteuils roulants ………………………………………………..p4
Chapitre II : Fondement théorique………………………………………..p7
1) Les capteurs …………………………………………………………………p7
1.1) Définition ……………………………………………..p7
1.2) Modèle d’un capteur ……………………………… ..p7
1.3) Chaîne de mesure ………………………………….…p8
2) Les ultrasons ………………………………………………………………..p8
2.1) Définition du son …………………………….……….p8
2.2) Les ultrasons dans la nature …………………………..p9
2.3) Le capteur HC-SR04 ………………………………….p9
3) Bluetooth …………………………………………………………………….p11
3.2) Définition ………………………………………..…….p11
3.2) Présentation du module Bluetooth HC-05 ………….…p12
4) Commande des moteurs à courant continue :………………………….…….p13
4.1) Principe de fonctionnement du MCC………………p13
4.2) Contrôle de la vitesse de sens de rotation ………..p13
Chapitre III : Réalisation du projet………………………………………p15
1) introduction………………………………………………………….……….p15
2) Schéma synoptique :………………………………………………… …….p15
3) Configuration du Bluetooth HC05 :…………………………………………p15

4) Utilisation de l’ultrason :…………………………………………………….p16
5) Le Pont en H :……………………………………………………………….p18
6) Variation de la vitesse du moteur à courant continue ……… ……………p19
7) Commande d’un servomoteur ……………………………………..……….p24
8) Partie réalisation …………………………………………………………….p27
8.1) Principe ……………………………………………….p27
8.2) Schéma électrique ……………………………………p27
8.3) Organigrammes de fonctionnement ………………………p28
Conclusion et perspectives………………………………………………………………..p32
Annexe……………………………………………………………………………………..p33 Bibliographie………………………………………………………………………………p41
Liste des organigrammes :
1) Détection d’obstacle …………………………………………………….……………p18
2) Variation de la vitesse……………………………………………………….……… p22
3) Commande des moteurs (marche/arrêt-sens avant/arrière)……………..…….………p23
4) SERVOMOTOR………………………………………………………………….… p26
5) Mode Autonome…………………………………………………………..……..…….p28
6) Mode Vocale………………………………………………………………..…………p30 7) organigramme générale……………………………..…………………………………p31
Liste des figures :
Chapitre I :
Figure I.1 drone "Predator"………………………………………………………………..p1
Figure I.2 Robots explorateurs…………………………………………………………….p1

Figure I.3 Robots humanoïdes ……………………………………………………………p2
Figure I.4 Le robot Buddy ……………………………………..………………………….p3
Figure I.5 Schéma des équipements du robot Buddy………………..……………………p3 Figure I.7 Le projet VAHM…………………………………………..……………… p4
Chapitre II :
Figure II.1 Principe de mesure ………………………………………………….………p7
Figure II.2 Chaîne de mesure …………………………………………..……………….p8
Figure II.3 Onde sonore………………………………………………………………….p8
Figure II.4 Propagation du son………………………………………..………………….p9
Figure II.5 Les ultrasons dans la nature………………………… … ………………..p9
Figure II.6 Principe de mesure du temps………………………………….…………….p9
Figure II.7 Le cône de détection…………………………………………………..…….p10
Figure II.8 illustration du signal Trigger et Echo ……………………………….………..p10 Figure II.9 Réseaux Bluetooth……………………………………………………..p11
Figure II.10 HC05………………………………………………………… ……..p12
Figure II.11Principe du MCC………………………………………………………p13
Figure II.12 Un pont en H…………………………………………………………..p13
Figure II.13 Inversement de sens de rotation ………………………….…………..p13
Figure II.14 Un signal MLI…………………………………………………………p14
Chapitre III :
Figure III.1 HC05 en mode AT ………………………………………………….p16
Figure III.2 Simulation du ultrason et ARDUINO(1)……………………………p17
Figure III.3 Simulation du ultrason et ARDUINO(2) ………………………..p17

Figure III.4 utilisation du pont en H pour commander un MCC…………………p19
Figure III.5 Command du MCC……………………………………………….….p21
Figure III.6 commande du servomoteur selon la variation de la distance…… P25
Figure III.7 Schéma électrique globale …………………………………………P27
Résumé :
Ce projet concerne la conception, la réalisation et la commande d'un robot mobile à trois roues à l'aide d'une carte électronique" Arduino", son rôle est d'étendre les sens et les capacités d'action des humains dans des environnements variées, où le robot peut agir pour rendre des services directement ou à distance via une interface de communication.
Son principe peut utiliser aussi pour concevoir un fauteuil roulant pour les gents tétraplégies, commandé vocalement pour que ces gens peut se déplacé sans la nécessité d’accompagner.
Abstract :
This project concerns the design, production and control of a three-wheeled mobile robot using an electronic board "Arduino", Its role is to extend the senses and the capacities of action of humans in various environments, where the robot can act to render services directly or remotely via a communication interface.
Its an example wich can be used to make a voice controled wheelchair for personnes who had a quadriplegia, so they can move without the need to accompany.
????
????? ?? ???????? ?? ???? ????? ?? ???? ????? ???????? ???? ???????? ???????? .??? ??????? ??? ????? ?????? ??? ???? ????????? ???? ???????? ???? ????????? ?????? ????? ????? ?? ???? ?????? ??????? ?? ? ??????? ??????? ?? ?????? ???? ?? ?? ???? ??????????? ??? ?????? ??????? . ???? ?? ????? ??????? ???? ???? ??? ??????? ?? ??? ????? ???? ????? ?????? ????? ??????? , ?? ?? ?? ?? ????? ??????????? ??? ??? ???? ????? , ?????? ?? ? ?? ?????? ?????
?????? ??? ?????
Introduction générale:
L'homme a toujours souhaité se libérer du travail dans ce qu'il a d'astreignant, de fatiguant, d'inintéressant. Les progrès qu'on connue les technologies depuis un demi siècle sont a même de répondre en bonne partie à son désire par l'intermédiaire de deux outils générique: 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 cout 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 ce « esclave » qui appliquera ses ordres au doigt et à l'œil et qui le libérera à jamais du travail. De l'Homme préhistorique qui s'empressa d'inventer des extensions technologiques de ses membres afin de faciliter son travail, comme la massue par exemple, jusqu'au robot mobile autonome le plus performant, la robotique mobile n'a cessé de connaître des progrès spectaculaires. En effet, les générations de robots mobiles se sont vite succédé offrant à chaque fois plus de performances en matière de perception, d'autonomie et de pouvoir décisionnel. Ces progrès étaient un résultat inévitable des développements qu'ont connu la mécanique, la microélectronique et l'informatique. C'est pour cela qu'en très peu de temps, les générations de robots se succèdent pour voir naître une branche de la robotique visant de plus amples horizons : c'est l'ère de la robotique mobile. L'objectif principal de notre travail est de réaliser un robot mobile qui fonctionne en deux modes : mode commande vocale qui permet aux gents tétraplégie de commander leur Fauteuil roulant vocalement à l’aide d’une camera qui lui visualise les points aveugles ou bien un système sonar pour alerter l’utilisateur en cas d’un obstacle non vue le deuxième mode est un mode automatique c’est simplement un robot détecteur d’obstacle qu’on peut l’utiliser aux zones où l’homme ne peut pas les atteindre ,tout en utilisant une carte électronique Arduino . Ce travail est alors organisé en trois chapitres de la manière suivante : Le premier chapitre présente un état de l’art Le second chapitre est un fondement théorique et Le troisième chapitre sera la réalisation du projet.
1) Généralité sur les robots
Les robots sont actuellement très répandus dans l’industrie, en particulier en construction automobile et chez la plupart des fabricants d’ordinateurs. Capables d’effectuer rapidement des travaux répétitifs, ils sont notamment utilisés dans les chaînes de fabrication et de montage. Ils ont employé également dans des environnements difficilement supportables par l’homme [1]
2) Les différents types des robots mobiles :
1- Robots militaires
Les robots militaires sont principalement utilisés pour la surveillance aussi bien dans les airs que dans la mer. Les drones sont une sous-classe des robots militaires. Des systèmes sont déjà actuellement en service dans un certain nombre de forces armées, avec des succès remarquables, tel que le drone "Predator" qui est présenté dans la figure I.1 [2]
2- Robots explorateurs

Les robots explorateurs remplacent l’homme dans des environnements difficiles. On peut citer comme exemple, Mars Science Laboratory (MSL) est une mission d’exploration de la planète Mars à l'aide d'une astomobile « Rover » (figure I.2) développée par le centre JPL de l'agence spatiale américaine de la NASA. [2]
Le rover embarque 10 instruments scientifiques:
- La caméra MASTCAM et CHEMCAM qui déterminent la composition des roches à l'aide d'un laser, fournissent une première analyse chimique et géologique de l'environnement.
- le spectromètre à rayons X APXS et la caméra microscope MAHLI fournissent la composition chimique et des images détaillées facilitant la sélection des échantillons à analyser.
- CheMin effectue l'analyse minéralogique.
- SAM qui effectue l'analyse des éléments organiques et volatils.
- la station météorologique REMS, le détecteur de particules énergétiques RAD qui mesure les radiations qui parviennent jusqu'au sol.
- Le détecteur de neutrons DAN chargé d'identifier la présence d'eau dans le proche sous-sol et la caméra de l'étage de descente MARDI qui réalise avant l'atterrissage des photos de la zone environnante.
3- Robots humanoïdes :
Le terme humanoïde signifie « de forme humaine », il évoque principalement la bipédie, la présence de deux bras et d'une tête. Il s'agit donc uniquement d'un critère phénotypique et plus précisément morphologique, comme illustre la figure I.3[2]
3) Le robot domestique au service des personnes âgées :
Au cours de ces dernières années et plus visiblement de ces derniers mois, la robotique de service n’a cessé de se perfectionner. Les robots autrefois prototypes conviennent désormais à nos maisons, tout comme le robotBuddy: leur apparence extérieure, leur façon de se mouvoir, leur vitesse, tout cela est étudié pour s’adapter en toute sécurité à la vie domestique.
Aujourd’hui le robot d’assistance Ubo est à l’honneur sur ce blog, il est français et ses tâches sont incroyablement multiples. Elles comprennent la télémédecine, la surveillance des enfants, la télé présence et la protection du domicile [3].
• Le robot Buddy :
Buddy prend soin des séniors en reconnaissant les chutes dont ils peuvent être victimes. Aussi nous savons ce que pensent nos grands-parents des nouvelles technologies, et ils ont parfois bien du mal à s’en servir, Buddy remplace donc le téléphone puisqu’il se charge des communications et plus globalement de
• Le robot domestiqueUbo:
À destination des professionnels de la santé tout comme du particulier, Ubo pourrait bien faciliter le maintien à domicile des seniors et des personnes en situation d’handicap. Pour ce faire, l’état de santé du patient est surveillé en temps réel grâce à un bracelet connecté dit
« sensoriel » qui mesure la pression sanguine/la respiration/le rythme cardiaque/l’activité et bien d’autres facteurs encore.
Ces données sont ensuite transmises au serveur d’Ubo pour analyse, si une anomalie est détectée un message est envoyé à la famille de l’utilisateur ou aux services médicaux connectés au robot. Les secours peuvent ainsi être alertés plus rapidement. De plus, Ubo sert aussi de rappel car il distribue lui-même les médicaments prescrits par votre médecin.
.Le robot est équipé :
• d’une caméra HD grand angle à vision nocturne, également doté de capteurs d’intrusion. Il détecte les bruits inhabituels, la fumée et même l’humidité de votre logement.

• Surveillance des enfants et plus particulièrement des bébés
• Ubo se lie aux objets connectés de la maison afin que vous puissiez les utiliser par simple commande vocale.
• Intelligence artificielle permettant une conversation. Le robot dispose de 4 microphones et de 2 haut-parleurs.
• Télé présence.
4) Les Fauteuils roulants :
? Introduction :
Le fauteuil roulant électrique est un élément essentiel pour l’autonomie des personnes handicapées. Mais pour certaines, l’utilisation peut parfois être difficile, voir impossible, du fait de capacités physiques résiduelles trop faibles, d’une trop grande spasticité, d’une fatigabilité importante ou de troubles cognitifs. Par exemple, certaines personnes ne peuvent actionner qu’un simple capteur tout ou rien, ce qui rend difficile la commande d’un fauteuil roulant. On peut alors apporter des améliorations à l’interface homme - machine standard de type joystick en utilisant des asservissements locaux ou des fonctionnalités intelligentes empruntées à la robotique : détection et évitement d’obstacles, accostage et passage de portes, suivi de parcours, planification de trajectoires. La robotique mobile de réadaptation et l’étude de fauteuils roulants intelligents s’apparentent au domaine de la robotique de service qui présente deux caractéristiques importantes : d’une part le robot partage son espace d’évolution avec les personnes et d’autre part, l’utilisateur n’est pas à priori compétent dans le domaine technologique, ce qui montre l’importance de l’interface homme - machine. La grande diversité des utilisateurs et des structures est une caractéristique importante de l’application [4]. Par exemple, l’environnement peut être le domicile, un centre de réadaptation, un hôpital . et l’encombrement potentiel des chemins ainsi que les distances à parcourir sont de ce fait, très variables. Par ailleurs, les patients en fauteuil ont des possibilités physiques et cognitives très différentes. L’interface homme - machine doit donc être modulaire et configurable, tant du point de vue logiciel que des capteurs de commande. Elle doit être facile à mettre en place et apporter une sécurité maximale avec une grande fiabilité. Par ailleurs, pour optimiser le rapport coût / performances, il est important d’utiliser chaque fois que possible, du matériel non spécifique à l’application, comme par exemple, une base de fauteuil roulant du figure I.6 présente quelque type de fauteuil roulant électriques.
Parmi les projets des fauteuils intelligents le projet de VAHM :
Le projet VAHM (Véhicule autonome pour Handicapés Moteurs) a pour but de proposer aux personnes ayant un handicap physique lourd de se déplacer facilement [4].
Le fauteuil doit se déplacer de la manière la plus autonome possible. Pour cela, il est équipé de capteurs qui collectent des données sur son environnement et d’agents réactifs qui lui permettent des comportements simples (longer les murs, éviter les obstacles, etc.).
1) Les capteurs :
1.1) Définition :
Un capteur est un organe de prélèvement d’informations qui élabore à partir d’une grandeur physique (Information entrante) une autre grandeur physique de nature différente (Information sortante : très souvent électrique). Cette grandeur, représentative de la grandeur prélevée, est utilisable à des fins de mesure ou de commande.[2]
Le capteur peut être vu comme une boîte noire ayant comme entrée un mesurande et comme sortie une tension ou un courant électrique. Néanmoins, la sortie d’un capteur ne dépend pas uniquement que du mesurande, elle est aussi fonction de la grandeur d’influence. Il s’agit de grandeurs physiques qui viennent modifier les caractéristiques du capteur. Ainsi, on peut écrire :
g = f(m,?) Où :
g : représente la grandeur de sortie. m : le mesurande.
? : les grandeurs d’influence.
? Domaine d’emploi :
Les capteurs sont destinés à réaliser une mesure. Dans le domaine industriel, cette opération est importante et intervient dans deux grands domaines :
Le domaine du mesurage et celui du contrôle de processus.
1.2) Modèle d’un capteur :Capteur passif :

Il s’agit de capteur dont la grandeur de sortie est une variation de la valeur d’une résistance ou d’une impédance. Ce circuit a pour rôle de conditionnement pour convertir la variation d’impédance en une variation de tension ou de courant. Le modèle électrique équivalent est celui d’un dipôle dont l’impédance équivalente varie en fonction du mesurande. Le circuit porte le nom de conditionneur.
Les capteurs actifs :
Fournissent en sortie une tension ou un courant. Il prélève une partie de l’énergie utilisée par la grandeur physique à mesurer pour la transformée en énergie électrique. Le modèle électrique de ce type de capteur que l’on nomme aussi transducteur est un générateur équivalent soit de Thévenin pour les tensions, soit de Norton pour les courants.
1.3) Chaîne de mesure :
Quelque soit le domaine d’emploi, un capteur n’est pas utilisé seul, il intervient dans une chaîne dite chaîne de mesure.
Cette chaîne de mesure est constituée : du capteur associé dans le cas d’un capteur passif à un conditionneur, d’un dispositif d’amplification et de filtrage et d’un organe de traitement. 2) Les ultrasons :
2.1) Définition du son :
Les son produisent une onde caractérisée par :
- Longueur d’onde (en mètre)
- Fréquence : nombre de longueur d’onde par seconde.
C’est une onde mécanique et élastique à l'image des hauts parleurs qui font vibrer une membrane qui à son tour fait vibrer l’air.
Le son se propage d’autant plus vite que le milieu est dense, ce qui explique que le son soit plus rapide sous l’eau que dans l’air. Ceci explique également que les capteurs ultrasons ne fonctionnent pas dans le vide car le son ne s’y propage pas.
Les ultrasons sont simplement des sons à haute fréquence
(supérieure à 20 KHz) et sont donc inaudibles par l’homme [6].
2.2) Les ultrasons dans la nature :
De nombreux animaux peuvent entendre les ultrasons
Figure II.4 Propagation du son comme le chien ou la chauve-souris. Certains animaux utilisent les ultrasons non seulement pour se repérer mais aussi pour localiser leurs proies et aussi communiquer.
2.3) Le capteur HC-SR04 :
Ce petit module est capable de déterminer la distance qui le sépare d'un obstacle se présentant devant lui. Il fonctionne en mesurant le temps de retour de l'onde émise par le capteur. La vitesse du son étant à peu près stable, on en déduit la distance à l’obstacle.
Dans l’air, à pression standard et à 20°C, la vitesse du son est d’environ c=340m/s. [6]
Le cône de détection

Le cône de détection est d’environ 15°, ce qui est important comparé aux autres types de capteurs. Cela peut rendre la mesure imprécise (détection des murs d'un couloir et non du fond du couloir) ou au contraire permettre de mieux balayer l'environnement (notamment pour les éléments très proches).
La forme des obstacles joue un rôle essentiel car elle peut amener le robot à ne pas se représenter correctement son environnement.
La texture des objets fait également varier la réponse. Les multiples échos à proximité du sol et la sensibilité au bruit peuvent poser problème [7].
Voilà comment se déroule une prise de mesure :
1. On envoie une impulsion HIGH de 10µs sur la broche TRIGGER du capteur.
2. Le capteur envoie alors une série de 8 impulsions ultrasoniques à 40KHz (inaudible pour l'être humain).
3. Les ultrasons se propagent dans l'air jusqu'à toucher un obstacle et retourne dans l'autre sens vers le capteur.
4. Le capteur détecte l'écho et clôture la prise de mesure.
Le signal sur la broche ECHO du capteur reste à HIGH durant les étapes 3 et 4, ce qui permet de mesurer la durée de l'aller-retour des ultrasons et donc de déterminer la distance.
N.B. Il y a toujours un silence de durée fixe après l'émission des ultrasons pour éviter de recevoir prématurément un écho en provenance directement du capteur.
3) Bluetooth
3.1) Définition
Le Bluetooth est un protocole de communication sans fil. Il a vu le jour à la fin des années 1990 et n’a vraiment percé que dans les années 2000.
Ce protocole est un cousin du Wifi. En effet, ils utilisent la même gamme de fréquences : 2.4 GHz (tout comme les téléphones portables et le Zigbee par exemple). C’est une communication bidirectionnelle, deux modules peuvent communiquer ensemble en même temps. Le comportement utilisé est
« maître/esclave » [8].
Un esclave pourra parler avec un seul maître, mais un maître pourra dialoguer avec plusieurs esclaves
Pour son utilisation, elle se passe en plusieurs étapes :
1. Le maître se met en mode « reconnaissable »
2. L’esclave trouve le maître et demande à s’y connecter
3. Le maître accepte la connexion
4. Les périphériques sont alors appariés (ou associés)

5. La communication peut commencer
3.2) Présentation du module Bluetooth HC-05 : HC-05 et est trouvable assez facilement pour quelques euros (via des sites d’import de Chine). Il est aussi gros que le pouce et est en fait un montage d’un module Bluetooth sur un petit PCB (printed circuit board). Cela permet de s’affranchir de certaines contraintes comme la soudure du module (qui est très délicate), la conversion 5V -> 3.3V, la régulation de l’alimentation (3.3V de nouveau) ou encore l’ajout de LEDs de signal. Tout cela est déjà intégré [9]!
Alors que trouvons-nous sur ce petit module ?
Tout d’abord, un ensemble de broches. VCC et GND pour l’alimentation (5V),
Rx/Tx pour la communication. On y voit aussi une broche « Key » (ou bien Enable « EN ») qui servira à envoyer des commandes de configuration au module. La dernière broche nommée « Led »(ou bien state) permet de brancher une LED pour obtenir un signal sur l’état du module.
Led sert à connecter une LED de statut, vous pouvez la laisser déconnectée cela n’influencera pas le comportement du module. Key sert à utiliser le mode « commande » du module. Avec cette dernière vous pourrez reconfigurer la voie série (vitesse, parité etc…) et d’autres options liées au Bluetooth (nom du module, mot de passe d’appairage, mode esclave/maître…). Cette broche est à connecter à n’importe quelle sortie numérique de l’Arduino [7].
4) Commande des moteurs à courant continue :
4.1) Principe de fonctionnement du moteur à courant continu
Un moteur à courant continu est constitué de deux parties électriques : le stator et le rotor. 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.[11]
4.2) Contrôle de la vitesse et du sens de rotation:
Lorsque on veut commander un moteur (à courant continu ou pas à pas) on est souvent obligé d'inverser la polarité. De plus il est généralement préférable de pouvoir faire varier la vitesse du moteur. Le circuit utilisé dans la pratique s'appelle le pont en H, dont son principe de base est un assemblage de 4 transistors (2 PNP et 2 NPN) monté de telle façon que à polarisé le moteur à courant continu dans les deux sens.
En inversant le sens du courant dans le moteur, ce dernier changera de sens de rotation.
Figure II.13 Inversement de sens de rotation
La vitesse de rotation du moteur est assurée par l’Arduino qui génère un signal MLI ; modulation de largeur d’impulsion qui est une impulsion (ou onde) carrée.
Cette impulsion se répète dans le temps de façon continue.
Une telle onde, comme toute onde est caractérisée par sa période, c'est à dire la durée entre 2 impulsions. La définition d'une onde PWM (Pulse Width Modulation en anglais ou Modulation de Largeur d'Impulsion (MLI) en français) se fait en modifiant la largeur du niveau HAUT par rapport à la durée de la période : la largeur du niveau HAUT est appelée « duty cycle ».[12]
La génération du signal MLI se fait de la manière suivante :
• Si valeur = 0, le Duty Cycle sera de 0% de la période
• Si valeur = 255, le Duty Cycle sera de 100% de la période
• Si valeur = 127, le Duty Cycle sera de 50% de la période
• Si valeur = n, le Duty Cycle sera de (n/255)*100% de la période.
1) introduction

Dans ce chapitre nous allons d écrire le déroulement des différentes étapes de notre application.
Nous allons donner un schéma synoptique global pour expliquer le fonctionnement du système.
Chaque partie du travail est simulée avant d’être mise en application. 3) Configuration du Bluetooth HC05 :
Connectez la broche Rx du module Bluetooth à la broche 11 d'Arduino Uno et la broche Tx de Bluetooth à la broche 10 d'Arduino. Connectez également la broche KEY du module à la broche 9 de l'arduino et la masse à la masse, mais ne connectez pas encore le Vcc. Vous devez d'abord allumer l'arduino, puis connecter Vcc. La LED du module clignotera à l'intervalle de 2 secondes. Cela signifie qu'il est entré en mode AT. Si elle clignote plus rapidement, alors le mode AT n'a pas été entré. Déconnectez Vcc, vérifiez votre circuit et réessayez.
Pour bien comprendre le fonctionnement de l’ultrason, nous avons simulé notre circuit par le logiciel Proteus pour déterminer la distance de l’obstacle.
La version du logiciel utilisée manque de librairie c’est pour cela qu’il faut :
1. ajouter au Proteus les bibliothèque ARDUINO : [] et [ ].
2. ajouter au Proteus la bibliothèque ULTRSON qui contient trois fichiers :
Et à chaque fois il faut ajouter le fichier HEX au module pour que la simulation se déroule correctement.
Les composants utilisés sont :
1. ADUINO UNO.
2. un capteur ULTRASON.
3. un potentiomètre : la variation de sa valeur est la simulation des ondes ultrason.
4. une LED bleu
5 Virtual terminal : pour afficher les valeurs de la distance
Comme la distance voulue n’est pas encore atteinte, la led ne s’allume pas.
1) Détection d’obstacle
5) Le Pont en H :
Pour notre simulation, nous avons utilisé le pont L293D pour la commande du sens de rotation du moteur.
La figure suivante montre les différents cas de simulation :
Pour simuler comment contrôlé la vitesse du moteur ; Matériel utilisé :
1. une ARDUINO UNO.
2. un pont H L293D.

3 .deux moteurs à courant continu.
4 .Un potentiomètre.
5. quatre interrupteurs (deux pour chaque moteur).
Schéma de commande :
Le potentiomètre est branché comme entrée avec la pin analogique A0 de l’ARDUINO la variation dans sa position (sa tension) entraine un variation équivalente dans la valeur de vitesse des deux moteurs, on a utilisé un seul potentiomètre pour les deux moteurs mais on peut utilisé un seul pour chaque
MCC, on mais un sur la pin A0 et l’autre sur A1 par exemple, les tableaux suivants indique le brochage des autres pins :
MOTEUR | L293D | ARDUINO UNO |
01 | INPUT1=pin 2 | PIN 12 |
INPUT2=pin 7 | PIN 11 | |
ENABLE1=pin 1 | PIN 10 | |
02 | ENABLE1=pin 9 | PIN 10 |
INPUT3=pin10 | PIN 8 ![]() | |
INPUT4=pin 15 | PIN 7 |
Tableau01 : brochage du L293 avec Arduino
MOTEUR | INTERRUPTEURS | ARDUINO |
01 | SW1 : on/off | PIN 13 |
SW2 : sens du rotation | PIN 0 | |
02 | SW3 : on/off | PIN 1 |
SW4:sens du rotation | PIN2 |
Tableau02 : brochage des interrupteurs avec Arduino
Les organigrammes suivants ont expliqué le programme de simulation :
2) Variation de la vitesse
En combinant les deux organigrammes on obtient un organigramme qui nous permet de commander les deux moteurs (sens de rotation et variation de vitesse).
7) Commande d’un servomoteur :
On a utilisé un servomoteur associé au capteur ultrason pour contrôler la direction de mo voiture télécommandée. Plus précis pour avoir la distance en un seule mouvement pour comparer la distance de trois direction par exemple.

Au début Un servomoteur contient un moteur à courant continu associé à une série d'engrenages qui va lui permettre de gagner de la puissance mais comme rien n'est gratuit, ce gain en puissance réduit sa vitesse de rotation.
Un engrenage est une roue dentée qui en tournant entraîne (engrène) une autre roue, dentée aussi. Ça a l'air évident mais deux principes fondamentaux s'ajoutent pour bien maîtriser la notion :
1. Si la première roue dentée tourne dans un sens, la seconde tournera dans l'autre sens. On peut donc dire que le sens de rotation s'inverse d'une roue à l'autre dans un engrenage.
2. Si les deux roues dentées ne font pas la même taille, la vitesse de rotation de chaque roue sera différente. En effet si la première roue a 6 dents, et la seconde 24 dents, la première effectuera 4 tours alors que la seconde n'en fera qu'un (6 dents* 4 tours= 24 dents). N'oublions pas qu'une roue entraîne l'autre dent à dent.
? Connexion d'un servomoteur à une carte Arduino :
La partie simulation illustrée à la figure 3.6 explique comment commandé un servomoteur en utilisant un capteur ultrason, et à partir de la distance donnée on décide comment varier l’angle du servo.
Le logiciel IDE inclut une Library standard nommé SERVO car le SERVO. est un moteur particulier qui nous donne des angles précis, alors il faux commencer le programme par #include <Servo.h>
Les composants:
1. Arduino.
2. un capteur ultrason.
3. un servomoteur.
4. Virtual terminal pour afficher la distance.
L’organigramme N°4 présente le Changement de l’angle du servomoteur selon les mesures de la distance
8) Partie réalisation :
8.1) Principe :
L’application peut fonctionner soit par des commandes vocales en utilisant un androïde soit elle est autonome.
Mode autonome :
Le déplacement du véhicule est autonome et programmé de telle manière à prendre ses décisions seul ; à partir des valeurs émis par le capteur ultrason lié au servomoteur durant son déplacement, l’arduino réagit suivant la distance détectée par le capteur dans les deux directions (gauche et droite).
Mode Vocale :
Dans cette partie les commandes sont données vocalement à travers une application androïde connecté via un module Bluetooth, lié à l’Arduino.
8.2) Schéma électrique :

8.3) Organigrammes de fonctionnement :
5) Mode Autonome
La sélection des deux modes (Automatique et Vocale) est assurée par un interrupteur. par exemple si l’interrupteur est ouvert on est en mode Vocale, s’il est fermé on est donc en mode Automatique.
Dans notre travail on a remplacé l’interrupteur par une commande vocale comme indique dans l’organigramme N°7.
Conclusion et perspectives :
Le monde Arduino est vraiment intéressant ; la facilité de son langage C simplifié et la diversité des composants utilisés, nous donne un espace de création plus vaste avec une réalisation souple et confortable.
Ce projet est une modélisation pour plusieurs applications, on peut utiliser un autre module avec grande portée au lieu du Bluetooth pour commander le robot à distance, aussi on utilise une caméra série pour suivre le déplacement et la position de l’endroit pour prendre la décision de mouvement, certains logiciels comme Processing et Matlab jouent le rôle de camera, ils nous donnent une image sur laquelle on détecte les obstacles.
L’application androïde AMR_ VOICE utilise le magnétophone (recorde vocale) du Google, alors, la connexion réseau est nécessaire pour communiquer avec notre Bluetooth, sauf que le débit du réseau et l’endroit influent sur la rapidité d’exécution des commandes.
APPINVENTOR est une interface de développement d’application sur Androïd qui va nous permettre de créer notre propre application, donc on peut intégrer le magnétophone du notre Smart Phone au lieu de celle de Google [13]
32
Bibliographie :
? Articles et thèses :
[1] R. Arkin. Behavior-Based Robotics. The MIT Press, 1998.
[4] ES. Boy, CL. Teo, E. Burdet. “Collaborative wheelchair assistant”. Proceedings of the
2002 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS); 2002 [6] J. Bisson, F. Michaud, et D. L¶etourneau. Relative positioning of mobile robots using ultrasounds.
[7] Patel, S., Jung, S.-H., Ostrowski, J. P., Rao, R., & Taylor, C. J. (2002). Sensor based door navigation for a nonholonomic vehicle. In IEEE International Conference on Robotics& Automation, (pp. 3081–3086). Washington, DC.
[8] J. P. Haton, J. M. Pierrel, G. Perennou, J. Caelen, et J. L. Gauvain, "Reconnaissance automatique de la Parole" dunod, 1991.
[11]Fabrice DESCHAMP, « Cours BAC S SI – Convertir L?énergie – Machine à Courant
Continu » Sciences de L?ingénieur, LYCEE JACQUES PREVERT.
[12]Amine AYAD, « Etude et réalisation d?un commande MLI pilotant un hacheur série », Mémoire de Master, Université Abou BekrBelkaid Tlemcen, 2014.
? Site internet

[2 ] (Février 2012) [10 ]
[3
[9]
[13]
41
Caractéristique du L298P :
- courant de sortie de 2.5 (max.) (par canal)
- alimentation externe de 50V (max.)
- les broches utilisées sur une carte Arduino™ UNO peuvent être sélectionnées pour utiliser avec d'autres boucliers empilés. Carte Arduino™ UNO - dimensions: 68 x 53mm [10].
2. Les programmes :
2.1 configuration du Bluetooth HC05 :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(9600);
pinMode(9,OUTPUT); digitalWrite(9,HIGH);
Serial.println("Enter AT commands:");
mySerial.begin(38400);
} void loop()
{
if (mySerial.available())

Serial.write(());
if (Serial.available())
mySerial.write(());
}
2.2 Détection d’obstacle (organigramme N°1) :
const byte TRIGGER_PIN = 13; // Broche TRIGGER const byte ECHO_PIN = 12; // Broche ECHO
const int LED = 3;
/* Constantes pour le timeout */
const unsigned long MEASURE_TIMEOUT = 250000UL; // 25ms = ~8m à
340m
/* Vitesse du son dans l'air en mm/us */
const float SOUND_SPEED = 340.0 / 1000;
void setup() {
/* Initialise le port série */
Serial.begin(9600);
/* Initialise les broches */
pinMode(TRIGGER_PIN, OUTPUT);
digitalWrite(TRIGGER_PIN, LOW); // La broche TRIGGER doit être à LOW au repos
pinMode(ECHO_PIN, INPUT);
pinMode(LED,OUTPUT);
}

void loop() {
/* 1. Lance une mesure de distance en envoyant une impulsion HIGH de 10µs sur la broche TRIGGER */ digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
/* 2. Mesure le temps entre l'envoi de l'impulsion ultrasonique et son écho (si il existe) */
long measure = pulseIn(ECHO_PIN, HIGH, MEASURE_TIMEOUT);//POUR calculer le temp
/* 3. Calcul la distance à partir du temps mesuré */ float distance_mm = measure / 2.0 * SOUND_SPEED;
/* Affiche les résultats en mm, cm et m */
Serial.print(F("Distance: "));
Serial.print(distance_mm);
Serial.print(F("mm ("));
Serial.print(distance_mm / 10.0, 2);
Serial.print(F("cm, "));
Serial.print(distance_mm / 1000.0, 2);
Serial.println(F("m)"));
if (distance_mm<=200 ){
digitalWrite(LED, HIGH);
} else{
digitalWrite(LED, LOW);
}
/* Délai d'attente pour éviter d'afficher trop de résultats à la seconde */ delay(500); }
2.3 Commande des moteurs (organigramme N°3) :

int ENABLE=10;// controle de la vitesse des moteurs int potar=A0; int speed;
int in1=12;// les entrées du int in2=11;//1er moteur int in3=8;//les entrées du int in4=7;//2eme moteur int switch1=13;//on-off du moteur1 int switch2=0;//sense de rotation du moteur1 int switch3=1;//on-off du moteur2 int switch4=2;//sense de rotation du moteur2 int swt1=0; int swt2=0; int swt3=0; int swt4=0; void setup() {
// put your setup code here, to run once:
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT); pinMode(switch1,INPUT); pinMode(in3,OUTPUT); pinMode(in4,OUTPUT); pinMode(switch2,INPUT); pinMode(switch3,INPUT); pinMode(switch4,INPUT);
} void loop() {
// commande du moteur1******************** swt1=digitalRead(switch1); if(swt1==LOW){ digitalWrite(in1,LOW); digitalWrite(in2,LOW); delay(200);
}else{//swt1==HIGH(on passe à l'état du switch2) swt2=digitalRead(switch2); if(swt2==LOW){ digitalWrite(in1,LOW); digitalWrite(in2,HIGH); delay(200);
}else{//swt2==hight(inverce le sense du rotation) digitalWrite(in1,HIGH); digitalWrite(in2,LOW);
delay(200);
} }
//commande du moteur2********************swt1=digitalRead(switch1); swt3=digitalRead(switch3); if(swt3==LOW){ digitalWrite(in3,LOW); digitalWrite(in4,LOW); delay(200);
}else{//swt3==HIGH(on passe à l'état du switch4) swt4=digitalRead(switch4); if(swt4==LOW){ digitalWrite(in3,LOW); digitalWrite(in4,HIGH); delay(200);
}else{//swt2==hight(inverce le sense du rotation) digitalWrite(in3,HIGH); digitalWrite(in4,LOW); delay(200);
} }
// cotrole du vittesse speed=analogRead(potar)/4.0; delay(20);
analogWrite(ENABLE,speed);
}