Vous êtes sur la page 1sur 43

République Algérienne Démocratique et Populaire

Ministère de l'Enseignement Supérieur et de la Recherche Scientifique

Université
ABOU BEKR BEIKAID
TLEMCEN

Faculté de Technologie
Département de Génie Electrique et Electronique

MEMOIRE
Présenté par :

CHIALI Sidi Mohammed El Amine


En vue de l’obtention du diplôme de Licence

En Automatique

CSMA CAR

Soutenu le 24 juillet 2019, devant le jury :

Mme. BENALLEL Encadrant


Mme. KHEDIM Encadrant
Mme. HANDOUZI Examinatrice
DÉDICACE

Un grand remerciement pour mes chers parents qui m'ont aidé à devenir ce
que je suis maintenant, je n’oublierai jamais leur sacrifice et leur soutient .

Pour mes frères hassane et houçine qui ont toujours apporté de la joie et de la
tendresse.

Pour toute ma famille sans exception.

A tous mes amis de l’exterieur et interieur de la faculté specialement ma


promo L3 AUTO, je ne les oublierais jamais surtout les gens qui m’ont
soutenu.

A ma famille CHIALI et BOUHAIK.

A tous ceux qui ont contribué de près ou de loin à la réalisation de ce travail,


qu’ils trouvent ici mes sincères reconnaissances et gratitudes.

Amine CHIALI
REMERCIEMENTS

Tout d'abord, je remercie Dieu le tout puissant qui m'a donné le courage et
la volonté pour atteindre mon objectif.

Je remercie vivement, mes encadreurs Mr. BENSALAH, Mme.


BENALLEL et Mme. KHEDIM de m'avoir pris en charges et pour leurs
disponibilités, leurs aides et leurs précieux conseils.

Je tiens à remercier Mme. CHOUKCHOU BRAHAM, de m'avoir aidé et


pour l'expérience dont elle a pu me faire part.

Je remercie l'ensemble des examinateurs pour avoir accepté d'examiner ce


travail et pour leurs participations au jury.

Je tiens à adresser mes sincères remerciements à tous les enseignants du


département GEE.
RÉSUMÉ

Mon projet est une plateforme mobile miniaturisée qui combine trois
modes de fonctionnement. Mode manuel, mode automatique et
mode mouvement.
Ce projet est basé sur une manette PS3 qui envoie des instructions a
une carte ARDUINO via BLUETOOTH. Cette carte contrôle quatre
moteurs, trois SERVOS, trois ultrasons, quatre LED et un BUZZER.

ABSTRACT

My project is a miniaturized mobile platform that combines three


modes of operation. Manual mode, automatic mode and motion
mode.
This project is based on a PS3 controller that sends instructions to an
ARDUINO card via BLUETOOTH. This board controls four motors,
three SERVOS, three ultrasounds, four LED and a BUZZER.
SOMMAIRE

DEDICACE.................................................................................................................
REMERCIEMENTS ................................................................................................
RESUME .....................................................................................................................
SOMMAIRE ............................................................................................................. i
TABLE DES FIGURES ...................................................................................... iv
INTRODUCTION ................................................................................................. 1
CHAPITRE 1 : ARDUINO MEGA, USB HOST SHIELD ......................... 2
1.1 Partie1 : ARDUINO MEGA ............................................................... 2
1.1.1 Introduction : .............................................................................. 2
1.1.2 Composition d'une carte arduino : .......................................... 4
-La programmation : ................................................................... 4
-La mémoire : ................................................................................ 4
-Les entrées et sorties : ............................................................... 4
-La communication : .................................................................... 5
1.1.3 Fonctions et bibliothèques : ..................................................... 6
-Les fonctions :.............................................................................. 6
-Les variables : .............................................................................. 8
-Bibliothèques : ........................................................................... 10
1.2 Partie2 : USB HOST SHIELD .......................................................... 11
1.2.1 Introduction : ............................................................................ 11
1.2.2 Spécifications du shield : ......................................................... 11
-Bibliothèque adéquate :............................................................ 11
-Alimentation : ............................................................................ 12
-Entrées sorties : ........................................................................ 12
i
1.2.3 Appareils prises en charge :.................................................... 12
1.2.4 Conclusion : ............................................................................... 13
CHAPITRE 2 : CAPTEURS, ACTIONNEURS, INDICATEURS ET
CONTRÔLEUR.................................................................................................... 14
2.1 Partie1 : CAPTEURS .......................................................................... 14
2.1.1 Introduction : ............................................................................ 14
2.1.2 ULTRASON HC-SR04 : ........................................................ 14
2.2 Partie2 : ACTIONNEURS ................................................................. 16
2.2.1 Introduction : ............................................................................ 16
2.2.2 Moteur à courant continu :..................................................... 16
2.2.3 Servomoteur : ............................................................................ 19
2.3 Partie3 : INDICATEURS .................................................................. 22
2.3.1 Introduction : ............................................................................ 22
2.3.2 Led : ............................................................................................. 22
2.3.3 Buzzer actif : .............................................................................. 23
2.4 Partie4 : CONTRÔLEUR .................................................................. 24
2.4.1 Introduction : ............................................................................ 24
2.4.2 Manette PS3 Sixaxis : ............................................................. 24
2.4.3 Dongle bluetooth : ................................................................... 25
2.4.4 Conclusion : ............................................................................... 25
CHAPITRE 3 : CSMA CAR............................................................................... 26
3.1 Partie1 : CONCEPT ............................................................................ 26
3.1.1 Introduction : ............................................................................ 26
3.1.2 Mode manuel :........................................................................... 26
3.1.3 Mode automatique : ................................................................. 27
3.1.4 Mode mouvement : .................................................................. 28
3.2 Partie2 : CIRCUIT ÉLECTRIQUE ................................................ 28
3.2.1 Introduction : ............................................................................ 28

