Université de Gabes
Ecole Nationale d’Ingénieurs de Gabes
Département électrique Automatique
Rapport de projet semestriel
Modélisation et synthése de commande d’un robot
Réalisé par :
Chaani Takwa
Kamoun Miniar
Président : ENIG
Encadrant professionnelle : Mr .Chabir Karim
1
Remerciements
Je tiens tout d'abord à remercier le corps professoral et l'administration du Département de génie
électrique automatique pour la richesse et la qualité de leur enseignement et pour leurs efforts
à offrir aux étudiants une formation actualisée .Je tiens à remercier sincèrement Mrs. Chabir
Karim en tant qu’un encadrant de ce projet, qui a été attentive et serviable tout au long du
processus de réalisation, et son assez bonne inspiration, son aide et son dévouement à mon
égard. Par ailleurs, je tiens à remercier toute l'équipe pédagogique de l'Ecole National des
Ingénieurs de Gabes et les acteurs professionnels responsables de la formation en génie
électrique automatique.
2
Résumé
Le projet vise à concevoir un robot autonome utilisant une carte Arduino, des capteurs à
ultrasons pour éviter les obstacles, ainsi qu'un module Bluetooth et un module de
reconnaissance vocale pour la commande. Les capteurs à ultrasons détectent la proximité des
obstacles et permettent au robot d'ajuster ses déplacements en temps réel. L'Arduino interprète
les signaux des capteurs et contrôle les moteurs du robot pour le déplacer. Le robot peut
également être commandé par Bluetooth via un smartphone ou par des commandes vocales,
offrant ainsi une interaction flexible avec l'utilisateur.
Mots-clés : Carte ARDUINO, capteur ultrasons, module Bluetooth.
3
Sommaire
Remerciement : .................................................................................................................... 2
Résumé: ...................................................................................................................... 3
Sommaire : ................................................................................................................. 4
Liste des figures: ........................................................................................................ 6
Introduction génerale : ............................................................................................. 8
Chapitre 1:Présentation génerale du projet ............................................................ 9
Introduction: .............................................................................................................. 9
Présentation du sujet : ............................................................................................... 9
[Link] du projet : ................................................................................................ 9
[Link] du projet : ............................................................................................... 9
[Link]ématiques : ................................................................................................... 10
[Link] de l’existant : .............................................................................................. 10
Conclusion : .............................................................................................................. 11
Chapitre 2 :Description technique et conception du projet ................................. 11
Introduction : ........................................................................................................... 12
[Link] fonctionnels : ............................................................................................ 12
[Link] du projet : ................................................................................ 12
[Link] du projet : ................................................................................ 13
[Link] utilisées : ....................................................................................... 14
1)Environnement matériel : .................................................................................... 14
a)Carte Arduino Uno : ..................................................................................... 14
b)Capteurs HC-SR04 : ........................................................................................ 15
c)Modules Bluetooth HC-05 : ............................................................................. 15
d)Module de reconnaissance vocale : ................................................................. 15
e)Moteurs CC et driver l293d: ............................................................................ 16
f)Batterie Li-ion 3.7 V : ....................................................................................... 16
g)Châssis 4 roues : ................................................................................................ 16
h)Le servo moteur : .............................................................................................. 17
2)Environnement logiciel : ...................................................................................... 18
[Link] Arduino : ................................................................................................... 18
[Link] mobile Bluetooth : ....................................................................... 18
[Link]èques spécifiques : .............................................................................. 18
4
Conclusion : .............................................................................................................. 18
Chapitre 3:Réalisation et simulation du projet .................................................... 19
Introduction : ........................................................................................................... 19
Fixation et Connexion des Composants du Robot Arduino ................................ 19
1)Fixation des moteurs : ...................................................................................... 19
2)Installation du shield moteur : ........................................................................ 19
3)Passage des câbles : ........................................................................................... 20
4)Connexion des moteurs : .................................................................................. 20
5)Installation du servomoteur et du capteur ultrasonique : ............................ 21
6)Connexion du servomoteur et du capteur ultrasonique au circuit : ............ 22
7)Installation et Connexion du Module Bluetooth :.......................................... 22
8)Fixation et Connexion du Support de Batterie : ............................................ 23
9)Installation des Roues et Mise en Place des Batteries : ................................. 24
10)Développement et Intégration du Programme pour le Robot :.................. 24
11)Activation du Mode Évitement d’Obstacles : .............................................. 25
12)Configuration et Contrôle Bluetooth du Robot Arduino : ......................... 26
13)Configuration et Contrôle Vocal du Robot Arduino : ................................ 26
Conclusion : .............................................................................................................. 28
Conclusion génerale : ............................................................................................. 29
Annexe : .................................................................................................................... 30
5
Liste de figures
Figure 1 : Schéma synoptique
Figure 2 : Organigramme de projet
Figure 3 : Carte Arduino Uno
Figure 4 :Capteur ultrason
Figure 5 : Module Bluetooth
Figure 6: Moteurs CC et driver l293d
Figure 7 : Batterie Li-ion 3.7 V
Figure 8: Châssis 4 roues
Figure 9 : Servo moteur
Figure 10 : Arduino IDE
Figure 11 : Fixation des moteurs
Figure 12 : Installation du shield moteur
Figure 13 : Passage des câbles
Figure 14 : Connexion des moteurs
Figure 15 :Installation du servomoteur et du capteur ultrasonique
Figure 16 : Connexion du servomoteur et du capteur ultrasonique au circuit
Figure 17 : Installation et Connexion du Module Bluetooth
Figure 18 : Fixation et Connexion du Support de Batterie
Figure 19 : Installation des Roues et Mise en Place des Batteries
Figure 20 : Activation du Mode Évitement d’Obstacles
Figure 21 : Configuration et Contrôle Bluetooth du Robot Arduino
Figure 22 : Configuration et Contrôle Vocal du Robot Arduino
6
7
Introduction générale
L'essor des technologies robotiques et de l'intelligence artificielle a ouvert la voie à des
innovations passionnantes dans le domaine de l'automatisation et de l'interaction homme-
machine. Dans ce contexte, la conception d'un robot autonome capable d'effectuer des tâches
variées tout en interagissant avec son environnement représente un défi stimulant et
enrichissant.
Le projet présenté ici consiste en la modélisation et la synthèse de commande d'un robot basé
sur Arduino, doté de la capacité d'éviter les obstacles, d'être contrôlé par commande vocale et
d'utiliser une connexion Bluetooth pour une interaction sans fil. Ce robot est conçu pour
naviguer de manière autonome dans divers environnements, ce qui nécessite une intégration
harmonieuse de plusieurs systèmes : capteurs pour la détection des obstacles, moteurs pour le
mouvement, et modules de communication pour le contrôle.
L'objectif principal de ce projet est de développer un système qui non seulement répond aux
commandes vocales de l'utilisateur, mais qui peut également s'adapter à son environnement en
évitant les obstacles. Cette approche permet d'explorer des concepts avancés en robotique, tels
que la perception sensorielle, la prise de décision en temps réel et l'interaction utilisateur.
.Ce rapport sera présenté en trois chapitres, le premier chapitre sera la présentation du sujet, le
deuxième chapitre dédié pour la description des composants utilisés dans le système et le
troisième chapitre sera consacré à la partie réalisation de projet.
8
Chapitre 1 : Présentation Générale du
Projet
Introduction :
Ce chapitre présente le projet de conception d’un robot à base d’Arduino capable d’éviter les
obstacles, tout en intégrant des fonctionnalités de commande vocale et de contrôle Bluetooth.
Il décrit le contexte et les objectifs du projet, ainsi que les problématiques abordées. Une
analyse des technologies utilisées, telles que les capteurs à ultrason, le module Bluetooth HC-
05, est réalisée. Enfin, un schéma synoptique illustre l’architecture globale du système.
Présentation du sujet :
1. Contexte du projet :
L’essor des technologies embarquées et les besoins croissants en automatisation dans divers
domaines encouragent le développement de solutions innovantes et accessibles. Les robots
mobiles, tels que celui proposé dans ce projet, répondent à ces besoins en offrant une
plateforme polyvalente adaptée à plusieurs applications, allant de l’éducation à l’industrie
légère. Ce projet vise à démontrer la faisabilité d’un robot autonome capable de naviguer en
évitant les obstacles, tout en intégrant des commandes vocales et Bluetooth pour une
interaction utilisateur simplifiée.
2. Objectifs du projet :
Ce projet a pour objectif principal de concevoir un robot intelligent basé sur Arduino, capable
d’éviter les obstacles et de répondre à des commandes vocales ou Bluetooth. Plus
précisément, les objectifs spécifiques sont les suivants :
Conception d’un système d’évitement d’obstacles : Utiliser des capteurs à ultrason
pour détecter et éviter les obstacles en temps réel.
Commande vocale intuitive : Implémenter un module de reconnaissance vocale
permettant de diriger le robot à l’aide d’instructions simples.
Contrôle à distance via Bluetooth : Développer une interface utilisateur mobile
permettant un contrôle fluide et sans fil.
9
Fiabilité et adaptabilité : Assurer une réponse rapide et précise du robot dans divers
environnements.
3. Problématiques :
La réalisation de ce projet soulève plusieurs défis techniques et fonctionnels, notamment :
La précision de la détection et de l’évitement des obstacles dans des environnements
complexes.
La fiabilité de la reconnaissance des commandes vocales dans différents contextes
sonores.
L’optimisation de la communication Bluetooth pour réduire la latence.
4. Etude de l’existant :
Les robots mobiles utilisant des plateformes Arduino sont largement explorés pour leurs
capacités à intégrer diverses fonctionnalités grâce à des modules complémentaires. Voici une
analyse des principales technologies employées dans ce projet :
Capteurs à ultrason HC-SR04 : Couramment utilisés pour la détection d’obstacles,
ces capteurs mesurent les distances avec une précision suffisante pour des applications
robotiques basiques.
Modules Bluetooth HC-05 : Permettent une communication sans fil fiable et
économique avec des appareils mobiles.
Modules de reconnaissance vocale : Bien que limités en vocabulaire, ces modules
offrent une solution simple pour intégrer des commandes vocales dans des systèmes
embarqués.
5. Schéma synoptique du projet :
Un schéma synoptique global est utilisé pour illustrer l’architecture du système,
intégrant les capteurs, la carte Arduino, les modules de commande (Bluetooth et
vocale), ainsi que les actionneurs (moteurs). Ce schéma met en évidence les
interactions entre les différents composants pour assurer le fonctionnement optimal du
robot.
10
Figure 1 : Schéma synoptique
Conclusion :
Dans ce chapitre, j’ai posé les bases essentielles de mon projet, en présentant les objectifs
que j’ai cherché à atteindre ainsi que le contexte ou le milieu de travail dans lequel mon
projet prend place. Ces éléments sont cruciaux pour comprendre la portée et la pertinence
de notre démarche. Au cours du chapitre suivant, j’explorerai en détail la manière dont j’ai
travaillé au sein de ce milieu spécifique pour atteindre mes objectifs
11
Chapitre 2 : Description technique et
conception du projet
Introduction :
Dans ce chapitre, nous décrivons la conception technique du robot Arduino évitant les obstacles
en détaillant les besoins fonctionnels, le fonctionnement global, et les technologies utilisées.
Nous expliquons également les choix des composants matériels et logiciels pour assurer la
performance et l’efficacité du système.
I. Besoins fonctionnels :
Les besoins fonctionnels représentent les actions principales que le robot doit accomplir pour
répondre aux attentes définies :
Évitement d’obstacles : Le robot doit détecter et contourner les obstacles en temps
réel à l'aide des capteurs ultrasoniques.
Commande vocale intuitive : Implémenter un module de reconnaissance vocale
permettant de diriger le robot à l’aide d’instructions simples.
Contrôle à distance via Bluetooth : Développer une interface utilisateur mobile
permettant un contrôle fluide et sans fil.
Navigation fluide : Le robot doit adapter sa vitesse et sa direction pour éviter les
collisions.
Gestion énergétique efficace : Le système doit garantir une utilisation prolongée
grâce à une gestion optimale de la batterie.
II. Fonctionnement du projet :
Le projet se décompose en plusieurs étapes interconnectées :
1. Initialisation : Les modules (capteurs ultrasoniques, Bluetooth, reconnaissance
vocale) sont activés et calibrés.
2. Détection d’obstacles : Les capteurs mesurent en continu les distances avec les objets
devant le robot.
12
3. Prise de décision : En fonction des données, l'Arduino ajuste les moteurs pour éviter
ou contourner les obstacles.
4. Commande utilisateur : Les instructions reçues via Bluetooth ou vocalement sont
interprétées et exécutées.
5. Mouvement : Le robot avance, recule, ou tourne selon les données reçues ou les
commandes utilisateur.
III. Organigramme du projet :
Démarrage
Initialisation du systéme
calibration des modules
Modes de
contrôle
Mode évitement d'obstacles Réception commandes Bluetooth Réception commandes vocales
Interprétation commande
Lecture capteurs ultrasoniques
Execution mouvement
Obstacle
détecté
Calcul de distance
Distance <
seuil
13
Avancer tout droit Arrêt moteurs
Mode évitement d'obstacles
Analyse environnement
Choix direction alternative
Ajustement moteurs
Figure 2 :Organigramme de projet
IV. Technologies utilisées :
1) Environnement matériel :
a) Carte Arduino Uno :
La carte Arduino Uno est le cœur du système, permettant de coordonner les différentes
fonctions du robot. Elle reçoit les données des capteurs, interprète les commandes
utilisateur, et contrôle les moteurs en conséquence. Sa simplicité et sa polyvalence en
font un choix idéal pour ce type de projet.
Figure 3 : Arduino Uno
14
b) Capteurs HC-SR04 :
Ces capteurs à ultrason mesurent la distance entre le robot et les obstacles. Ils
fonctionnent en émettant un signal sonore et en mesurant le temps qu’il met à revenir
après avoir été réfléchi par un obstacle. Cela permet au robot de détecter les objets à
proximité et d’ajuster sa trajectoire en conséquence.
Figure 4 : Capteur Ultrason
c) Modules Bluetooth HC-05 :
Ce module facilite la communication sans fil entre le robot et un appareil mobile. Il
permet d'envoyer des commandes à distance pour diriger le robot. Sa facilité
d’intégration avec l’Arduino et sa portée adéquate en font un composant clé du projet.
Figure 5 : Module Bluetooth
d) Module de reconnaissance vocale :
Ce module interprète les commandes vocales données par l'utilisateur. Il convertit les
signaux audio en instructions compréhensibles par l’Arduino. Cela permet de contrôler
le robot de manière intuitive, sans besoin d’une interface physique.
15
e) Moteurs CC et driver l293d:
Les moteurs CC fournissent le mouvement au robot, tandis que le driver l293d gère
leur vitesse et leur direction. Le driver agit comme une interface entre l’Arduino et les
moteurs, permettant un contrôle précis et efficace.
Figure 6 : Moteurs CC et driver l293d
f) Batterie Li-ion 3.7 V :
Elle alimente le système entier, garantissant une autonomie suffisante pour les tests et
les démonstrations. Sa capacité et sa tension sont adaptées aux besoins des moteurs et
des modules électroniques.
Figure 7 : Batterie Li-ion 3.7 V
g) Châssis 4 roues :
Le châssis sert de structure physique au robot. Il accueille tous les composants
matériels et garantit leur stabilité pendant le mouvement.
16
Figure 8 : Châssis 4 roues
h) Le servo moteur :
Le servo moteur est un composant essentiel du robot, utilisé pour effectuer des
mouvements angulaires précis. Il est particulièrement utile dans des mécanismes
spécifiques tels que l’orientation d’un bras robotisé, le mouvement d’une caméra
embarquée ou tout autre dispositif nécessitant un contrôle fin de l’angle de rotation.
Fonctionnant sur la base d’un signal PWM (modulation de largeur d’impulsion), le
servo moteur permet un positionnement précis dans une plage angulaire définie,
généralement comprise entre 0° et 180°. Dans ce projet, le servo moteur est contrôlé
par la carte Arduino, qui ajuste sa position en fonction des données reçues des capteurs
ou des commandes utilisateur. Par exemple, il peut être programmé pour orienter un
capteur ultrasonique afin de balayer l’environnement du robot et détecter des obstacles
sur un champ de vision élargi. Ce mécanisme améliore significativement la flexibilité
et l'efficacité globale du robot.
Figure 9 : Servo moteur
17
2) Environnement logiciel :
A. IDE Arduino :
L’IDE Arduino est utilisé pour écrire, compiler et télécharger le code sur la carte
Arduino. Il offre une interface conviviale et un large support de bibliothèques,
facilitant l’intégration des capteurs et modules utilisés dans le projet.
Figure 10 : IDE Arduino
B. Application mobile Bluetooth :
Une application mobile permet de contrôler le robot via Bluetooth. Elle offre une
interface simple pour envoyer des commandes, comme avancer, reculer ou tourner,
directement depuis un smartphone.
C. Bibliothèques spécifiques :
Des bibliothèques Arduino spécifiques sont utilisées pour simplifier la programmation
des capteurs et des modules. Par exemple, les bibliothèques pour le HC-SR04
permettent de gérer facilement les mesures de distance, tandis que celles pour le
module Bluetooth facilitent la communication sans fil.
Conclusion :
Ce chapitre a présenté les aspects techniques et la conception du robot Arduino évitant
les obstacles, en mettant en lumière les choix technologiques et les étapes clés de sa
mise en œuvre. L’intégration des capteurs ultrasoniques pour la détection d’obstacles,
du module Bluetooth pour le contrôle à distance, et de la commande vocale offre une
solution performante et polyvalente. Le chapitre suivant se concentrera sur la
réalisation pratique du projet, incluant les tests effectués et les résultats obtenus.
18
Chapitre 3 : Réalisation et Simulation
du projet
Introduction :
Dans ce chapitre, nous avons détaillé la conception et la réalisation d’un robot commandé via
Arduino, intégrant des fonctionnalités de contrôle Bluetooth et vocal. Cela inclut la
configuration matérielle et logicielle du robot, la programmation des fonctionnalités de
contrôle à distance, et l'utilisation d'applications mobiles pour la gestion des commandes.
Enfin, des tests ont été effectués pour valider le fonctionnement global du système.
Fixation et Connexion des Composants du Robot Arduino
1) Fixation des moteurs :
Collez soigneusement les quatre moteurs à engrenages sur une planche en mousse
rigide, qui servira de châssis au robot. Veillez à bien aligner les moteurs pour garantir
un mouvement fluide et équilibré du robot.
Figure 11 : Fixation des moteurs
2) Installation du shield moteur :
Attachez le shield moteur à la carte Arduino en emboîtant les broches
correspondantes. Une fois la connexion établie, fixez l’ensemble (Arduino + shield
moteur) au châssis en mousse à l’aide d’un adhésif robuste. Cela permettra de
stabiliser les composants pendant le fonctionnement du robot.
19
Figure 12 : Installation du shield moteur
3) Passage des câbles :
Creusez soigneusement deux trous symétriques de chaque côté de l’Arduino pour
faciliter le passage des fils des moteurs. Faites passer les câbles des moteurs à travers
ces trous, en veillant à les protéger contre d’éventuelles torsions ou coupures.
Figure 13 : Passage des câbles
4) Connexion des moteurs :
Suivez le schéma de câblage fourni pour connecter les câbles des moteurs au shield
moteur. Assurez-vous de respecter la polarité et de brancher chaque moteur à la borne
appropriée (M1, M2, etc.) pour garantir un mouvement coordonné.
20
Figure 14 : Connexion des moteurs
5) Installation du servomoteur et du capteur ultrasonique :
Le servomoteur est fixé au châssis à un endroit stratégique pour garantir une vue
dégagée pour le capteur ultrasonique. Le capteur est ensuite monté sur le servomoteur,
ce qui lui permet de pivoter à gauche et à droite afin d’évaluer les distances des
obstacles dans différentes directions. Cette configuration augmente la précision du
système d’évitement d’obstacles et améliore la capacité du robot à naviguer dans des
environnements complexes.
21
Figure 15 :Installation du servomoteur et du capteur ultrasonique
6) Connexion du servomoteur et du capteur ultrasonique au circuit :
Le servomoteur et le capteur ultrasonique sont connectés conformément au schéma de
circuit fourni. Le fil de signal du servomoteur est relié à la broche définie du
microcontrôleur pour permettre un contrôle précis de sa rotation. Simultanément, les
fils du capteur ultrasonique – le Trig (déclencheur) et l’Echo (récepteur) – sont
respectivement connectés aux broches configurées comme sortie et entrée sur le
microcontrôleur. Cette étape garantit une communication fluide entre les composants,
permettant au servomoteur de diriger le capteur ultrasonique et au capteur de
transmettre des informations précises sur la distance des obstacles détectés.
Figure 16 : Connexion du servomoteur et du capteur ultrasonique au circuit
7) Installation et Connexion du Module Bluetooth :
Pour intégrer la connectivité Bluetooth au robot, le module Bluetooth est connecté au
shield du moteur selon le schéma électrique fourni. Cette connexion permet au module
de communiquer avec le microcontrôleur pour recevoir et transmettre des instructions.
Une fois la connexion établie, le module Bluetooth est solidement fixé au châssis du
robot à l'aide de colle, garantissant sa stabilité pendant les déplacements. Cette étape est
cruciale pour activer le contrôle à distance du robot via une application mobile ou des
commandes vocales.
22
Figure 17 : Installation et Connexion du Module Bluetooth
8) Fixation et Connexion du Support de Batterie :
Dans cette étape, le support de batterie est solidement fixé au châssis du robot à l'aide
de colle afin de le maintenir en place pendant le fonctionnement du robot. Une fois le
support correctement positionné, les câbles de la batterie sont connectés au shield du
moteur selon les indications du schéma électrique. Cette connexion alimente
l'ensemble des composants électroniques du robot, y compris le microcontrôleur, les
moteurs, le module Bluetooth, et les capteurs. Cette étape garantit une alimentation
stable et efficace pour le bon fonctionnement du robot.
Figure 18 : Fixation et Connexion du Support de Batterie
23
9) Installation des Roues et Mise en Place des Batteries :
Dans cette étape, les roues du robot sont fixées solidement aux axes des moteurs pour
garantir une transmission efficace du mouvement. Une fois les roues en place, les
batteries sont insérées dans le support de batterie précédemment fixé. Cela permet
d'alimenter le système en énergie et de rendre le robot prêt à fonctionner. Cette étape
marque l’achèvement de l’assemblage mécanique et électrique du robot, le préparant
pour les tests et l'exécution des programmes.
Figure 19 : Installation des Roues et Mise en Place des Batteries
10) Développement et Intégration du Programme pour le Robot :
À cette étape, le programme principal du projet est développé pour gérer les
différentes fonctionnalités du robot. Ce code inclut trois fonctions principales :
l’évitement d’obstacles, le contrôle Bluetooth et le contrôle vocal. Ces fonctionnalités
peuvent être exécutées individuellement selon le besoin. Tout d'abord, les
bibliothèques nécessaires, comme `Servo` pour le contrôle du servomoteur et
`AFMotor` pour la gestion des moteurs à courant continu, sont incluses. Ensuite, les
broches du capteur ultrasonique, les paramètres du moteur et la position de départ du
servomoteur sont définis. Plusieurs variables sont également créées pour simplifier la
gestion des données au sein du programme. Des objets sont initialisés pour les
bibliothèques utilisées, notamment pour contrôler les moteurs et le servomoteur. Dans
la fonction `setup`, les broches du capteur ultrasonique sont configurées comme
entrées et sorties, tandis que les vitesses des moteurs sont définies. Cela prépare le
matériel pour l'exécution du programme. La fonction `loop` regroupe les trois modes
de fonctionnement : le contrôle par Bluetooth, l’évitement d’obstacles et le contrôle
24
vocal. Ces modes peuvent être activés individuellement en retirant les commentaires
des fonctions correspondantes dans le code. Les fonctions implémentées permettent
une interaction dynamique avec le robot. Par exemple, le contrôle Bluetooth repose
sur les commandes reçues via une connexion série pour orienter le robot dans
différentes directions. L'évitement d'obstacles utilise des données du capteur
ultrasonique pour détecter et contourner des obstacles en analysant les distances à
gauche et à droite. Enfin, le contrôle vocal permet de commander le robot grâce à des
commandes audio, rendant son utilisation intuitive. L'intégration de ce programme
constitue le cœur du fonctionnement du robot et démontre une synergie entre le
matériel et le logiciel, permettant au robot de fonctionner efficacement dans divers
scénarios.
11) Activation du Mode Évitement d’Obstacles :
Pour activer la fonction d’évitement d’obstacles, plusieurs étapes doivent être suivies.
Tout d’abord, le robot doit être connecté à un ordinateur à l’aide d’un câble USB.
Ensuite, dans le programme, les deux barres obliques (//) placées devant l’appel de la
fonction `Obstacle()` dans la boucle principale (`loop`) doivent être supprimées pour
activer cette fonctionnalité. Une fois cette modification effectuée, les fils des broches
RX et TX connectés au module Bluetooth doivent être temporairement débranchés.
Cette étape est essentielle pour éviter des interférences lors du téléversement du
programme sur la carte microcontrôleur. Après avoir sélectionné la carte et le port
appropriés dans l’environnement de développement, le code modifié est téléversé dans
le robot. Une fois l’opération terminée, les fils RX et TX doivent être reconnectés pour
permettre à toutes les fonctionnalités de s’exécuter correctement. Cette procédure
configure le robot pour qu'il utilise son capteur ultrasonique afin de détecter et d’éviter
les obstacles, démontrant ainsi ses capacités autonomes de navigation intelligente.
25
Figure 20 : Activation du Mode Évitement d’Obstacles
12) Configuration et Contrôle Bluetooth du Robot Arduino :
Pour commencer, connectez le robot à votre ordinateur via le port USB et modifiez le code en
supprimant les barres obliques (//) devant la fonction "Bluetooth control", ce qui activera la
fonctionnalité Bluetooth. Ensuite, déconnectez les fils RX et TX du module Bluetooth pour
programmer le robot. Une fois le code modifié, sélectionnez la carte et le port dans l'IDE
Arduino, puis téléversez le programme sur le robot. Après cela, reconnectez les fils RX et TX
au module Bluetooth. Téléchargez et installez l'application de contrôle Bluetooth
recommandée, ouvrez-la, accédez aux paramètres et appuyez sur "Connect to Car" pour
sélectionner le nom de votre module Bluetooth. Si tout est correctement configuré, une lampe
verte indiquera une connexion réussie, permettant ainsi de contrôler le robot à distance.
26
Figure 21 : Configuration et Contrôle Bluetooth du Robot Arduino
13) Configuration et Contrôle Vocal du Robot Arduino :
Pour activer le contrôle vocal, commencez par connecter votre robot à l'ordinateur via le port
USB. Ensuite, modifiez le code en supprimant les barres obliques (//) devant la fonction
"voicecontrol" afin d'activer cette fonctionnalité. Déconnectez ensuite les fils RX et TX du
module Bluetooth pour permettre le téléversement. Sélectionnez la carte et le port appropriés
dans l'IDE Arduino, puis téléversez le code sur le robot. Une fois l'opération terminée,
reconnectez les fils RX et TX au module Bluetooth. Téléchargez et installez l'application de
contrôle vocal recommandée, ouvrez-la et accédez aux paramètres. Cliquez sur "Voice
Commands Configuration" pour inclure les commandes vocales une par une, conformément
aux instructions. Enfin, appuyez sur le bouton "Voice Control" pour activer le contrôle vocal
et commencer à utiliser les commandes configurées.
27
Figure 22 : Configuration et Contrôle Vocal du Robot Arduino
Conclusion :
Ce chapitre a présenté la réalisation d’un robot Arduino avec des fonctionnalités avancées de
contrôle Bluetooth et vocal. La configuration des modules, l’intégration avec des applications
mobiles et les tests réalisés ont confirmé la capacité du robot à répondre de manière fiable aux
commandes à distance. Ces fonctionnalités permettent une interaction intuitive, ouvrant la
voie à des applications variées telles que l’éducation, l’automatisation et la robotique
personnelle. Des perspectives d'amélioration incluent l'ajout de capteurs supplémentaires pour
accroître l’autonomie et les capacités du robot.
28
Conclusion générale
Ce rapport a permis de concevoir, réaliser et évaluer un robot Arduino, intégrant des
fonctionnalités de contrôle à distance via Bluetooth et commande vocale. En suivant une
méthodologie structurée, nous avons abordé les différentes étapes clés du projet : depuis la
définition des objectifs et des contraintes jusqu’à la mise en œuvre technique et la validation
fonctionnelle du système. L’utilisation d’Arduino comme plateforme principale a offert une
flexibilité et une accessibilité remarquables, tandis que l’intégration de modules Bluetooth et
vocaux a permis d’enrichir l’interactivité et les fonctionnalités du robot. Les tests effectués
ont confirmé la fiabilité et la robustesse du système, bien que certaines limites, comme
l’optimisation de l’autonomie ou l’amélioration des capacités de reconnaissance vocale,
demeurent à explorer. Les résultats obtenus et les axes d’amélioration identifiés soulignent le
potentiel d’un tel robot dans des applications variées, allant de l’éducation à la domotique et à
la robotique personnelle. Ce travail constitue une base solide pour de futurs développements,
visant à enrichir encore davantage les capacités et l’utilité du système.
29
Annexe
/*obstacle avoiding, Bluetooth control, voice control robot car.
Home Page
*/
#include <Servo.h>
#include <AFMotor.h>
#define Echo A0
#define Trig A1
#define motor 10
#define Speed 170
#define spoint 103
char value;
int distance;
int Left;
int Right;
int L = 0;
int R = 0;
int L1 = 0;
int R1 = 0;
Servo servo;
AF_DCMotor M1(1);
AF_DCMotor M2(2);
AF_DCMotor M3(3);
AF_DCMotor M4(4);
void setup() {
[Link](9600);
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
[Link](motor);
[Link](Speed);
[Link](Speed);
[Link](Speed);
[Link](Speed);
}
void loop() {
//Obstacle();
//Bluetoothcontrol();
//voicecontrol();
}
void Bluetoothcontrol() {
if ([Link]() > 0) {
value = [Link]();
[Link](value);
}
if (value == 'F') {
forward();
} else if (value == 'B') {
backward();
} else if (value == 'L') {
left();
} else if (value == 'R') {
right();
} else if (value == 'S') {
Stop();
30
}
}
void Obstacle() {
distance = ultrasonic();
if (distance <= 12) {
Stop();
backward();
delay(100);
Stop();
L = leftsee();
[Link](spoint);
delay(800);
R = rightsee();
[Link](spoint);
if (L < R) {
right();
delay(500);
Stop();
delay(200);
} else if (L > R) {
left();
delay(500);
Stop();
delay(200);
}
} else {
forward();
}
}
void voicecontrol() {
if ([Link]() > 0) {
value = [Link]();
[Link](value);
if (value == '^') {
forward();
} else if (value == '-') {
backward();
} else if (value == '<') {
L = leftsee();
[Link](spoint);
if (L >= 10 ) {
left();
delay(500);
Stop();
} else if (L < 10) {
Stop();
}
} else if (value == '>') {
R = rightsee();
[Link](spoint);
if (R >= 10 ) {
right();
delay(500);
Stop();
} else if (R < 10) {
Stop();
}
} else if (value == '*') {
Stop();
}
31
}
}
// Ultrasonic sensor distance reading function
int ultrasonic() {
digitalWrite(Trig, LOW);
delayMicroseconds(4);
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
long t = pulseIn(Echo, HIGH);
long cm = t / 29 / 2; //time convert distance
return cm;
}
void forward() {
[Link](FORWARD);
[Link](FORWARD);
[Link](FORWARD);
[Link](FORWARD);
}
void backward() {
[Link](BACKWARD);
[Link](BACKWARD);
[Link](BACKWARD);
[Link](BACKWARD);
}
void right() {
[Link](BACKWARD);
[Link](BACKWARD);
[Link](FORWARD);
[Link](FORWARD);
}
void left() {
[Link](FORWARD);
[Link](FORWARD);
[Link](BACKWARD);
[Link](BACKWARD);
}
void Stop() {
[Link](RELEASE);
[Link](RELEASE);
[Link](RELEASE);
[Link](RELEASE);
}
int rightsee() {
[Link](20);
delay(800);
Left = ultrasonic();
return Left;
}
int leftsee() {
[Link](180);
delay(800);
Right = ultrasonic();
return Right;
}
32