ii
3.2.2 Fritzing : .................................................................................... 28
3.2.3 Schémas électrique : ................................................................. 29
3.3 Partie3 : PROBLÈMES RENCONTRÉS ET SOLUTIONS
PROPOSÉS ............................................................................................................ 30
3.3.1 Problème de poids : .................................................................. 30
3.3.2 Problème d'autonomie des batteries :................................... 30
3.3.3 Problème de portée de la manette : ...................................... 30
3.3.4 Problème de multitâches en temps réel : ............................. 30
CONCLUSION GENERALE ............................................................................ 32
BIBLIOGRAPHIE................................................................................................ 33

iii
TABLE DES FIGURES

Figure 1.1 Carte arduino MEGA........................................................................ 2


Figure 1.2 Usb host shield arduino .................................................................. 11
Figure 2.1 Module Ultrason HC-SR04 ........................................................... 14
Figure 2.2 Montage électrique d’un module ultrason .................................. 16
Figure 2.3 Moteur à courant continu............................................................... 16
Figure 2.4 L298 Pont H double ........................................................................ 17
Figure 2.5 Circuit d’un pont en h simple......................................................... 18
Figure 2.6 Montage d’un pont en h double avec deux moteurs ................. 19
Figure 2.7 Servomoteur MG 996 180° ............................................................ 19
Figure 2.8 Mini servomoteur SG 90 180° ...................................................... 20
Figure 2.9 Montage d’un servomoteur avec Arduino .................................. 22
Figure 2.10 LED .................................................................................................. 22
Figure 2.11 Montage LED................................................................................. 23
Figure 2.12 Buzzer............................................................................................... 23
Figure 2.13 Montage Buzzer ............................................................................. 24
Figure 2.14 Manette PS3 Sixaxis ..................................................................... 24
Figure 2.15 Dongle bluetooth ........................................................................... 25
Figure 3.1 Schéma électrique du projet ........................................................... 29
Figure 3.2 CSMA CAR ....................................................................................... 31

iv
INTRODUCTION

Tous les jours dans notre environnement, nous sommes


constamment entourés d’automobiles. Dans notre société actuelle,
nous ne pourrions plus nous en passer. Depuis 1903 jusqu’à nos jour,
l’automobile n’a cessé d’évoluer en fonction de nos besoins, pour nous
rendre nos déplacements de plus en plus aisé et plus sécuritaire. Cette
voiture nous a aussi fortement influencés au niveau psychologique.
Nous développons certains comportements que nous avons
uniquement lors de notre conduite.

Autour des années 1970, Plusieurs types de voitures avaient été


réalisées, mais l'évolution rapide des technologies liées aux capteurs, à
la télématique et à la puissance intrinsèque des processeurs
numériques, ont finalement abouti à des résultats probants et assez
nombreux.

En 1977 le Laboratoire de robotique de TSUKUBA au Japon fit


fonctionner une automobile automatique sur un circuit dédié. Le suivi
de trajectoire était réalisé par reconnaissance du marquage au sol et
la vitesse de 30 km/h était atteinte.

Toutes ces réalisations m'ont donné envie de me baser sur


l'automobile, j'ai donc décidé de créer une plateforme mobile
miniaturisé qui contient des moteurs, des capteurs et des voyants, tous
ces composants sont reliés à un microcontrôleur.

1
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

CHAPITRE 1
ARDUINO MEGA, USB HOST SHIELD

1.1 Partie1 : ARDUINO MEGA

Figure 1.1 Carte arduino MEGA

1.1.1 Introduction :
Au début j'ai eu un conflit entre l'utilisation d'un Raspberry ou bien d'un
arduino et je me suis posée la question, quel est le meilleur cerveau qui peut
réaliser mes tâches souhaitées d'une façon plus simple ?
La réponse était un arduino de type mega.
-c'est quoi une carte arduino ?
Le système Arduino est conçu d’une plateforme Open Source installée sur
une carte programmée à microcontroleur AVR permettant l’écriture, la
compilation et le test d’un programme. Les cartes et modules Arduino sont

2
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

conçus avec des entrées/sorties qui reçoivent des signaux de capteurs ou


interrupteurs qui peuvent eux-mêmes commander des moteurs et éclairages par
exemple.
Les programmes Arduino sont commandés via un PC ou peuvent, si vous le
souhaitez, être autonomes. Le logiciel de développement d’Arduino qui est
Open-Source et Open-Hardware, est téléchargeable gratuitement depuis le site
www.arduino.org. La programmation Arduino contient un langage
d’implémentation Wiring. La plateforme de développement est fondée sur
sphère multimédia de programmation Processing.

-Pourquoi Arduino est-il autant populaire ?


Arduino est Open Source et Open Hardware. Vous pouvez utiliser le
schémas d’origine et le modifier pour produire la carte et la vendre sans avoir à
payer des droits d’auteur.
Les tarifs appliqués par Arduino sont extrêmement abordables. Le schéma
étant en libre accès, différentes entreprises produisent les cartes. Les cartes
produites par les autres industries respectent le schéma original et les
composants d’Arduino. Les prix tournent autour de 20 à 25 euros la carte. Pour
celles qui ne respectent pas les composants d’origines et préfèrent utiliser des
composants à bas coût et de moindre qualité, le prix de la carte avoisine alors
les 10euros. Il est tout de même conseillé d’utiliser une carte Arduino officielle
afin d’éviter les mauvaises surprises et la perte de temps.
Les échanges au sein de la communauté Arduino sont très nombreux. Il
existe maintes forums et documentations consultables en ligne afin de pouvoir
surmonter les difficultés rencontrées.
Afin de programmer une carte Arduino, il faut la connecter à votre
ordinateur puis utiliser le logiciel Arduino (IDE) vous permettant de programmer
votre carte. L’IDE est disponible sur Windows, Mac OSX et Linux.
Conçu pour des débutant, Arduino est très instinctif et vous donnera le
goût à la programmation, il est d’ailleurs très facile de débuter sur Arduino.
Arduino a mis en place des Shields, c’est à dire des cartes supplémentaires
qui peuvent se connecter directement sur la carte principale afin d’augmenter
ses possibilités.
Votre imagination n’a plus de limite, Arduino est capable de tout réaliser.

3
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

1.1.2 Composition d'une carte arduino :


-La programmation :
La carte Mega 2560 peut être programmée avec le logiciel Arduino
(IDE) .

L'ATmega2560 du Mega 2560 est préprogrammé avec un chargeur


de démarrage qui vous permet de télécharger du nouveau code sans
l'aide d'un programmateur matériel externe. Il communique à l'aide du
protocole STK500 d'origine ( référence , fichiers d'en-tête C ).

Vous pouvez également contourner le chargeur de démarrage et


programmer le microcontrôleur via l'en-tête ICSP (Programmation série
en circuit) à l'aide d'Arduino ISP ou similaire.

-La mémoire:
L'ATmega2560 dispose de 256 Ko de mémoire flash pour stocker le
code (dont 8 Ko sont utilisés pour le chargeur de démarrage), 8 Ko de
SRAM et 4 Ko d'EEPROM (pouvant être lus et écrits avec la bibliothèque
EEPROM ).

-Les entrées et sorties:


Chacune des 54 broches numériques du Mega peut être utilisée
comme entrée ou sortie à l’aide des fonctions pinMode () , digitalWrite
() et digitalRead () . Ils fonctionnent à 5 volts. Chaque broche peut
fournir ou recevoir 20 mA dans les conditions de fonctionnement
recommandées et possède une résistance de tirage interne (déconnectée
par défaut) de 20 à 50 kohm. Un maximum de 40 mA est la valeur à ne
pas dépasser pour éviter des dommages irréversibles au microcontrôleur.

De plus, certaines pins ont des fonctions spécialisées:

 Serial: 0 (RX) et 1 (TX); Serial 1: 19 (RX) et 18 (TX); Serial 2: 17 (RX) et 16


(TX); Serial 3: 15 (RX) et 14 (TX). Utilisé pour recevoir (RX) et transmettre
(TX) des données série TTL. Les broches 0 et 1 sont également connectées
aux broches correspondantes de la puce série USB-to-TTL ATmega16U2.
 Interruptions externes: 2 (interruption 0), 3 (interruption 1), 18
(interruption 5), 19 (interruption 4), 20 (interruption 3) et 21

4
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

(interruption 2). Ces broches peuvent être configurées pour déclencher


une interruption à un niveau bas, un front montant ou descendant ou un
changement de niveau.
 PWM: 2 à 13 et 44 à 46. Fournissez une sortie PWM 8 bits avec la
fonction analogWrite () .
 SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Ces broches prennent en
charge la communication SPI à l'aide de la bibliothèque SPI . Les broches
SPI se trouvent également sur l’en-tête ICSP, qui est physiquement
compatible avec les cartes Arduino / Genuino Uno et les anciennes cartes
Duemilanove et Diecimila Arduino.
 DEL: 13. Une LED intégrée est connectée à la broche numérique 13.
Lorsque la broche a une valeur HIGH, la LED est allumée, lorsque la broche
est BAS, elle est éteinte.
 TWI: 20 (SDA) et 21 (SCL). Prise en charge de la communication TWI à
l'aide de la bibliothèque Wire Le Mega 2560 possède 16 entrées
analogiques, chacune offrant une résolution de 10 bits (soit 1024 valeurs
différentes). Par défaut, ils mesurent de la terre à 5 volts, mais il est
possible de changer l'extrémité supérieure de leur plage en utilisant la
broche AREF et la fonction analogReference () .

 AREF. Tension de référence pour les entrées analogiques. Utilisé avec


analogReference ().
 Réinitialiser. Apportez cette ligne LOW pour réinitialiser le
microcontrôleur. Généralement utilisé pour ajouter un bouton de
réinitialisation aux boucliers qui bloque.

-la communication:
La carte Mega 2560 dispose d’un certain nombre d’installations
permettant de communiquer avec un ordinateur, une autre carte ou
d’autres microcontrôleurs. L'ATmega2560 fournit quatre UART matériels
pour la communication série TTL (5V). Un ATmega16U2 (ATmega 8U2 sur
les cartes révision 1 et révision 2) de la carte canalise l’un d’eux via USB
et fournit un port de communication virtuel aux logiciels de l’ordinateur
(les machines Windows auront besoin d’un fichier .inf, mais les machines
OSX et Linux reconnaît automatiquement la carte en tant que port COM.
Le logiciel Arduino (IDE) comprend un moniteur série qui permet
d’envoyer des données textuelles simples vers et depuis la carte. Les
5
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

voyants RX et TX de la carte clignotent lors de la transmission de données


via le Puce ATmega8U2 / ATmega16U2 et connexion USB à l’ordinateur
« mais pas pour la communication série sur les broches 0 et
1 ». Une bibliothèque SoftwareSerial permet la communication série sur n’importe
laquelle des broches numériques du Mega 2560.

Le Mega 2560 prend également en charge les communications TWI


et SPI. Le logiciel Arduino (IDE) comprend une bibliothèque Wire pour
simplifier l’utilisation du bus TWI. Pour la communication SPI, utilisez
la bibliothèque SPI .

1.1.3 Fonctions, Variables et bibliothèques :


-Les fonctions :
Les fonctions servent à contrôler la carte Arduino et effectuer des
calculs.

Voici quelques fonctions que j'ai utilisé dans mon projet :

digitalRead ()

La description : Lit la valeur à partir d'une broche numérique spécifiée,


HIGH ou LOW .

Syntaxe : digitalRead(pin)

Paramètres : pin : le numéro de broche Arduino que vous voulez lire.

digitalWrite ()

La description : Écrivez une HIGH ou une LOW valeur sur une broche
numérique.

Si la broche a été configurée OUTPUT avec un pinMode(), sa tension


sera réglée sur la valeur correspondante: 5V (ou 3,3V sur les cartes 3,3V)
pour HIGH, 0V (masse) pour LOW.

Si la broche est configurée en tant que INPUT, digitalWrite() activera (


HIGH) ou désactivera ( LOW) le pullup interne sur la broche d'entrée. Il
est recommandé de régler le pinMode() pour INPUT_PULLUP pour
activer la résistance de tirage interne. Reportez-vous au didacticiel
Digital Pins pour plus d'informations.
6
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

Si vous ne définissez pas le et pinMode()sur OUTPUT, et connectez une


LED à une broche, lors de l'appel digitalWrite(HIGH), la LED peut
apparaître estompée. Sans réglage explicite pinMode(),
digitalWrite()aura activé la résistance de tirage interne, qui agit comme
une grande résistance de limitation de courant.

Syntaxe : digitalWrite(pin, valeur)

Paramètres : pin : le numéro de code Arduino.

valeur: HIGH Ou LOW.

pinMode ()

La description : Configure la broche spécifiée pour qu'elle se comporte


comme une entrée ou une sortie.

Il est possible d'activer les résistances de rappel internes avec le mode


INPUT_PULLUP. De plus, le INPUTmode désactive explicitement les
tractions internes.

Syntaxe : pinMode(pin, mode)

Paramètres : pin: le numéro de broche Arduino pour définir le mode.

mode: INPUT, OUTPUT Ou INPUT_PULLUP.

analogRead ()

La description : Lit la valeur de la broche analogique spécifiée. Les


cartes Arduino contiennent un convertisseur analogique-numérique 10
bits multicanal. Cela signifie qu'il mappera les tensions d'entrée
comprises entre 0 et la tension de fonctionnement (5V ou 3.3V) en
valeurs entières comprises entre 0 et 1023. Sur un Arduino UNO, par
exemple, cela donne une résolution entre: 5 volts / 1024 unités ou,
0,0049 volts (4,9 mV) par unité.

Syntaxe : analogRead(pin)

Paramètres : pin: nom de la broche d'entrée analogique à lire (A0 à A5


sur la plupart des cartes, A0 à A6 sur les cartes MKR, A0 à A7 sur les
Mini et Nano, A0 à A15 sur les Mega).

7
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

analogWrite ()

La description : Écrit une valeur analogique (onde PWM) sur une broche.
Peut être utilisé pour allumer une LED à différentes intensités ou pour
faire tourner un moteur à différentes vitesses. Après un appel à
analogWrite(), la broche générera une onde rectangulaire régulière du
cycle de service spécifié jusqu'au prochain appel analogWrite()(ou appel
à digitalRead()ou digitalWrite()) sur la même broche.

Syntaxe : analogWrite(pin, valeur)

Paramètres : pin: la broche Arduino à écrire

valeur: le cycle de travail: entre 0 (toujours éteint) et 255


(toujours allumé). Autorisé types de données: int.

delay()

La description : Met le programme en pause pendant la durée (en


millisecondes) spécifiée en tant que paramètre. (Il y a 1000
millisecondes dans une seconde.)

Syntaxe : delay(ms)

Paramètres : ms : le nombre de millisecondes à mettre en pause.


Autorisé types de données: unsigned long.

millis ()

La description : Renvoie le nombre de millisecondes écoulées depuis


que la carte Arduino a commencé à exécuter le programme actuel. Ce
nombre débordera (reviendra à zéro) après environ 50 jours.

Syntaxe : time = millis()

Paramètres : Aucun.

-Les variables :
Les variables sont les types de données et constantes sur arduino.

8
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

Voici quelques variables que j'ai utilisé dans mon projet :

int ()

La description : Convertit une valeur en int type de données.

Syntaxe : int(x)

Paramètres : x : une valeur. Types de données autorisés: n'importe quel


type.

long()

La description : Convertit une valeur en longtype de données.

Syntaxe : long(x)

Paramètres : x : une valeur. Types de données autorisés: n'importe quel


type.

const

La description : Le const mot clé signifie constante. C'est un qualificatif


de variable qui modifie le comportement de la variable, rendant une
variable "en lecture seule ". Cela signifie que la variable peut être
utilisée comme n'importe quelle autre variable de son type, mais que sa
valeur ne peut pas être modifiée. Vous obtiendrez une erreur du
compilateur si vous essayez d'affecter une valeur à une constvariable.

bool

La description : Le type bool détient l'une des deux valeurs, true ou


false. (Chaque bool variable occupe un octet de mémoire)

Syntaxe : bool var = val;

Paramètres : var: Nom de variable.

val: la valeur à affecter à cette variable.

9
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

- Bibliothèques :
L'environnement Arduino peut être étendu à l'aide de bibliothèques,
comme la plupart des plates-formes de programmation. Les bibliothèques
fournissent des fonctionnalités supplémentaires à utiliser dans les
esquisses, par exemple travailler avec du matériel ou manipuler des
données.

Pour ma part j'ai utilisé ces bibliothèques : PS3BT.h / usbhub.h /


Servo.h / spi4teensy3.h / SPI.h / NewPing.h

10
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

1.2 Partie2 : USB HOST SHIELD

Figure 1.2 Usb host shield arduino

1.2.1 Introduction :
Le bouclier hôte USB Arduino vous permet de connecter un périphérique
USB à votre carte Arduino. Il est basé sur le MAX3421E, qui est un contrôleur de
périphérique hôte USB contenant la logique numérique et les circuits
analogiques nécessaires pour mettre en œuvre un périphérique USB à vitesse
maximale ou un hôte à vitesse complète. Le bouclier est compatible avec
TinkerKit, ce qui signifie que vous pouvez créer rapidement des projets en
branchant les modules TinkerKit sur la carte.

1.2.2 Spécifications du shield :

Bibliothèque adéquate :
Le bouclier hôte USB Arduino peut être utilisé avec la Bibliothèque hôte USB
pour Arduino hébergée par Oleg Mazurov et Alexei Glushchenko , Kristian
Lauszus et Andrew Kroll .

11
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

Alimentation :
Le bouclier hôte USB Arduino n’a pas de prise d’alimentation et n’est
alimenté que s’il est connecté à une carte Arduino.

Entrées sorties :
Ce bouclier a un réceptacle USB de type A où vous pouvez connecter votre
périphérique USB. Le bouclier comporte plusieurs interfaces d'entrée / sortie et
de communication TinkerKit. La connexion de modules TinkerKit peut simplifier
la création d’un projet ou d’un prototype.
Les connecteurs intégrés sont:
-2 entrées TinkerKit: IN2 et IN3 (en blanc), ces connecteurs sont routés vers les
broches d’entrée analogiques Arduino A2 et A3.
-2 sorties TinkerKit: OUT5 et OUT6 (en orange), ces connecteurs sont routés vers
les sorties Arduino PWM sur les broches 5 et 6.
-2 TinkerKit TWI: ces connecteurs (4 broches en blanc) sont routés sur l’interface
Arduino TWI. Les deux se connectent à la même interface TWI pour vous
permettre de créer une chaîne de périphériques TWI.

1.2.3 Appareils prises en charge :


Les classes d'appareils suivantes sont prises en charge par ce bouclier :
Dispositifs HID : claviers, souris, manettes de jeu, etc.
Manettes de jeu : Sony PS3, Nintendo Wii, Xbox360.
Convertisseurs USB à série : FTDI, PL-2303, ACM, ainsi que certains téléphones
portables et récepteurs GPS.
Tablettes et téléphones Android compatibles ADK.
Appareils photo numériques : Canon EOS, Powershot, DSLR Nikon et P & S, ainsi
que PTP générique.
Périphériques de stockage de masse : clés USB, lecteurs de cartes mémoire,
disques durs externes, etc.
Dongles Bluetooth.
Pour mon projet j'ai utilisé une manette PS3 + Dongle Bluetooth.

12
CSMA CHAPITRE 1 : ARDUINO MEGA, USB
HOST SHIELD

1.2.4 Conclusion :
La partie cerveau de mon projet a pris forme, Il me reste plus qu'à ajouter
des actionneurs et des capteurs, ce que nous allons voir sur le chapitre suivant.
Pour l'information, je pouvais utiliser un arduino MEGA ADK directement au-
lieu d'un arduino mega + usb host shield, malheureusement, je n’avais pas ce
composant.

13
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

CHAPITRE 2
CAPTEURS, ACTIONNEURS,
INDICATEURS ET CONTRÔLEUR

2.1 Partie1 : CAPTEURS


2.1.1 Introduction :
Un capteur est un dispositif permettant de capter un phénomène physique
et de le restituer sous forme de signal.
Sachant que mon projet comprend 3 modes de fonctionnement : Mode
Automatique, Mode Manuel et Mode Mouvement.
Quel est le composant adéquat qui va capter les objets pour ma partie
régulation ?
La réponse était sans doute un capteur à ultrason.

2.1.2 ULTRASON HC-SR04 :

Figure 2.1 Module Ultrason HC-SR04

14
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Le HC-SR04 est un module ultrason permettant l'évaluation d'une distance


de 2cm à 400cm. La mesure est réalisée "sans contact" et dispose d'une précision
de 3mm dans les conditions optimales. Le module inclus un émetteur et un
récepteur ultrason ainsi qu'une électronique de contrôle. Le fonctionnement de
ce module s'apparente à celui d'un sonar de sous-marin et sa mise en œuvre est
relativement simple.
Fonctionnement :
Une courte impulsion ultrason est transmise à t=0, réfléchie par un objet.
Le capteur reçoit le signal et le transforme en signal électrique. Une deuxième
pulsation peut alors être transmise lorsque l'echo a disparu. La période
recommandée entre 2 impulsions est d'au moins 50ms.
Si une pulsation de commande de 10μs est envoyée au pin signal, le module
à ultrasons enverra 8 signaux ultrasons et détectera l'echo retour. La distance
mesurée est proportionnelle à la largeur d'impulsion de l'echo reçu. Si aucun
obstacle n'est détecté (pas d'echo), le pin de sortie enverra un signal de 38ms.
On connaît la vitesse du son ≈ 340 m/s
Donc on peut déduire la distance.

𝑇𝑒𝑚𝑝𝑠 𝑑𝑒 𝑟𝑒𝑡𝑜𝑢𝑟 × 𝑉𝑖𝑡𝑒𝑠𝑠𝑒 𝑑𝑢 𝑠𝑜𝑛


𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 =
2

Caractéristiques :
- Alimentation : 5V DC
- Fréquence des ultrasons : 40k Hz
- Etendu de mesure : [2-400 cm]
- Sensibilité : 3 mm

15
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Montage :

Figure 2.2 Montage électrique d’un module ultrason

2.2 Partie2 : ACTIONNEURS


2.2.1 Introduction :
Un actionneur est un organe d'un système agissant sur une machine de
manière à modifier son état ou son comportement.
Pour mon cas, j'ai utilisé deux types de moteurs.

2.2.2 Moteur à courant continu :

Figure 2.3 Moteur à courant continu

16
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Un moteur à courant continu est une machine électrique. Il s'agit d'un


convertisseur électromécanique permettant la conversion bidirectionnelle
d'énergie entre une installation électrique parcourue par un courant continu et
un dispositif mécanique.
Sur ma plateforme mobile, j'ai utilisé 4 moteurs de ce type. Ils servent à
propulser la voiture dans toutes les directions.
Caractéristiques d’un seul moteur :
-Tension: DC 3V-6V
-Courant: 100 MA-120MA
-Taux de réduction: 48: 1
-RPM (Avec pneu): 100-240
-Diamètre du pneu: 65mm
-Vitesse de la voiture (M / minute): 20-48
-Poids du moteur (g): 29 / pièce
-Taille du moteur: 70mm X 22mm X 18mm
-Bruit: <65dB

Ces 4 moteurs sont pilotés par un double pont H.


Pont H:

Figure 2.4 L298 Pont H double

17
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Le pont en H est une structure électronique servant à contrôler la polarité


aux bornes d'un dipôle. Il est composé de quatre éléments de commutation
généralement disposés schématiquement en une forme de H d'où le nom. Les
commutateurs peuvent être des relais, des transistors, ou autres éléments de
commutation en fonction de l'application visée.
Cette structure se retrouve dans plusieurs applications de l'électronique de
puissance incluant le contrôle des moteurs, les convertisseurs et hacheurs, ainsi
que les onduleurs. Il se présente sous différentes formes passant par les circuits
intégrés pour les applications de faibles et moyennes puissances, les circuits
discrets ainsi que les modules intégrés pour les moyennes et hautes puissances.

Figure 2.5 Circuit d’un pont en h simple

18
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Montage :

Figure 2.6 Montage d’un pont en h double avec deux moteurs

2.2.3 Servomoteur :

Figure 2.7 Servomoteur MG 996 180°

19
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Figure 2.8 Mini servomoteur SG 90 180°

Un servomoteur (souvent abrégé en « servo », provenant du latin servus


qui signifie « esclave ») est un moteur capable de maintenir une opposition à un
effort statique et dont la position est vérifiée en continu et corrigée en fonction
de la mesure. C'est donc un système asservi. Le servomoteur intègre dans un
même boitier, la mécanique (moteur et engrenage), et l’électronique, pour la
commande et l'asservissement du moteur. La position est définie avec une limite
de débattement d’angle de 180 degrés, mais également disponible en rotation
continue.

Fonctionnement :
Le servomoteur est commandé par l'intermédiaire d'un câble électrique à
trois fils qui permet d’alimenter le moteur et de lui transmettre des consignes de
position sous forme d’un signal codé en largeur d'impulsion plus communément
appelé PWM. Cela signifie que c'est la durée des impulsions qui détermine
l'angle absolu de l'axe de sortie et donc la position du bras de commande du
servomoteur. Le signal est répété périodiquement, en général toutes les 20
millisecondes, ce qui permet à l'électronique de contrôler et de corriger
continuellement la position angulaire de l'axe de sortie, cette dernière étant
mesurée par le potentiomètre.
Lorsque le moteur tourne, l'axe du servomoteur change de position, ce qui
modifie la résistance du potentiomètre. Le rôle de l'électronique est de
commander le moteur pour que la position de l'axe de sortie soit conforme à la
consigne reçue : c'est un asservissement.

20
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Caractéristiques du servomoteur MG 996 180° :


-Dimension: 40mm x 19mm x 43mm
-Poids: 55 g
-Vitesse d'utilisation: 0.17sec / 60 degrés (4.8V sans charge)
-Vitesse d'utilisation: 0.13sec / 60 degrés (6.0V sans charge)
-Couple d'arrêt: 13 kg-cm (180,5 oz-in) à 4,8 V
-Couple d'arrêt: 15 kg-cm (208,3 oz-in) à 6V
-Tension d'opération: 4.8 - 7.2Volts
-Type d'engrenage: tous les engrenages en métal
-Fil de connecteur: Heavy Duty, 11,81" (300 mm)

Caractéristiques du mini servomoteur SG-90 180° :


-Tension de fonctionnement: 4.8 ~ 6.0V
-Vitesse de fonctionnement: 0.12sec / 60 degrés (4.8V)
~ 0.1sec / 60 degrés (6.0V)
-Couple: 1.6kg / cm (4.8V)
-Largeur de bande morte: 5usec
-Gamme de température: -30 ~ + 60
-Longueur de câble: 25cm
-Poids: 15g

Suivant ces caractéristiques, J'ai décidé d'utiliser les deux modèles, l'un
pour la direction et l'autre pour la rotation des ultrasons.

21
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Montage :

Figure 2.9 Montage d’un servomoteur avec Arduino

2.3 Partie3 : INDICATEURS


2.3.1 Introduction :
Un indicateur est un composant qui fournit des informations lumineuses ou
sonores. Dans mon projet, j’ai utilisé des LED et un buzzer.

2.3.2 Led :

Figure 2.10 LED

Une LED (en français : DEL : diode électroluminescente) est un composant


électroniques et optique, qui en étant traversé par du courant électrique, émet
une lumière d'une intensité diffuse.

22
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Fonctionnement :
La physique des semi-conducteurs nous enseigne que les électrons dans les
solides cristallins se situent à des niveaux d'énergie spécifiques. Ces niveaux très
proches les uns des autres, sont regroupés en "bandes d'énergie". Un électron
de la bande de valence peut passer dans la bande de conduction à condition
d'acquérir une énergie supplémentaire au moins égale à Delta E.
C'est l'effet photoélectrique.
Montage :

Figure 2.11 Montage LED

2.3.3 Buzzer actif :

Figure 2.12 Buzzer

Un buzzer est un élément électromécanique ou piézoélectrique qui produit


un son caractéristique quand on lui applique une tension.

23
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

Montage :

Figure 2.13 Montage Buzzer

2.4 Partie4 : CONTRÔLEUR


2.4.1 Introduction :
Un contrôleur de jeu est un appareil qui permet de contrôler un ou plusieurs
éléments d'un jeu vidéo.
Pour ma part j'ai utilisé une manette PS3 sixaxis relié avec un dongle via
bluetooth.

2.4.2 Manette PS3 Sixaxis :

Figure 2.14 Manette PS3 Sixaxis

24
CSMA CHAPITRE 2 : CAPTEURS,
ACTIONNEURS, INDICATEURS ET CONTRÔLEUR

La manette PS3 est nommée « SIXAXIS » grâce au capteur de mouvements


à 6 degrés de liberté qu'elle intègre. Ce dispositif permet à la console de
détecter l'orientation de rotation et l'accélération de translation de la manette
sur les trois axes dimensionnels. La manette propose ainsi un mode
d'interaction avec les jeux basés sur le mouvement. La fonction de détection
est généralement utilisée pour réaliser des actions contextuelles, en
complément des interactions classiques avec les boutons.
Avec l'implémentation de la technologie Bluetooth et d'une batterie
intégrée, la manette devient sans fil. L'autonomie annoncée de la batterie est de
30 heures. Elle se recharge en reliant la manette à la console avec un câble USB.
Quatre LED situées sur la tranche permettent de distinguer les manettes entre
elles.

2.4.3 Dongle bluetooth :

Figure 2.15 Dongle bluetooth

Bluetooth est une norme de communications permettant l'échange


bidirectionnel de données à très courte distance en utilisant des ondes radio UHF
sur une bande de fréquence de 2,4 GHz. Son objectif est de simplifier les
connexions entre les appareils électroniques en supprimant des liaisons filaires,
grâce au Dongle montré sur la figure précédente, on peut faire cette
communication.

2.4.4 Conclusion :
C'est bon j'ai rassemblé tous le matériel nécessaire, Il me reste plus qu'à
mettre un cahier des charges puis, shématisé et cablé mon projet et enfin le
codé.

25
CSMA CHAPITRE 3 : CSMA CAR

CHAPITRE 3
CSMA CAR

3.1 Partie1 : CONCEPT


3.1.1 Introduction :
Au début, j'ai commencé à faire le croquis du châssis sur papier. Ensuite, je
l'ai réalisé en utilisant du bois. Puis, j'ai plaçé les quatres moteurs, les trois
servos, les trois ultrasons, les quarte led et le buzzer sur la carcasse. Enfin, j'ai
posé les pièces maîtresses dont l'arduino mega et l'usb host shield et j'ai câbler
le tout.
La voiture à prit forme, il ne reste plus qu'à coder. Mais avant cela, il faut
d'abord poser un cahier des charges. Heureusement, j'avais les consignes en
tête.
Mon projet comprend trois modes de fonctionnement. Pour activer un de
ces modes, il faut tout d'abord établir une connexion Bluetooth entre la manette
et la voiture. Ensuite, il faut la déverrouiller en appuyant simultanément sur les
touches (L2) et (R1). Une animation lumineuse et sonore indiquera que la voiture
est verrouillée ou déverrouillée. Il ne reste plus qu'à choisir un des trois modes
de fonctionnement. Mode manuel, mode automatique ou bien mode
mouvement.

3.1.2 Mode manuel :


Ce mode est activé lorsque on appuie sur le bouton Cercle.
Il permet à l'utilisateur de gérer le déplacement de la voiture d'une façon manuel
en appuyant sur les boutons ou en dirigeant les joysticks.
Voici les commandes pour le mode manuel:

26
CSMA CHAPITRE 3 : CSMA CAR

- En dirigeant Le joystick gauche sur l'axe x, on ordonne les roues avant à tourner
avec précision selon le degrés d'inclinaison du joystick. Cette action implique
aussi un clignotement de même direction que l'inclinaison.
-En dirigeant Le joystick droit sur l'axe x, on ordonne les deux moteurs de la
partie gauche à tourner au sens inverse des deux moteurs de la partie droite ce
qui implique une rotation de la voiture sur elle-même.
La vitesse de cette rotation est proportionnelle à l'inclinaison du joystick. Cette
action permet aussi de faire des feux de détresse.
Cette rotation s'appelle la direction CHAR.
- En appuyant sur le bouton (R2), on ordonne les quatre moteurs à avancer
simultanément. La vitesse des moteurs est réglable selon l'inclinaison du bouton
(R2).
- En appuyant sur le bouton (L2), on ordonne les quatre moteurs à reculer
simultanément. La vitesse des moteurs est réglable selon l'inclinaison du bouton
(L2).
Ce mode est désactivé lorsque on appuie une autre fois sur le bouton Cercle.

3.1.3 Mode automatique :


Ce mode est activé lorsque on appuie sur le bouton Triangle.
Il consiste à faire une régulation automatique à base d'un correcteur
proportionnel.
Lorsque ce mode est activé, les deux servos gauche et droit commencent à
balayer la surface qui entoure la voiture. Ce balayage est de 110° de chaque
cotés. Ces servos sont munis de capteurs à ultrasons. Ces derniers captent les
objets selon leurs distances.
Chaque fois qu'un capteur détecte un objet sur une distance prédéfinie, la
voiture tourne et avance comme un char jusqu'à ce que le capteur ultrason du
milieu détecte une distance elle aussi prédéfinie.
Notez bien que les vitesses de rotation et de déplacement rectiligne sont aussi
prédéfinies.
C'est le même principe qu'un écholocateur.

27
CSMA CHAPITRE 3 : CSMA CAR

Ce mode est désactivé lorsque on appuie une autre fois sur le bouton Triangle.

3.1.4 Mode mouvement :


Ce mode est activé lorsque on appuie sur le bouton Croix.
À son activation, le capteur gyroscopique qui se trouve dans la manette
commence a généré des angles. Ces angles définissent le roulis et le tangage de
la manette.
À l'équilibre, le roulis et le tangage sont égale à 180°.
De ces résultats, j'ai développé une commande qui agit sur la voiture de la même
façon que le mode manuel.
Voici les commandes pour le mode mouvement :
-Lorsque l'angle du roulis change, une commande ordonne les roues avant a
tourné avec précision selon le degrés d'inclinaison de la manette. Cette action
implique aussi un clignotement de même direction que l'inclinaison.
-Lorsque l'angle du tangage change une commande ordonne les quatre moteurs
à avancer ou à reculer simultanément. La vitesse et le sens des moteurs sont
réglable selon l'inclinaison de la manette. Cette action implique aussi un
clignotement de même direction que l'inclinaison.
Ce mode est désactivé lorsque on appuie une autre fois sur le bouton Croix.

3.2 Partie2 : CIRCUIT ÉLECTRIQUE


3.2.1 Introduction :
Après avoir compris le concept, j'ai entamé la partie circuit. Pour cela, j'ai
utilisé un logiciel de simulation qui s'appelle Fritzing.

3.2.2 Fritzing :
Fritzing est un logiciel libre de conception de circuit imprimé qui permet de
concevoir de façon entièrement graphique le circuit. Ce logiciel est destiné à
aider les concepteurs et les artistes prêts à expérimenter avec un prototype pour
créer un circuit plus permanent.

28
CSMA CHAPITRE 3 : CSMA CAR

3.2.3 Schémas électrique :

Figure 3.1 Schéma électrique du projet

29
CSMA CHAPITRE 3 : CSMA CAR

3.3 Partie3 : PROBLÈMES RENCONTRÉS


ET SOLUTIONS PROPOSÉS
Lors de la réalisation de mon projet, j'ai rencontré beaucoup de problèmes.
La plupart de ces problèmes sont de type matériels. J'ai aussi proposé des
solutions pour les contourner, ces problèmes et leurs solutions se présente
comme suit.

3.3.1 Problème de poids :


1.8 kg est le poids total de ma voiture. Pour une plateforme mobile c'est
pas bon car pour la tracter il faut beaucoup de force.
La solution à ce problème consiste à changer le bois utilisé dans la
fabrication de la structure en PVC.

3.3.2 Problème d'autonomie des batteries :


Ma plateforme contient quatre roues motrices et trois servomoteurs, ce qui
implique une grande consommation d'énergie. Ajoutant à cela le sur poids du
châssis qui engendre deux fois plus de consommation.
La solution à ce problème est d'alléger le châssis et de limiter les
commandes du mode automatique.

3.3.3 Problème de portée de la manette :


La manette PS3 communique avec la voiture grâce au Bluetooth. Cette
communication se fait à très courte distance car le Bluetooth utilise des ondes
radio UHF.
La solution à ce problème est d'utiliser un autre moyen de communication
comme le Wifi.

3.3.4 Problème de multitâches en temps réel :


Au début j'ai programmé la voiture en un seul bloc. Malheureusement, le
résultat présentait des bugs et des lags.
Pour résoudre ce problème j'ai divisé le programme en trois parties, chaque
partie représente un mode et chaque mode a ces propres commandes.

30
CSMA CHAPITRE 3 : CSMA CAR

Figure 3.2 CSMA CAR

31
CONCLUSION GÉNÉRALE

Pour conclure, je veux donner mon avis. Je pense que la voiture


autonome a de grandes chances de réussite sur le marché automobile,
premièrement parce qu'elle ajoutera au confort notamment lors des
longs voyages et deuxièmement parce qu'elle limitera les accidents.
Mais pour que cela arrive dans le futur, il faut que l'on soit assuré de la
fiabilité des véhicules, que de nombreux tests soient réalisés jusqu'à ce
que les risques soient minimes. Il faudra aussi bien sûr obtenir la
confiance de la population, car il peut être plus dur de mettre sa vie
entre les "mains" d'une machine plutôt que dans celle d'un autre être
humain.

32
Bibliographie

 Erik Bartmann, LE GRAND LIVRE D'ARDUINO, 3ème édition, mars


2018.

 Site arduino.cc, URL : https://www.arduino.cc, le 19/07/2019

 Le Dictionnaire, URL : https://www.le-dictionnaire.com, le


19/07/2019.

 MERAD.C & YACOUBI.Y, DOMOTIQUE, mai 2018.

33

Vous aimerez peut-être aussi