Vous êtes sur la page 1sur 77

N° d’inscription : 007-22/LP3/GE Année universitaire : 2022-2023

REPOBLIKAN’I MADAGASIKARA
Fitiavana – Tanindrazana – Fandrosoana
-------------------------------------
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
-------------------------------------
UNIVERSITE D’ANTANANARIVO
-------------------------------------
ECOLE SUPERIEURE POLYTECHNIQUE D’ANTANANARIVO

Domaine : Sciences de l’Ingénieur


Mention : GENIE ELECTRIQUE
Parcours : SYSTEMES ELECTRIQUES ET RESEAUX INDUSTRIELS

Mémoire de fin d’études en vue de l’obtention du Diplôme de Licence Professionnel


en Génie Electrique

GESTION AUTOMATISE DE PARKING

Par : RAKOTOSALAMA Lova Tahiry

Soutenu le 20 Octobre 2023, devant les Membres du Jury composés de :


Président de Jury : Docteur RABENJARIVELO Patrice, Maître de conférences
Examinateurs : Docteur RATSIMBAZAFY Vololoniaina Bakoliarisoa, enseignante à l’ESPA
Madame Voalintsoa Onja, Enseignante Permanent à l’ESPA
Docteur RAMANANTENA Gilbert, Enseignant à l’ESPA
Encadreur : Docteur RAMAROZATOVO Vonjy, Maître de conférences
N° d’inscription : 007-22/LP3/GE Année universitaire : 2022-2023

REPOBLIKAN’I MADAGASIKARA
Fitiavana – Tanindrazana – Fandrosoana
-------------------------------------
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
-------------------------------------
UNIVERSITE D’ANTANANARIVO
-------------------------------------
ECOLE SUPERIEURE POLYTECHNIQUE D’ANTANANARIVO

Domaine : Sciences de l’Ingénieur


Mention : GENIE ELECTRIQUE
Parcours : SYSTEMES ELECTRIQUES ET RESEAUX INDUSTRIELS

Mémoire de fin d’études en vue de l’obtention du Diplôme de Licence Professionnel


en Génie Electrique

GESTION AUTOMATISE DE PARKING

Par : RAKOTOSALAMA Lova Tahiry

Soutenu le 20 Octobre 2023, devant les Membres du Jury composés de :


Président de Jury : Docteur RABENJARIVELO Patrice, Maître de conférences
Examinateurs : Docteur RATSIMBAZAFY Vololoniaina Bakoliarisoa, enseignante à l’ESPA
Madame Voalintsoa Onja, Enseignante Permanent à l’ESPA
Docteur RAMANANTENA Gilbert, enseignant à l’ESPA
Encadreur : Docteur RAMAROZATOVO Vonjy, Maître de conférences
FISAORANA
Voalohany indrindra dia fisaorana an’Andriamanitra eram-po eran-tsaina tamin’ny hery nomeny, ny
fanohanany, nahafahana nanatontosa ny fikarohana sy ny fandrafetana ny boky. Ho azy irery ihany ny
voninahitra.
Ankasitrahana feno ireo sokajin’olona maro samihafa nanohana na mivantana na ankolaka ka nahavitana
izao fikarohana izao izay ho tanisaina manaraka eto:
 Andriamatoa Mamy Raoul RAVELOMANANA, filohan’ny oniversite an’Antananarivo
 Andriamatoa Rijalalaina RAKOTOSAONA, Talean’ny sekoly ambony Polyteknika
Antananarivo.
 Andriamatoa Edmond RANDRIAMORA, filoha mpitantana ny sampampianarana

« Génie Electrique ».
 Andriamatoa Vonjy RAMAROZATOVO noho ny fanekeny niahy, nanampy ary nizara ny
fahaizany nandritry ny fanomanana ity boky ity.
 Andriamatoa Patrice RABENJARIVELO sy Gilbert RAMANANTENA, Ramatoa
Vololoniaina Bakoliarisoa RATSIMBAZAFY sy Onja Voalintsoa izay mpampianatra ao
amin’ny departemanta ny « Génie Electrique » nanaiky ho anisan’ireo mpampianatra hitsara ny
famelabelaran-kevitra ity boky ity.

Manarak’izany dia manolotra fisaorana feno ihany koa ny mpampianatra rehetra, ny mpandraharaha, ny
tompon’andraikitra isan-tsokajiny eo anivon’ny sekoly polytechnique vontovorona izay nanohana ara-
tsaina, ara-moraly,ara-pitaovana nahafahana namita izay fianarana telo taona izay ka nahatongavana
tamin’izao famaranana ny taona fahatelo izao.

Tsy adino ihany koa ireo Ray aman-dreny, zoky, zandry, Havana, ny namana, ny mpiara-mianatra,
nanohana am-bavaka, ara-bola sy ara-kevitra ka nahatontosana ny tanjona hatramin’ny farany.

i
REMERCIEMENTS

Avant tout, Je remercie du fond du cœur mon Seigneur Jésus pour m’avoir fortifié, encouragé et
pour m’avoir toujours soutenu durant la réalisation de ce mémoire. A Lui seul la Gloire !
Je tiens à adresser mes vives gratitudes et remerciements à tous ceux qui ont collaborés, directement
ou indirectement, de près ou de loin à la réalisation de ce mémoire, plus particulièrement à:
 Professeur RAVELOMANANA Mamy Raul, président de l’Université d’Antananarivo
 Professeur le Professeur RAKOTOSAONA Rijalalaina, Directeur de l’Ecole Supérieure
Polytechnique d’Antananarivo ;
 Docteur RANDRIAMORA Edmond, Chef du département Génie Electrique pour ses conseils ;
 Docteur RABENJARIVELO Patrice, Maître de conférences, qui nous fait l’honneur de
présider ce mémoire ;
 Docteur RAMAROZATOVO Vonjy, Maître de conférences, pour ses encadrements et ses
assistances durant l’élaboration de ce travail ;
 Docteur RATSIMBAZAFY Vololoniaina Bakoliarisoa, Enseignante à l’ESPA
 Madame Voalintsoa Onja, Enseignante Permanent à l’ESPA
 Docteur RAMANANTENA Gilbert, Enseignant à l’ESPA

Par la même occasion, je ne saurai oublier tous les enseignants de l’E.S.P. A, qui m’ont transmis
leur savoir tout au long de ces trois années d’étude.
Ma plus profonde reconnaissance va de même à mes parents, mes frères, ma famille ainsi que tous
mes amis, qui ont fait preuve de soutien moral et financier, et de patience tout au long de la longue
bataille. Que ce travail soit le fruit de leurs efforts.
Enfin, je ne peux terminer sans mentionner ici tous ceux qui, quotidiennement, m’ont soutenu et
qui, de près ou de loin, ont contribués à mes études.

ii
TABLE DES MATIERES

FISAORANA .................................................................................................................................................. i

REMERCIEMENTS ..................................................................................................................................... ii

TABLE DES MATIERES ........................................................................................................................... iii

NOTATIONS ................................................................................................................................................ vi

LISTES DES TABLEAUX ET DES FIGURES ....................................................................................... vii

INTRODUCTION ET POSITION DU PROBLEME................................................................................ 1

CHAPITRE 1 : Généralité sur les parkings................................................................................................ 2


1.1 Introduction ................................................................................................................................... 2

1.2 Historique ....................................................................................................................................... 2

1.3 Problématique de stationnement.................................................................................................. 3

1.4 Définition du parking .................................................................................................................... 3

1.5 Les différents types de parking .................................................................................................... 3

1.5.1 Les parkings en surface.......................................................................................................... 3


1.5.2 Les parkings fermé ou souterrains ........................................................................................ 4
1.5.3 Les parkings aériens à étages ................................................................................................. 5
1.5.4 Les parkings en superstructure largement ventilé (PSLV) ................................................... 5
1.5.5 Les parcs relais ....................................................................................................................... 6
1.6 Système parking automatisé des voitures.................................................................................... 7

1.7 Estimation d’évolution de l’utilisation des Système Parking Automatisé ................................ 8

1.8 Les avantages et les inconvénients de parking automatisés ....................................................... 8

1.8.1 Les avantages .......................................................................................................................... 8


1.8.2 Les inconvénients ................................................................................................................... 9
1.9 Gestion des parkings ..................................................................................................................... 9

1.10 Conclusion .................................................................................................................................... 10

CHAPITRE 2: Description des matériels et logiciels utilises .................................................................. 11


2 .1 Introduction...................................................................................................................................... 11

2. 2 Notion d’automatisme ................................................................................................................. 11

2.2.1 Définition d’un système automatisé ........................................................................................... 11

iii
2.2.2 Objectifs des systèmes automatisés ...................................................................................... 12
2.3 Partie matérielle .......................................................................................................................... 12

2.3.1 La carte Arduino................................................................................................................... 12


2.3.2 Microcontrôleur ATmega328 ............................................................................................... 15
2.3.3 Capteur IR (FC-51) [1] ........................................................................................................ 16
2.3.4 Servomoteur .......................................................................................................................... 19
2.3.5 Module relais ........................................................................................................................ 21
2.3.6 Afficheur LCD I2C ............................................................................................................... 21
2.3.7 Diode électroluminescente ................................................................................................... 23
2.3.8 Présentation du module ESP32-CAM ................................................................................. 24
2.3.9 Breadboard ........................................................................................................................... 27
2.4 Partie logicielle............................................................................................................................. 28

2.4.1 Outils de développement:...................................................................................................... 28


2.4.2 Etude du système de développement Arduino IDE ............................................................. 28
2.5 Conclusion .................................................................................................................................... 30

CHAPITRE 3 : Réalisation et expérimentation ....................................................................................... 31


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

3.2 Contrainte.......................................................................................................................................... 31

3.3 Partie réalisation ............................................................................................................................... 31

3.3.1 Synoptique du système ................................................................................................................ 31


3.3.2 Implantation du système ............................................................................................................. 32
3.4 Notion de QR code....................................................................................................................... 35

3.5 Organigramme du système ......................................................................................................... 36

3.6 Scenario de l’utilisation du parking........................................................................................... 37

3.7 Gestion des informations (LOGICIEL GAP-GESTION AUTOMATISE DE PARKING) . 41

3.8 Résultat final après assemblage ................................................................................................. 51

3.9 Recommandations d’améliorations ........................................................................................... 51

3.10 Coût de réalisation....................................................................................................................... 52

3.11 Conclusion ....................................................................................................................................... 52

ANNEXES .......................................................................................................................................................I

REFERENCES .........................................................................................................................................VIII

iv
FICHE DE RENSEIGNEMENTS ............................................................................................................. XI

RESUME ET MOTS CLES ....................................................................................................................... xii

ABSTRACT AND KEYWORDS ............................................................................................................... xii

v
NOTATIONS

1. Abréviations
GAP Gestion Automatisé de Parking

GPS Global Positioning System

IDE Integrated Development Environnement

IR Infrarouge

LCD Liquid Cristal Display

LED Light Emetting Diode

PSLV Parking en superstructure largement ventilé

PWM Pulse With Modulation

QR code Quick response code

SPA Système parking automatisé.

mA milliAmpère

vi
LISTES DES TABLEAUX ET DES FIGURES

1. Liste des tableaux


Tableau 3.01 : Coût du projet .......................................................................................................... 52

2. Liste des figures

Figure1.01 :parkingPater……………………………………………....……………………………2
Figure 1.02 : parking Ponthieu .......................................................................................................... 2
Figure 1.03 : parc de stationnement .................................................................................................. 3
Figure 1.04 : parking en surface ........................................................................................................ 4
Figure 1.05 : parking fermé où Souterrains ....................................................................................... 4
Figure 1.06 : parking aériens à étage................................................................................................. 5
Figure 1.07 : parking PSLV .............................................................................................................. 6
Figure 1.08 : parking relais ............................................................................................................... 7

Figure 2.01 : Structure générale d’un système automatisé [2.02] ................................................... 11


Figure 2.02 : Présentation (captures + actionneurs) de la carte Arduino [2.07] ............................. 13
Figure 2.03 : Le premier prototype d’Arduino ................................................................................ 14
Figure 2.04 : Brochage d’une carte Arduino de type UNO http://technologuepro.com/ ................ 14
Figure 2.05 : Microcontrôleur ATmega328 .................................................................................... 15
Figure 2.06 : Capteur IR (FC-51) .................................................................................................... 16
Figure 2.07 : Structure d’un Capteur IR .......................................................................................... 16
Figure 2.08 : Principe de fonctionnement d'un capteur IR .............................................................. 17
Figure 2.09 : Émetteur IR ................................................................................................................ 17
Figure 2.10 : Récepteur IR .............................................................................................................. 18
Figure 2.11 : Schéma bloc d’un capteur IR ..................................................................................... 18
Figure 2.12 : Câblage de capteur IR avec la carte Arduino Uno .................................................... 19
Figure 2.13 : Structure de Servomoteur "9 grammes" .................................................................... 19
Figure 2.14 : Servomoteur SG90..................................................................................................... 20
Figure 2.15 : Connexion servomoteur avec la carte Arduino Uno .................................................. 21
Figure 2.16 : Module relais monocanal ........................................................................................... 21
Figure 2.17 : Structure d’un écran LCD-I2C .................................................................................. 22

vii
Figure 2.18 : Connexion un écran LCD I2C avec la carte Arduino Uno ........................................ 23
Figure 2.19 : Diode électroluminescente......................................................................................... 24
Figure 2.20 : Un carte ESP32-CAM ............................................................................................... 25
Figure 2.21 : Les caractéristiques techniques du module ESP32-CAM ......................................... 26
Figure 2.22 : Pin out d’ESP32-CAM .............................................................................................. 27
Figure 2.23 : Breadboard ................................................................................................................. 28
Figure 2.24 : Interface de logiciel IDE Arduino ............................................................................. 29
Figure 2.25 : Présentation des boutons............................................................................................ 29

Figure 3.01 : Schéma synoptique du système ................................................................................. 31


Figure 3.02 : Résultat sur serial monitor ......................................................................................... 35
Figure 3.03 : Organigramme du système ........................................................................................ 36
Figure 3.04 : ESP32-CAM scanne le QR Code .............................................................................. 37
Figure 3.05 : Schéma Accès autorisé .............................................................................................. 37
Figure 3.06 : Schéma d’ouverture de la barrière ............................................................................. 38
Figure 3.07 : Schéma de place libre et place occupé sur LCD........................................................ 38
Figure 3.08 : Schéma de fermeture de la barrière à l’entrer ............................................................ 39
Figure 3.09 : Schéma de l’ouverture de la barrière à la sortie ........................................................ 39
Figure 3.10 : Schéma de l’Accès refuse .......................................................................................... 40
Figure 3.11 : Schéma de page d’authentification ............................................................................ 41
Figure 3.12 : Schéma d’accueil de l’application ............................................................................. 42
Figure 3.13 : Schéma du menu Dashboard ..................................................................................... 42
Figure 3.14 : Schéma d’ajouter un nouveau admin ......................................................................... 43
Figure 3.15 : Schéma de liste des utilisateurs ................................................................................. 44
Figure 3.16 : Schéma d’ajouter de client......................................................................................... 45
Figure 3.17 : Schéma des listes des clients ..................................................................................... 46
Figure 3.18 : Schéma de page d’accueil de QR Code ..................................................................... 47
Figure 3.19 : Schéma de modification de client .............................................................................. 48
Figure 3.20 : Schéma d’ajout de nouveau parking .......................................................................... 49
Figure 3.21 : Schéma de liste des parkings et son état .................................................................... 50
Figure 3.22 : Schéma de résultat final de prototype ........................................................................ 51

viii
3. Liste des annexes

Annexe 1: Extrait de code de programmation sur l’ESP32-CAM

Annexe 2: Extrait de code de programmation sur Arduino

ix
INTRODUCTION ET POSITION DU PROBLEME
Les parkings sont devenus un élément incontournable de notre société moderne en raison de
l’accroissement du nombre de véhicules. Cependant, la gestion des parkings présente souvent des
défis majeurs, notamment en termes d’efficacité, de sécurité et de commodité pour les utilisateurs.
Afin de répondre à ces problématiques, l’utilisation de systèmes de parkings automatisés a émergé
comme une solution prometteuse. Ce mémoire se propose d’étudier et de réaliser un système de
gestion automatisé de parking en utilisant Arduino Uno et ESP32-CAM, associés à d’autres
composants tels que l’afficheur LCD I2C, deux servomoteurs et des capteurs infrarouges.
Problématique :
La gestion traditionnelle de parkings souffre de plusieurs inconvénients, tels que la congestion, les
erreurs humaines dans le processus de stationnement, le temps perdu à la recherche de places libres
et les problèmes de sécurité. Ces petits désagréments nuisent aux utilisateurs. Face à la mauvaise
utilisation des ressources disponibles dans la gestion traditionnelle, il est essentiel de développer un
système de gestion de parkings automatisé, intelligent et fiable, capables d’optimiser l’utilisation de
l’espace et d’améliorer l’expérience des utilisateurs.
Objectif :
L’objectif principal de ce mémoire est de concevoir, réaliser et évaluer un système automatisé de
gestion de parking qui résout les problèmes liés à la gestion traditionnelle des parkings. Ce système
utilisera Arduino Uno et ESP32-CAM comme plateforme de contrôle pour assurer un stationnement
efficace et sûr des véhicules. L’utilisation de capteurs infrarouges permettra de détecter la présence
de véhicules dans les places de parking, tandis que les servomoteurs assureront le contrôle
automatique des barrières pour guider les véhicules vers ses emplacements.
Méthodologie de travail
Ce devoir est divisé en 3 grands chapitres :
 Le premier, la généralité sur les parkings
 Le second, la description du matériel et des logiciels utilisés
 Et le dernier, la réalisation et l’interprétation (expérimentation)

1
CHAPITRE 1 : Généralité sur les parkings
1.1 Introduction
L’augmentation importante du nombre de voiture qui circule dans la route surtout en ville
entraine des embouteillages. Beaucoup de voiture sont mal garés, les parkings sont mal gérés. Il faut
un nouveau moyen pour minimiser l’espace et assuré des bonnes conditions de stationnement (la
sécurité, le temps). Ce qui mène l’idée de la réalisation de ce projet de gestion de parking.
Dans ce chapitre, nous allons voir les différents types de parking, les spécifications et besoins
techniques du projet.
1.2 Historique
Bien que Les systèmes de stationnement automatisés puisse sembler être une invention récente,
l’histoire du stationnement automatisé remonte à plus de 100 ans. Nés en France au début du siècle
dernier, leur histoire peut être marquée par trois moments importants :
– En 1905, à l’occasion de l’Exposition universelle, le Garage Rue de Ponthieu, premier parking
automatisé, est conçu à Paris. La force motrice était le besoin d’augmenter de façon drastique la
capacité d’une petite zone, répondant ainsi aux demandes du marché de l’époque.
– L’année 1920 voit l’émergence du design de la grande roue, également connu sous le nom de «
Paternoster ». La structure permettait de garer jusqu’à 8 véhicules dans un seul compartiment,
optimisant ainsi grandement l’espace.
– En 1950 à Washington DC, l’avancée technologique donne naissance au premier parking
automatisé sans chauffeur, un modèle qui s’imposera rapidement dans le monde entier. Aujourd’hui,
les systèmes de stationnement automatisés répondent principalement aux besoins des zones urbaines
et suburbaines, où la demande de zones de stationnement est considérablement plus élevée que
l’espace disponible. [1.01]

Figure 1.01 : parking Pater Figure 1.02 : parking Ponthieu

2
1.3 Problématique de stationnement
La propagation du chaos et de la pollution dans le monde en raison du grand nombre de voitures, de
l'expansion des villes et du manque de places de stationnement nous avons conduit à la spéculation
et la mise en place d'autres terrains de stationnement.
Le stationnement n'est pas seulement pour les propriétaires du quartier ou de la ville, mais pour le
grand public et la durée de l'arrêt n'est pas spécifique, et c'est ce qui provoque les problèmes.
Malgré la présence de parkings il y a beaucoup d'accidents et de problèmes qui se produisent entre
les conducteurs. Pour réduire ces problèmes le système de stationnement intelligent Réduit ces
problèmes car il aide les touristes et les employés ou toute personne qui ne connaît pas la ville a
réservé une place pour sa voiture avec facilité et fiabilité. [1.02]
1.4 Définition du parking
Un parking, ou parc de stationnement est un espace ou un bâtiment spécifiquement aménagé pour
le stationnement des véhicules. Il peut être public ou privé, en enclos, en élévation ou souterrain.
On en trouve le plus souvent à côté des bâtiments publics (gare, aéroport), des lieux de travail, des
centres commerciaux ou devant les grandes surfaces pour accueillir les usagers. [1.03]

Figure 1.03 : parc de stationnement

1.5 Les différents types de parking


Un parc de stationnement est un lieu spécialement aménagé pour le garage des automobiles.
On distingue :
1.5.1 Les parkings en surface
Le parking de surface se situe de plain-pied, à l’extérieur, sur l’espace public ou privé. Ce type de
parking comprend le stationnement en voirie (places le long d’une rue, d’un quai, etc.) et les espaces

3
dégagés à cette fin entre des bâtiments, ou établis sur des anciens champs, des anciens terrains
vagues, etc.

Figure 1.04 : parking en surface

1.5.2 Les parkings fermé ou souterrains


En ville ou sous les aéroports, sous les bâtiments de certaines zones d’activité, souvent sur plusieurs
niveaux, le parking souterrain permet d’économiser le foncier. Chaque niveau de stationnement
s’apparente à un parking classique, à la différence que l’air y est plus confiné et pollué, que le sol
n’y est pas lessivé par les pluies, qu’il peut être recouvert d’un revêtement particulier et que l’on y
retrouve des piliers à intervalles réguliers pour soutenir la structure. Des rampes permettent de
passer d’un niveau à l’autre. Des ascenseurs ou des escaliers permettent aux occupants des
véhicules, une fois ceux-ci garés, de remonter à la surface. Dans plusieurs pays (dont la France), les
parkings souterrains sont désormais obligatoires pour toutes les constructions d’immeubles
d’habitation dans certains zonages urbains, avec des prescriptions en matière d’aération, lutte contre
l’incendie, sorties de secours, etc.

Figure 1.05 : parking fermé où Souterrains

4
1.5.3 Les parkings aériens à étages
Un parking aérien à étages est un bâtiment construit en élévation à l’extérieur. Son mode de
fonctionnement ressemble beaucoup à celui du parking souterrain à la différence qu’il ne demande
pas de lourds travaux de creusement. Là aussi des rampes permettent de monter ou de descendre les
étages en voiture, et il y a des ascenseurs et des escaliers pour les piétons.
Il existe différents types de parkings à étages selon le mode de construction (en béton, à structure
métallique, ou mixte béton/métal), la configuration des rampes d’accès et de circulation entre les
différents niveaux.
Du fait de leur forme, les parkings à étages sont également appelés parkings silo même lors de
construction semi-enterrées.

Figure 1.06 : parking aériens à étage

1.5.4 Les parkings en superstructure largement ventilé (PSLV)


Un parking en superstructure largement ventilé est un parking dont la ventilation est assurée par des
baies latérales de ventilation. La ventilation y est naturelle, elle permet les échanges d’air extérieur
et intérieur sans participation mécanique. On parle également de parking ouvert. Un des grands
avantages du parking PSLV est l’économie d’énergie électrique en lumières car on profite de la
clarté extérieure via les ouvertures en façade.
A noter que, depuis l’arrêté du 9 mai 2006 relatif aux parcs de stationnement ouverts, la loi autorise
la construction en ossature métallique des Parcs de Stationnement en Superstructure Largement
Ventilés (PSLV) avec un cahier des charges précis imposés par la législation (Parking
obligatoirement aérien, 50 % d’ouverture sur les façades, 5 % sur le plancher, Distance entre façades
opposées maximum : 75 m).

5
Figure 1.07 : parking PSLV

1.5.5 Les parcs relais


Les parcs relais (P+R) se trouvent en périphérie des villes. Ces parkings sont subventionnés par les
collectivités car ils favorisent la mobilité générale et la mutualisation des moyens de transports
publics ou privés notamment avec la pratique du co-voiturage. Les parcs relais sont généralement
positionnés aux abords immédiats des villes et à proximité des gares routières ou ferroviaires, des
stations de métro ou de tramway, des arrêts de bus.
La logique de cette implantation est de favoriser la mixité des moyens de transports (dont le co-
voiturage) afin de désengorger la circulation dans les centres urbains et de réduire l’impact
écologique et économique de l’automobile (réduction de la pollution de l’air, réduction des dépenses
en essence). [1.04]

6
Figure 1.08 : parking relais

1.6 Système parking automatisé des voitures


Parking automatisé est une méthode de garer et récupérer les voitures automatiquement qui
utilisent généralement un système de palettes et des ascenseurs. L'intention est de voitures
compactes plus dans le même espace de stationnement. Parkings automatisés peuvent être situés au-
dessus ou au-dessous du sol ou une combinaison des deux. Le système automatisé de parking facilite
la manière de garer et récupérer les voitures, ainsi la distance parcourue par chaque véhicule est
réduite.
Selon le cabinet de consultants environnementaux Waterman Group, les parcs de
stationnement utilisant un système robotisé pour le rangement des véhicules génèrent moins de CO2
que les parcs à étages classiques.
Le Parking automatisé doit aussi varier les moyens de paiement. Par exemple, tout le monde n’a
pas forcément de monnaie au moment de payer le parking. Il faut développer les paiements par carte
ou à l’aide des Smartphones. L’identification des véhicules entrant dans le parking, ainsi aucun
paiement n’est demandé, un capteur détecte la voiture et son identifiant à l’entrée et à la sortie du
parking et calcule donc automatiquement le prix à payer par le conducteur. Une facture mensuelle
ou trimestrielle peut donc être mise en place.
Au fil des années, le monde automobile évolue et, on voit apparaître de plus en plus de voitures
électriques. Ces voitures électriques sont bénéfiques contre la pollution mais il faut qu’elles soient
rechargées. C’est pourquoi des zones de rechargement doivent être prévues, et plus spécialement
des places de parking où l’on peut les recharger. En effet, il serait très avantageux que l’utilisateur
puisse recharger sa voiture pendant son stationnement. [1.05]

7
1.7 Estimation d’évolution de l’utilisation des Système Parking Automatisé
Une recherche estime que les revenus des SPA atteindront 356,5 millions de dollars par année d'ici
2020 dans le monde. Ainsi, il a beaucoup de potentiel et connaîtra une croissance énorme dans les
années à venir. Avec les demandes de stationnement croissantes, les entreprises proposent des
solutions innovantes et intelligentes pour répondre à ces exigences. [1.05]
1.8 Les avantages et les inconvénients de parking automatisés
1.8.1 Les avantages
 Efficacité
SPA nécessite environ 70 % d’espace plus petit et une taille moyenne de 50 % plus petite pour garer
un nombre équivalent de voitures. Cela donne au promoteur de garage de stationnement beaucoup
d’options, telles que l’ajout de plus de places de stationnement, l’utilisation de plus d’espace à des
fins autres que le stationnement ou les espaces verts, etc.
 Faisabilité et rentabilité
Le stationnement et le développement de garages de stationnement ont souvent un effet direct sur
la faisabilité d’un projet immobilier. La flexibilité de conception des SPA peut aider en termes de
faisabilité et de rentabilité en permettant au stationnement d’être situé dans des zones où le
stationnement conventionnel ne conviendra pas. Les emplacements possibles pour SPA sont
pratiquement illimités : au-dessus du sol, sous terre, autoportants, sous ou intégrés dans des
bâtiments existants et même des zones très étroites ou de forme irrégulière.
 Respect de l’environnement et durabilité
SPA réduit les émissions de CO2 de 85% ou plus car elles éliminent la nécessité pour les voitures
de circuler au ralenti de la recherche des espaces de stationnement. De plus, les avantages
environnementaux de SPA nécessitent généralement moins de matériaux de construction, un
volume d’excavation beaucoup plus petit, des temps de construction plus courts et des perturbations
de construction réduites.
 Sécurité et sûreté
Les véhicules parking 85% moins de temps que le stationnement conventionnel, car il n'y a pas de
manœuvre ou de recherche de places de parking nécessaires. Les voitures et leurs contenus sont
protégés contre les dommages, le vol et le vandalisme car personne ne conduit ou n'a accès à eux
une fois qu'ils entrent dans le parking. Les clients gardent leurs clés et la voiture est verrouillée en
tout temps. [1.06]

8
1.8.2 Les inconvénients
 Le coût élevé de la construction ou de l’installation
Le coût d’avoir un système de gestion du stationnement sain et fonctionnel est généralement élevé.
Cela est dû aux différents composants qui entrent dans le fonctionnement du système. Des
composants tels que la fonctionnalité statistique, la billetterie automatisée et les rapports statistiques,
et bien d’autres, rendent tout cela coûteux. Certaines organisations peuvent ne pas être en mesure
de se le permettre.
 Entretien régulier
Le système est automatisé ; cependant, il nécessite encore plusieurs entretiens réguliers de la part
de l’entreprise. Il s’agit de s’assurer que le système fonctionne parfaitement et que rien ne s’est mal
passé. L’entretien pourrait être une fois tous les mois.
 Fonctionnement
Beaucoup de gens ne sont pas habitués au système de gestion du stationnement. En conséquence, il
peut être difficile pour eux de faire usage, provoquant ainsi d’autres complications pendant le
stationnement.
 La consommation d'énergie est élevée pour fonctionner tellement système. [1.07]

1.9 Gestion des parkings


Les automobilistes ont besoin d'informations en continu concernant les disponibilités, les lieux et
tarifs. Un guide d'accès de la ville fournira toutes ces informations. Ce genre de guide est en général
développé par des agences publiques spécialisées.
Les informations sur ces parkings fournis aux automobilistes comprennent des cartes, signalisations,
kiosque, brochures, GPS et bien d'autres systèmes de communication électroniques.
Ces outils peuvent améliorer la commodité, la sécurité, ainsi que proposer d'autres solutions de
parking à moindre coût. Les zones industrielles ou résidentielles mettent en place des stratégies
adaptées afin d'améliorer la circulation pendant les heures de pointe. [1.08]

9
1.10 Conclusion
Dans ce chapitre nous avons défini la notion de parking et détaillé les déférentes types, la
classification, les avantages et les inconvénients, la nécessité de louer une place dans ce dernier,
avec l’informatisation des systèmes de gestion de parking.
Pour réaliser une smart parking, on aura besoin de quelques spécifiques composants qui seront
présentés dans le chapitre suivant.

10
CHAPITRE 2: Description des matériels et logiciels utilises

2 .1 Introduction
Les composants électriques sont aujourd’hui une partie intégrante dans la vie quotidienne. En
fait, le but de ces composants est de connecter à d'autres appareils pour réaliser une fonction
électronique afin de rendre notre vie plus facile et plus pratique.
Dans ce chapitre nous allons parler les différents composants électroniques nécessaires de ce
projet que nous proposons, Ensuite qui traitera la logicielle.
2. 2 Notion d’automatisme
Les systèmes automatisés, utilisés dans le secteur industriel, possèdent une structure de base
identique. Ils sont constitués de plusieurs parties plus ou moins complexes reliées entre elles :
– la partie opérative (PO).
– la partie commande (PC) ou système de contrôle/commande (SCC).
– la partie relation (PR) de plus en plus intégrée dans la partie commande [2.01].

Figure 2.01 : Structure générale d’un système automatisé [2.02]

2.2.1 Définition d’un système automatisé


Un système automatisé : ou automatique est un système qui exécute toujours le même cycle
de travail qui est programmé à l'avance, sans l'intervention de l'utilisateur.
- L’opérateur assure la programmation, le démarrage et l'arrêt du système. Chapitre II Synthèse des
systèmes automatisés et l'automate programmable 27
- Un système automatisé peut être composé de plusieurs systèmes automatisés.
Par contre, dans un système mécanique, l'utilisateur commande et contrôle l'ensemble des
opérations. [2.03]

11
2.2.2 Objectifs des systèmes automatisés
L’automatisation permet d’apporter des éléments supplémentaires à la valeur ajoutée par le
système. Ces éléments sont exprimables les en termes d’objectifs par :
 Accroître la productivité (rentabilité, compétitivité) du système.
 Améliorer la flexibilité de production.
 Améliorer la qualité du produit.
 Adaptation à des contextes particuliers tel que les environnements hostiles pour l’homme (milieu
toxique, dangereux, nucléaire), adaptation à des tâches physiques ou intellectuelles pénibles pour
l’homme (manipulation de lourdes charges, tâches répétitives parallélisées).
 Augmenter la sécurité [2.04]
2.3 Partie matérielle
2.3.1 La carte Arduino
La carte Arduino est une carte électronique programmable (appelée microcontrôleur) utilisée pour
réaliser des montages électroniques. Facile d'utilisation, elle permet de s'initier aisément à
l'électronique et à la programmation. Elle devra se connecter sur un ordinateur pour permet le
téléversement des commandes à exécuter (le code ou le programme). Elle est open source ce qui
signifie que chacun peut construire son propre microcontrôleur et la diffuser (sans toutefois utiliser
le terme Arduino dans le nom de la carte). [2.05]
2.3.1.1 Définition de la carte arduino
Arduino est une carte électronique programmable destiné pour réaliser des différentes
applications et des projets dans des différents domaines comme la robotique. En trouve plusieurs
catégories d’Arduino et chaque arduino sa se défier par rapport à l’autre par le nombre de pins
d’entre sorties analogiques / numériques au analogiques ; l’arduino MEGA offre un nombre
d’entrée/sorties beaucoup plus important(54 contre 14) et un processeur plus puisant et une vaste
mémoire et on a aussi arduino UNO 14/6 d’entrée/ sorties numériques et6 entrées analogiques par
contre dans l’arduino NANO nombres d’entrées/sorties numériques est 14/16 et possède 8 entrées
analogiques enfin l’arduino mini qui possédé aussi 16/6 entrées/sorties numériques et 8 entrées
analogiques [2.06].
Dans notre projet en a utilisé la carte arduino UNO.

12
Figure 2.02 : Présentation (captures + actionneurs) de la carte Arduino [2.07]

2.3.1.2 Historique du projet Arduino


Avant 2003 – 2004, les enseignants et les étudiants de l'école de Design d'Interaction d'Ivrea en
Italie rencontraient un problème majeur sur la réalisation des projets au niveau du budget qui
ralentissait la mise en œuvre concrète de leur apprentissage. En cette année, Hernando Barragan
prend ce problème comme thèse de fin d’étude. Il avait entrepris le développement d’une carte
électronique dénommée Wiring, accompagnée d’un environnement de programmation libre et
ouvert.
L’objectif du Wiring était d’arriver à un dispositif simple à utiliser dont les coûts seraient peu élevés,
les codes et les plans « libre » c’est-à-dire dont les sources sont ouvertes et peuvent être modifiées,
améliorées et distribuées par les utilisateurs eux-mêmes et enfin « multi-plates-formes » qui
signifie indépendant du système d’exploitation utilisé. La carte Wiring a donc inspiré le projet
Arduino en 2005.
Elle est conçue par une équipe de professeurs et d’étudiants (David Mellis, Tom Igoe, Gianluca
Martino, David Cuartielles, Massimo Banzi ainsi que Nicholas Zambetti). L'environnement
Arduino est particulièrement adapté à la production artistique ainsi qu'au développement de
conceptions qui peuvent trouver leurs réalisations dans la production industrielle.
Le nom Arduino trouve son origine dans le nom du bar dans lequel l’équipe avait l'habitude de se
retrouver. Arduino est aussi le nom d'un roi italien, personnage historique de la ville « Arduino
d’Ivrée », ou encore un prénom italien masculin qui signifie « l'ami fort ». [2.08]

13
Figure 2.03 : Le premier prototype d’Arduino

2.3.1.3 La carte Arduino UNO


Il existe plusieurs types de carte Arduino comme l’Arduino Méga, Uno, Nano, Yun, Mini, …
Mais pour avoir le minimum de coût du projet, nous avons choisi la carte Arduino UNO. Elle est la
première version stable de la carte Arduino et aussi la plus utilisée.
La carte Arduino UNO est un microcontrôleur ATMega328. C’est un microcontrôleur ATMEL de
la famille AVR 8bits.
2.3.1.4 Caractéristique de la carte Arduino UNO
La carte de développement Arduino se compose de nombreux composants. Dans ce cas, nous allons
nous appuyer sur le type de carte « Arduino UNO » pour montre les principaux blocs de composants
qui aident à son fonctionnement

Figure 2.04 : Brochage d’une carte Arduino de type UNO http://technologuepro.com/


Caractéristiques principales :
 Microcontrôleur : ATmega328
 Tension de fonctionnement nominale : 5V

14
 Tension d'alimentation (recommandé) :7-12V
 Tension d'alimentation (limites) : 6-20V
 Entrées/sorties digitales : 14 (dont 6 pouvant être utilisées comme sorties PWM)
 Entrées Analogiques : 6 (10bits)
 Courant max par broches E/S: 40 mA
 Courant max sur sortie 3,3V: 50 mA
 Mémoire Flash : 32 KB (ATmega328) dont 0.5 KB utilisé par le bootloader (chargeur d’amorçage)
 SRAM: 2 KB (ATmega328)
 EEPROM: 1 KB (ATmega328)
 Fréquence d’horloge :16 MHz
 Interface: USB (permet d’alimenté la carte et de transféré les programmes vers la carte)
 Alimentation externe: Jack
 Dimensions: 6.86 cm * 5.3 cm. [2.09]
2.3.2 Microcontrôleur ATmega328
Le microcontrôleur est une composante très importante dans la carte Arduino. La puce qui équipe
la carte Arduino Uno est une « microcontrôleur ATmega328 ». C’est un microcontrôleur d’une
famille AVR® RISC de Micro chip 8 bits, dont la programmation peut être réalisée en langage
C/C++.
Le microcontrôleur ATmega328 embarque un processeur central pour l'exécution du programme
stocker dans une mémoire Flash ISP de 32 Ko, une SRAM de 2 Ko, une EEPROM de 1 Ko pour
enregistrer les informations et conserver les données. Ainsi qu’il possède des 23 lignes d'E/S
générales, 32 registres de travail généraux, un Le dispositif fonctionne entre 1,8 et 5,5 volts. Ces
broches sont utilisées pour connecter le microcontrôleur avec différents composants électroniques.
[1.01]

Figure 2.05 : Microcontrôleur ATmega328

15
2.3.3 Capteur IR (FC-51) [1]
Le détecteur infrarouge est un dispositif capable de repérer des mouvements ou une présence
physique sur l’ensemble du périmètre couvert par son capteur.

Figure 2.06 : Capteur IR (FC-51)

2.3.3.1 Description de capteur IR


Le capteur IR peut être alimenté par une tension entre 3 et 5 V DC, la présence de tension est
indiquée par sa LED rouge. Ce module utilise une paire de diodes infrarouges (un émetteur et un
récepteur) qui fonctionnent par réflexion. Il peut détecter un objet à une distance comprise entre 2
et 30 cm avec un angle de détection de 35°, cette distance peut être réglée par la résistance variable.
Ainsi la couleur influe également l'opération de détection. En effet, la distance de détection sera
minimale si l'objet est noir, et maximale s'il est blanc. En fin, La stabilité du signal est garantie par
l'utilisation d'un comparateur LM393.

Figure 2.07 : Structure d’un Capteur IR

Les broches de ce capteur sont :


Entrée du PIN:
 VCC : Entrée d'alimentation 3.3V-5V DC.
 GND: 0V Broche d'alimentation.
Sortie du PINOUT:
 Broche de sortie numérique.

16
2.3.3.2 Principe de fonctionnement
Lorsque Le capteur infrarouge envoie un rayonnement qui atteint le corps, il est réfléchi vers
le récepteur infrarouge.

Figure 2.08 : Principe de fonctionnement d'un capteur IR

Émetteur IR
Un émetteur infrarouge est une diode électroluminescente (LED) qui émet des radiations
infrarouges. C'est pourquoi on les appelle des LED IR. Même si une LED IR ressemble à une LED
normale, le rayonnement qu'elle émet est invisible pour l'œil humain.

Figure 2.09 : Émetteur IR

Récepteur IR
Les récepteurs infrarouges sont également appelés capteurs infrarouges car ils détectent le
rayonnement d'un émetteur IR. Les récepteurs IR se présentent sous la forme de photodiodes et de
phototransistors. Les photodiodes infrarouges sont différentes des photodiodes normales car elles
ne détectent que le rayonnement infrarouge. L'image d'un récepteur IR typique ou d'une photodiode
est présentée dans la figure.

17
Figure 2.10 : Récepteur IR
2.3.3.3 Schéma bloc d’un capteur IR
Lorsque l'émetteur IR émet un rayonnement, ce dernier atteint l'objet et une partie du
rayonnement est réfléchie vers le récepteur IR. Par conséquent, Le comparateur LM393 détecte la
faible valeur de résistance de la photodiode et envoie un signal logique haut (5V) à la sortie de
module (out).
Dans le cas contraire, Le comparateur LM393 détecte la valeur de résistance haute de la
photodiode et envoie un signal logique bas (0V) à la sortie du capteur (out).

Figure 2.11 : Schéma bloc d’un capteur IR

2.3.3.4 Schéma de câblage avec Arduino


Comme on peut le constater sur la figure, nous n'avons besoin que de 3 connexions au capteur. Les
connexions sont les suivantes : tension (rouge), masse (noire) et signal (jaune) pouvant être connecté
à n’importe quelle broche analogique de notre carte Arduino UNO. La figure illustre le schéma de
câblage du capteur IR (FC-51) avec la carte Arduino.

18
Figure 2.12 : Câblage de capteur IR avec la carte Arduino Uno

2.3.4 Servomoteur
Un servomoteur (vient du latin servus qui signifie « esclave »)
Le servomoteur est un moteur ayant la capacité de maintenir une position à un effort statique. Si
c’est en continu, la position du servomoteur est vérifiée, et en fonction de la mesure, elle est corrigée.
Ainsi, le système du servomoteur est dit immobilisé ou motorisé du fait qu’il atteigne des positions
prédéterminées. Les servomoteurs servent en principe à actionner les parties mobiles d’un système.
Ils sont prévus pour être commandés facilement en position ou en vitesse. En effet, ils sont équipés
d’un système d’asservissement basé sur un potentiomètre rotatif qui sert de capteur de rotation.
2.3.4.1 Description de servomoteur
Le servomoteur est un système relativement complexe qui intègre des composants électroniques et
électromécaniques.
Ce dispositif est composé d'un moteur à courant continu à deux fils, d'un train d'engrenages, d'un
potentiomètre, d'un circuit intégré et d'un arbre de sortie. De plus, ils sont connectés trois fils à ce
dispositif : un fil de terre (0V), un fil de tension d'entrée (généralement 4,5V à 6V) et un fil de
commande.
À l'aide du fil de commande envoie un signal à ce servomoteur, qui ordonne à l'arbre de tournerdans
une position angulaire spécifique (0°-180°).

Figure 2.13 : Structure de Servomoteur "9 grammes"

19
2.3.4.2 Le type de servomoteur choisi
Nous avons choisi le servomoteur de type SG90 pour que le système ne dispose aucun problème
lors de l’exécution du fonctionnement dans le projet gestion automatisé de parking.
Le Servo SG90 a ses caractéristiques comme suit :
Dimensions: 22,8 x 11,6 x 23,6 mm
Type standard « TowerPro SG90 »
Poids: 9g
Matériel principal: Plastique
Couleur principale: Bleu
Vitesse : 0.12 sec/60° sous 4.5V - 0.10 sec/60° sous 6.0V
Couple de décrochage : 1,2 Kg/cm sous 4.5V - 1,4 Kg/cm sous 6.0V
Tension d’alimentation: 4,5V – 6V
Prise servomoteur standard Orange Rouge Marron
Débattement angulaire : 180°
Consommation : 3,7 mA au repos - 170 et 250 mA en rotation
Durée d’impulsion : 544 microsecondes à la position 0° - 2400 microsecondes à 180°
Longueur du fil : 19 cm [2.10]

Figure 2.14 : Servomoteur SG90

2.3.4.3 Schéma de câblage avec Arduino


Le câblage est relativement simple, le fil rouge (ou orange en fonction des constructeurs) du
servomoteur doit être connecté sur la broche 5V de la carte Arduino, le fil noir (ou marron en
fonction des constructeurs) sur la broche GND et le fil jaune (ou blanc en fonction des constructeurs)

20
sur une broche numérique de la carte Arduino. La figure(numéro)illustre le schéma de câblage de
servomoteur avec la carte Arduino Uno.

Figure 2.15 : Connexion servomoteur avec la carte Arduino Uno

2.3.5 Module relais


Un module relais a pour rôle de convertir la tension du courant de 220 V en 5 V ou en 3.3 V, afin
de mieux alimenter les capteurs associés à ce module selon le projet adopté. Il est constitué de
plusieurs broches selon le nombre de canaux d’entrée à haute tension. Sur cette figure, on distingue
un seul canal donc on a 3 broches : la masse, la broche connectée à son module Arduino et
l’alimentation. [2.11]

Figure 2.16 : Module relais monocanal

2.3.6 Afficheur LCD I2C


Les afficheurs LCD (Liquid Crystal Display) sont devenus incontournables dans toutes applications
qui demandent la visualisation de paramètres, il s’agit donc d’une interface Homme/Machine. Ils
sont très utilisés dans les montages à microcontrôleur, et permettent une grande convivialité. Ils
peuvent aussi être utilisés lors de la phase de développement d'un programme, car on peut facilement
y afficher les valeurs de différentes variables. Vu de l’extérieur, les écrans LCD alphanumériques

21
sont essentiellement caractérisés par leur taille. Deux modèles se rencontrent très fréquemment et
sont les meilleurs marchés, celui ayant 2 lignes et 16 colonnes d’affichage et celui ayant 4 lignes et
20 colonnes d’affichage.
2.3.6.1 Connecteur de l’afficheur LCD
Ces deux écrans (afficheur LCD 16x2 et 20x4) ont exactement la même connectique, c’est à dire un
connecteur 16 broches. Ce connecteur véhicule plusieurs signaux dont une partie forme un bus de
communication parallèle 4 ou 8 bits selon la configuration choisie ainsi que les signaux permettant
de contrôler la communication entre l’Arduino et l’écran.
2.3.6.2 Communication avec le LCD
Il s'agit d'un écran LCD équipé d'un convertisseur I2C qui permet la connexion à Arduino en
utilisant seulement deux broches par connexion, plus les deux câbles d'alimentation. [2.12]

Figure 2.17 : Structure d’un écran LCD-I2C

2.3.6.3 Adresse I2C du LCD


Si vous utilisez plusieurs périphériques sur le même bus I2C, vous devrez peut-être définir une
adresse I2C différente pour la carte, afin qu'elle n'entre pas conflit avec autre périphérique I2C. Pour
ce faire, Il y a trois connexions nommées A0, A1 et A2 pour définir (3 bits) l'adresse I2C entre 0x20
et 0x27. L'adresse par défaut est 0x27 (A0, A1 et A2 laissés ouverts). Une paire est fermée en
connectant les deux plots respectifs ensemble. [2.12]

22
2.3.6.4 Schéma de câblage avec Arduino
La connexion d'un LCD I2C est beaucoup plus facile de connecter un écran LCD I2C que de
connecter un écran LCD standard. Il vous suffit de connecter 4 broches au lieu de 12.
Les caractéristiques:
• Affichage : 16 colonnes, 2 lignes.
• Tension : 5V uniquement nécessaires.
• Courant : 135 mA typique avec rétro-éclairage allumé.
• Modes : I2C / 9 600 bauds de communication série.
Branchement avec la carte Arduino
La connexion avec l’Arduino se fait comme ceci :
 SCL brancher avec A5 de l'Arduino.
 SDA brancher avec A4 de l'Arduino.
 GND avec le GND (la masse).
 VCC pour l'alimentation avec 5V de la carte Arduino.

Figure 2.18 : Connexion un écran LCD I2C avec la carte Arduino Uno
2.3.7 Diode électroluminescente
Une diode électroluminescente (DEL, en Anglais: Light-Emitting Diode, LED) est un composant
optoélectronique à base de semi-conducteur capable d’émettre de la lumière lorsqu’il est parcouru
par un courant électrique. Elle ne laisse passer le courant que dans un seul sens comme une diode
classique (de l’anode vers la cathode) et produit un rayonnement monochromatique ou
polychromatique non cohérent à partir de conversion d’énergie électrique lorsqu’un courant la
traverse. [2.13]

23
Figure 2.19 : Diode électroluminescente
L’utilisation des diodes électroluminescentes dans notre projet a pour but d’ajouter des
signalisations sur l’ESP32-CAM. A titre d’exemple, si l’accès de véhicule est autorisé au client
(QR code validé), une LED verte sera allumée sinon une LED rouge sera allumée.
2.3.8 Présentation du module ESP32-CAM
L'ESP32-CAM est une carte de développement ESP-WROOM-32 du fabricant AI Thinker associé
à une caméra couleur 2MP OV2640. Le module ESP32-CAM dispose également d'un lecteur de
carte SD qui pourra servir à enregistrer des images lorsqu'un événement est détecté (détecteur de
présence ou de mouvement par exemple) [2.14].
La société Espressif fournit une API complète qui permet d'accéder à toutes les fonctionnalités du
module caméra. C'est vraiment une excellente base pour développer son propre système de
vidéosurveillance IP sans avoir la crainte que le flux vidéo arrive sur des serveurs douteux [2.14].
L'ESP-32CAM peut être utilisé dans diverses applications IoT. Elle convient aux appareils
intelligents domestiques, aux commandes sans fil industrielles, à la surveillance sans fil, à
l'identification sans fil QR, aux signaux du système de positionnement sans fil et à d'autres
applications IoT. C'est une solution idéale pour les applications IoT [2.14].

24
Figure 2.20 : Un carte ESP32-CAM

2.3.8.1 Caractéristiques techniques du module ESP32-CAM


Le module ESP 32-CAM contient quelques caractéristiques techniques intéressantes qu’on pout
voir dans la fiche technique du fabricant. Ici, on décrites points essentiels liés à notre application:
Interfaces sans fil :
- Bluetooth: compatible 4.2, EDR et BLE
- Wifi 802.11b/g/n/e/i (compatible WPA, WPA2, WPA2-Enterprise et WPS)
Interfaces disponibles : UART, SPI, I2C, PWM, ADC et DAC
Fréquence d’horloge: jusqu’à 160 Mhz.
Puissance de calcul du microcontrôleur: jusqu’à 600 DMIPS.
Mémoire: 520 Ko SRAM + 4 Mo PSRAM + carte SD
Liens utiles: Il dispose de nombreuses méthodes de rechange, barrières fixes qui peuvent être mises
à niveau par OTA LED pour une utilisation avec mémoire flash intégrée.
Appareil photo: prend en charge les caméras OV 2640 qui peuvent être livrées dans l’emballage
ou achetées indépendamment. Ces types de caméras peuvent :
- 2MP sur le capteur
- Taille de matrice UXGA 1622 Taille de matrice 1200px
- Format de sortie, et 8 bits de compression de données.
- Vous pouvez déplacer une image entre 15 et 60 images par seconde [2.15].
Alimentation : 3,3 ou 5 Vcc
Consommation : 2000 mA maxi
Microcontrôleur : ESP32 à 240 MHz

25
Compatibilité : capteurs OV2640 et OV7670 (capteur OV2640 intégré)
Formats vidéo supportés : JPEG (OV2460)
Débit série : 115200 bps
Lecteur de carte micro-SD : 4 Go maxi, carte non inclus
Sortie : 3,3 Vcc
Broches GPIO : UART, SPI et I2C
Bouton reset
Température de service : -20 à 85 °C
Dimensions : 27 x 40 x 4,5 mm
Poids : 10 g [2.16]

Figure 2.21 : Les caractéristiques techniques du module ESP32-CAM

2.3.8.2 Brochage de ESP32-CAM


La carte de développement ESP32-CAM possède au total 16 broches qui la connectent au monde
extérieur. Les connexions sont les suivantes:

26
Figure 2.22 : Pin out d’ESP32-CAM
2.3.8.2.1 Applications de la carte ESP32-CAM :
La gamme d’applications des modules ESP32-CAM est très large. En particulier, ils sont bien
adaptés aux appareils domotiques, à l’électronique portable et à l’Internet des objets (IoT). Un
processeur efficace et de nombreux périphériques permettent de réaliser des projets très complexes
et avancés. Pour les utilisateurs débutants, cela peut poser problème, car la multitude de fonctions,
d’options disponibles et même la documentation de base (ESP32 Technical Reference Manual)
comprenant presque 700 pages peuvent déborder.
Heureusement, l’utilisation d’ESP32-CAM est assez simple grâce à de nombreuses solutions
toutes faites. Tous les logiciels nécessaires sont gratuits et, ce qui est le plus important, il est possible
de trouver sur Internet de nombreuses bibliothèques et beaucoup de projets qui peuvent constituer
une inspiration ou une base pour vos propres études.
A titre d’exemples, des applications de la carte ESP32-CAM peuvent être proposées dans les
domaines de robotique, réseaux locaux, automatisation des usines, systèmes de reconnaissance
faciale, domotique (smart home applications) ... [2.17]
2.3.9 Breadboard
La planche de montage expérimental (appelé en anglais breadboard et platine Labdec en
Français) est un outil essentiel pour l'électronique. Ce dispositif permet de réaliser le prototype d'un
circuit électronique et de le tester.
L'avantage de ce système est d'être totalement réutilisable, car il ne nécessite pas de soudure.
De plus, il permet une grande variété de composants afin de réaliser des circuits électroniques, du
plus simple circuit jusqu'au microprocesseur.

27
Elle est recouverte de trous (espacés de 0.1") dans lesquels on insère directement les broches
des composants électroniques. Sous ces trous, des languettes métalliques jouent un double rôle.
Elles agissent d'abord comme des pinces qui retiennent fermement les broches des composants. En
plus, ces languettes permettre de connecter électriquement les broches des composants. La
disposition des languettes peut varier suivant le type de breadboard.
Par contre, la plupart des modèles de breadboard ont une section plastifiée en leur milieu sur
le sens de la longueur. Ces trous sont liés en colonnes et en rangées comme il est illustré dans la
figure II. [2.18]

Figure 2.23 : Breadboard

2.4 Partie logicielle


2.4.1 Outils de développement:
Il existe une variété de plates-formes de développement qui peuvent être équipées pour programmer
l’ESP32-CAM :
 Arduino IDE avec le module ESP32 Arduino Core.
 Espruino.
 FAUST, langage de programmation de traitement de données audio, utilisant son DSP.
 Lua RTOS pour ESP32.
 MicroPython, une variante pour les systèmes embarqués du langage Python.
 Mruby une variante pour les systèmes embarqués du langage Ruby ;
Dans notre travail nous avons optés pour l'environnement de développement intégré Arduino
(Arduino IDE) qui est une application multiplateforme (pour Windows, macOS, Linux) écrite dans
des fonctions de C et C ++. Il est utilisé pour écrire et télécharger des programmes sur des cartes
compatibles Arduino et autres. Des modules supplémentaires doivent être ajoutés à l’IDE Arduino,
afin de programmer l’ESP32-CAM. [2.19]

2.4.2 Etude du système de développement Arduino IDE


2.4.2.1 Description de l’IDE
L'IDE est un logiciel de programmation qui permet d'écrire, de modifier un programme et de le
convertir en une série d'instructions compréhensibles pour la carte. Il programme par code,

28
contenant une cinquantaine de commandes différentes. Le langage de l’IDE Arduino est un mélange
entre le C et le C++, il possède un jeu d’instruction très riche. A l’ouverture, L'interface du logiciel
Arduino se présente de la façon suivante : [2.20]

Figure 2.24 : Interface de logiciel IDE Arduino

➢ Barre1 : Options de configuration du programme tel que :


 Créer un nouveau programme ou ouvrir un programme existant.
 Enregistre/demande où enregistrer le document en cours.
 Toute une liste se déroule pour afficher les noms d'exemples de programmes Existant...etc.
➢ Barre2 : boutons pout la programmation des cartes :

Figure 2.25 : Présentation des boutons

 Vérifier (Verify) : vérifier les erreurs dans le code.


 Charge (Upload) : compiler le code et charge le programme sur la carte Arduino.
 Nouveau (New) : créer un nouveau sketch.
 Ouvrir (Open) : ouvrir un des sketchs déjà présents.
 Sauvegarder (Save) : sauvegarder le sketch.
 Serial Monitor : permet d'accéder au port série (en RX/TX).

29
➢ Barre3 : programme à créer.
➢ Barre4 : débogueur (affichage des erreurs de programmation). [2.20]

2.4.2.2 Structure d’un programme Arduino


Un programme Arduino est constitué de trois parties :
 La partie où l'on déclare les variables, affecte les broches, appelle les bibliothèques.
 L'initialisation (Setup) où l'on configure les broches en entrée ou en sortie, initialise les différents
objets (comme le moniteur série, les composants ayant leur propre bibliothèque. Cette fonction est
exécutée une seule fois après la mise sous tension de la carte ou après un reset.
 Le programme principal (Loop). Cette fonction est répétée indéfiniment.
 Coloration syntaxique : Lorsqu’un code est écrit dans l'interface de programmation, Certains
mots apparaissent en différentes couleurs qui clarifient le statut des différents éléments :
 En orange, apparaissent les mots-clés reconnus par le langage Arduino comme des
Fonctions existantes. Lorsqu'on sélectionne un mot coloré en orange et qu'on effectue un Clic avec
le bouton droit de la souris, on a la possibilité de choisir « Find in reference » : cette commande
ouvre directement la documentation de la fonction sélectionnée.
 En bleu, apparaissent les mots-clés reconnus par le langage Arduino comme des
Constantes.
 En gris, apparaissent les commentaires qui ne seront pas exécutés dans le programme. Il
est utile de bien commenter son code pour s'y retrouver facilement ou pour le transmettre à d'autres
personnes. [2.20]
2.5 Conclusion
Ce second chapitre nous a permis de comprendre les blocs des matériels utilisés, de connaitre
les notions de base, les caractéristiques et choix des composants et surtout les différentes méthodes
à suivre pour faire fonctionner ce projet. Les équipements choisis pour la réalisation du prototype
ont été sélectionnée en se basant sur beaucoup de critère comme le cout des équipements ou bien la
performance du matériel.

30
CHAPITRE 3 : Réalisation et expérimentation

3.1 Introduction
Après avoir choisir les matériels utilisés du parking, nous allons passer à l’étude et la réalisation
pour pouvoir évaluer la rentabilité du projet.

3.2 Contrainte
Il est nécessaire d’étudier les contraintes et les risques lors de la conception de notre projet et de
proposer des solutions.
Dans notre projet, les contraintes sont la coupure d’électricité, la luminosité trop faible et la
destruction de l’ESP32-CAM.
La solution à ces problèmes est de placer un dispositif pour alimenter le système à l’extérieur,
assurer la stabilité de lumière quand il fait nuit et de renforcer la couverture de l’ESP32-CAM par
une résilience c’est-à-dire indestructible.

3.3 Partie réalisation

3.3.1 Synoptique du système


Voici un schéma synoptique du système:

Figure 3.01 : Schéma synoptique du système

31
3.3.2 Implantation du système
 Installation et configuration ESP32 avec Arduino IDE
L’utilisation des microcontrôleurs ESP32 n’est pas supportée nativement par l’IDE Arduino. La
source du fabricant Espressif System au format JSON doit être ajoutée à l’outil de programmation.
Cette source permet d’ajouter facilement les cartes du fabricant dans l’IDE.
Rendez-vous dans « Fichier -> préférences -> URL de gestionnaires de cartes supplémentaires » et
effectuez un copier/coller de cette URL:
https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_
esp8266com_index.json
Placez-vous ensuite dans gestionnaire de carte.

Placez-vous ensuite dans gestionnaire de carte.

L’ajout du la source Espressif permet maintenant l’installation de la plupart des cartes basées sur un
ESP32.
Effectuez une recherche sur ESP32. Cliquez sur installer et patientez jusqu’à la fin de l’installation.

32
Sélectionnez la carte AI THINKER ESP32-CAM dans « Outils -> Type de carte ».

Ouvrez maintenant l’exemple « CameraWebServer ».

 Connexion ESP32-CAM avec Arduino :


La programmation de la carte ESP32-CAM est similaire à celle des modules ESP32, à une différence
majeure près. La carte ESP32-CAM n’a pas de port USB, elle ne peut donc pas être connectée
directement à un ordinateur. L’utilisation de l’Arduino est donc nécessaire.
Connectez le fil Vcc de l’ESP32-CAM au broche 5V de l’Arduino uno
Connectez le fil GND de l’ESP32-CAM au broche GND de l’Arduino uno.
Connectez le fil UOT de l’ESP32-CAM au broche RX de l’Arduino.

33
Connectez le fil UOR de l’ESP32-CAM au broche TX de l’Arduino uno.
 Modification du code
Dans l’exemple de code ouvert, sélectionnez le modèle de caméra correspondant au module AI
THINKER ESP32-CAM.
Cette sélection se fait simplement en supprimant les « // » de commentaires devant la ligne « #define
CAMERA MODEL AI THINKER » et en commentant la ligne choisie par défaut :

 Téléversement du code dans l’ESP32


Lors du téléversement du programme, il est nécessaire d’effectuer un reset du module quand l’IDE
essaie de se connecter à l’ESP32, pendant cette phase:

Une fois le reset effectué, le code s’uploade normalement et l’IDE affiche un message de
téléversement correctement effectué:

Par la suite, nous ouvrons Serial Monitor sur Arduino IDE à un taux baud de 115200 en appuyant
sur le bouton de réinitialisation esp32-cam intégré au bouton RST ESP32-CAM ; l’unité de caméra
et le QRCodeReader prêt seront imprimés sur Serial Monitor comme indiqué dans l’image suivante.

34
Figure 3.02 : Résultat sur serial monitor

3.4 Notion de QR code


Un code QR (en anglais QR code), en forme longue quick response code (« code à réponse rapide
»), est un type de code-barres à deux dimensions constitué de modules-carrés noirs disposés dans
un carré à fond blanc.
Ces points définissent l'information que contient le code. Ce dessin, lisible par machine, peut être
visualisé sur l'écran d'un appareil mobile ou imprimé sur papier.
Un code QR contient jusqu’à environ (cela dépend du contexte technique) 7000 chiffres ou 4000
caractères quelconque. Il peut intégrer une sorte d’ECC (Error-Correcting Code) autorisant jusqu’à
30% de dommages sans perte d’information.
Parfois dit à matrice, matriciel, bidimensionnel…

35
3.5 Organigramme du système

Figure 3.03 : Organigramme du système

36
3.6 Scenario de l’utilisation du parking
a. A l’entrée du parking, l’ESP32-CAM scanne le code QR de la voiture.

Figure 3.04 : ESP32-CAM scanne le QR Code


b. Le code scanné est ensuite comparé à ceux qui se trouvent dans la base de données.
c. Dans le cas où le QR code du véhicule correspond à un des QR code de la base de données,
l’ESP32-CAM envoie un signal simultanément au Led et Arduino. Suite au signal, le Led
s’allume en vert. Arduino, quant à lui, procèdera à un envoi de signal à l’écran LCD pour
que ce dernier affiche « Accès autorisé ».

Figure 3.05 : Schéma Accès autorisé

37
d. Le servomoteur recevra aussi un signal d’Arduino afin d’ouvrir la barrière que laisser passer
le véhicule.

Figure 3.06 : Schéma d’ouverture de la barrière


e. Les capteurs infrarouges permettront de détecter la présence de véhicules et les places libre
de parking.

Figure 3.07 : Schéma de place libre et place occupé sur LCD

f. Un infrarouge installé non loin de la barrière détectera que le véhicule est passé et enverra
un signal à Arduino pour que ce dernier ferme la barrière.

38
Figure 3.08 : Schéma de fermeture de la barrière à l’entrer
g. Lors de la sortie du véhicule, l’infrarouge enverra un signal à Arduino pour l’ouverture de
la barrière.

Figure 3.09 : Schéma de l’ouverture de la barrière à la sortie

39
h. Dans le cas où le QR code n’existe pas dans la base de données, le Led s’allume en rouge.
Arduino enverra un signal à l’écran pour afficher « Accès refusé » et la barrière ne s’ouvrira
pas.

Figure 3.10 : Schéma de l’Accès refuse

40
3.7 Gestion des informations (LOGICIEL GAP-GESTION AUTOMATISE DE
PARKING)
Le logiciel GAP se fait par JavaScript, sur la technologie: React, html, css sur la coté client et
nest js, base de données, api sur la coté serveur.

i. Page d’authentification
Cette fonctionnalité a été mise en place pour des raisons de sécurité. L’utilisateur en charge de la
gestion du parking aura besoin de s’authentifier pour pouvoir se connecter et utiliser les fonctions
de l’application. L’authentification se fait à l’aide d’un login et d’un mot de passe qui est inséré
manuellement via l’interface.

Figure 3.11 : Schéma de page d’authentification


ii. Page d’accueil de l’application
L’interface de l’accueil de l’application comprend :
- En haut : le logo et l’affichage de l’utilisateur connecté,
- A gauche : les menus pour pouvoir parcourir l’application
- A droite : quelques informations nécessaires à l’utilisation de l’application

41
Figure 3.12 : Schéma d’accueil de l’application

iii. Le menu Dashboard


Le menu Dashboard permet d’avoir un aperçu du nombre total de clients, des parkings du système
et d’administrateurs connectés.

Figure 3.13 : Schéma du menu Dashboard

42
iv. Ajout d’un nouvel admin
Cette option permet l’ajout d’un nouvel administrateur. Elle est réservée au super
administrateur, qui est le seul à pouvoir ajouter des administrateurs au système.
Pour ajouter un nouvel administrateur, il faut compléter les champs qui correspondent à
l’adresse email, aux nom et prénom et au mot de passe. Une fois ces informations complétées, il
suffit de cliquer sur le bouton « ajouter » qui se trouve en dessous des champs ; ainsi les
informations sur le nouvel administrateur s’afficheront dans la liste des administrateurs du système.

Figure 3.14 : Schéma d’ajouter un nouveau admin

43
v. Liste des utilisateurs (gérant du système)
Cette liste regroupe les utilisateurs de l’application avec leur ID, leur nom, leur prénom, leur
email, leur rôle et la date (ou ils adhèrent).
Les personnes figurant dans cette liste sont celles qui gèrent les clients et les parkings.

Figure 3.15 : Schéma de liste des utilisateurs

44
vi. Ajout d’un client
Cette fonctionnalité permet l’ajout d’un nouveau client. Les informations à compléter pour
un nouvel ajout sont le sexe, l’email, les nom et prénom, le numéro de téléphone, la marque de
voiture, la plaque d’immatriculation et le code client.
Tout comme pour l’ajout de l’administrateur, il faut cliquer sur le bouton « ajouter » en dessous des
champs à compléter, et les informations dur la personne ajoutée s’affichera dans la liste des clients.

Figure 3.16: Schéma d’ajouter de client


Figure 3.16 : Schéma d’ajouter de client

45
vii. Listes des clients
C’est un tableau qui affiche tous les clients enregistrés dans la base de données.
L’application donne la fonctionnalité d’ajouter et de supprimer un client.

Figure 3.17 : Schéma des listes des clients

46
viii. Page d’accueil de QR Code
Cette page est dédiée au téléchargement du QR code. Les clients enregistrés dans la base de données
peuvent y télécharger leur QR Code.
Le QR code est composé de leur nom, numéro de voiture et code client.

Figure 3.18 : Schéma de page d’accueil de QR Code

47
ix. Modification d’un client
Cette fenêtre a la fonctionnalité de pouvoir modifier les informations sur un client déjà inscrit.
Pour finaliser la modification, il suffit de cliquer sur le bouton « modifier » et les changements
d’informations concernant les clients seront ainsi enregistrés.

Figure 3.19 : Schéma de modification de client

48
x. Ajout d’un nouveau parking
Pour ajouter un nouveau parking, la seule information à entrer est le numéro du parking. Il faut,
bien entendu, cliquer sur le bouton « ajouter » et le parking figurera dans la liste des parkings du
système.

Figure 3.20 : Schéma d’ajout de nouveau parking

49
Liste des parkings et son état
Cette fenêtre donne un aperçu de l’état de tous les parkings du système. Elle permet, entre autre,
d’identifier les parkings complètement occupés et ceux disposant encore de places libres.
L’état du parking se distingue grâce à un code couleur :
 Le vert signifie que des places sont encore disponibles.
 Le rouge indique que toutes les places sont occupées.

Figure 3.21 : Schéma de liste des parkings et son état

50
3.8 Résultat final après assemblage

Figure 3.22 : Schéma de résultat final de prototype

3.9 Recommandations d’améliorations


Plusieurs améliorations pourront être apportées à cette réalisation comme :
-L’utilisation d’une carte électronique plus performante avec un serveur afin de suivre les traces
(heures et dates) des clients qui circulent et aussi de compter le nombre de véhicules qui entrent ou
qui sortent.
-L’association de ESP32-CAM avec des capteurs de température, de flamme pour connaître l’état
du parking.
-Il y a encore d’autres microprocesseurs qui peuvent faire le même travail que celle que nous avons
choisi par exemple le Rasberry qui est aussi une carte programmable mais son coût est beaucoup
plus cher comparer à la carte Arduino.
- L’utilisation d’une mémoire externe pour stocker les données afin de créer une base de données
destinée au recueil des Big Data afin d’optimiser les décisions du parking automatique.
- La création d’un réseau de parking automatique pour couvrir un vaste territoire.

51
3.10 Coût de réalisation
Dans notre projet, nous avons choisi les modules à petit prix mais efficaces. Nous allons faire le
devis de notre projet en calculant les prix des modules.

Tableau 3.01 : Coût du projet

Désignations Quantités Prix unitaire Prix total


(Ariary) (Ariary)

ESP32-CAM 01 70 000 70 000


Arduino UNO 02 60 000 120 000
LED 2 500 1000
Servo moteur 01 10 000 10 000
Afficheur LCD 01 22 000 22 000
Jumper 40 300 12 000
Breadboard 01 8000 8000
Total 243 000

3.11 Conclusion
Dans ce chapitre, nous avons élaboré un système pour le parking automatique en tenant
compte de son plan et de sa structure. Ensuite nous avons détaillé les différentes étapes de
conception et de réalisation du système. A la réalisation, nous avons présenté trois blocs : le bloc
d’accès au parking, le bloc de gestion du parking avec les bases de données et le bloc d’affichage
des informations.
Une fois le système réalisé, plusieurs essais ont été effectués. Ces tests nous ont permis de
valider le bon fonctionnent de notre système.

52
CONCLUSION ET PERSPECTIVES
Depuis des années, il a été constaté dans plusieurs villes, notamment dans la capitale, que
les conducteurs avaient beaucoup de difficultés à trouver facilement un emplacement pour se garer.
La recherche de place et l’ouverture manuelle de la barrière prennent du temps, causant la frustration
et la colère des usagers.
C’est pour cette raison que nous avons besoin d'un nouveau système qui aide d’un côté, les usagers
à gagner du temps pour la recherche d'une place de stationnement et d’un autre, les administrateurs
à faciliter leur travail. La nécessité de ces options a conduit à l'émergence d'un nouveau terme
appelé « gestion de parking automatique », un système basé sur l’Arduino Uno et l’ESP32-CAM.
Dans notre travail, nous avons utilisé une méthode qui repose sur l’installation des capteurs
(d’images et Servo, IR) reliés à des cartes électroniques Arduino. Ces cartes Arduino gèrent
l’ensemble de ces capteurs, modules, actionneurs et déclencheurs selon la situation. L’allumage des
leds et l’affichage sur l’écran LCD indiquent à l’usager s’il peut avoir accès au parking ou non.
La réalisation de ce projet nous a permis d’acquérir des connaissances supplémentaires en
conception et en développement. Nous avons appris à travailler sur des cartes programmables ayant
des capacités et des performances élevées, à savoir Arduino, et à maitriser le langage permettant
d’interagir avec elles.
En réalisant ce projet, j’ai pris conscience de l’existence des limites du système, ce qui m’a conduit
à réfléchir sur les potentielles perspectives d’améliorations et autres idées permettant rendre le
système plus performant. L’utilisation d’une caméra plus performante et l’insertion d’un serveur
pour que notre système donne des résultats précis et en temps réels sont à prévoir.
La réalisation de ce projet a été pour moi, un développement personnel. Cette expérience m’a permis
de mettre en pratique les connaissances acquises durant ces trois années d’études au sein de l’école
supérieure polytechnique de Vontovorona de l’Université d’Antananarivo. Cela m’a aussi conduit
à introspection, m’ayant permis de cerner mes lacunes et les compétences qui me restent à exploiter
pour les années à venir.

53
ANNEXES
Annexe 1: Extrait de code de programmation sur l’ESP32-CAM
#include "esp_camera.h"
#include "soc/soc.h"
#include "soc/rtc_cntl_reg.h"
#include "quirc.h"
// creating a task handle
TaskHandle_t QRCodeReader_Task;

/* ======================================== Select camera model */


//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM
//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM
#define CAMERA_MODEL_AI_THINKER
#define Signal_Pin 12
#define Signal_Var 2
/* ======================================== Variables declaration */
struct QRCodeData
{
bool valid;
int dataType;
uint8_t payload[1024];
int payloadLen;
};
struct quirc *q = NULL;
uint8_t *image = NULL;
camera_fb_t * fb = NULL;
struct quirc_code code;
struct quirc_data data;
quirc_decode_error_t err;

I
struct QRCodeData qrCodeData;
String QRCodeResult = "";
void setup() {
// Disable brownout detector.
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);
/* ---------------------------------------- Init serial communication speed (baud rate). */
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();

pinMode (Signal_Pin, OUTPUT);


pinMode (Signal_Var, OUTPUT);
/* ---------------------------------------- Camera configuration. */
Serial.println("Start configuring and initializing the camera...");
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;

II
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 10000000;
config.pixel_format = PIXFORMAT_GRAYSCALE;
config.frame_size = FRAMESIZE_QVGA;
config.jpeg_quality = 15;
config.fb_count = 1;

#if defined(CAMERA_MODEL_ESP_EYE)
pinMode (13, INPUT_PULLUP);
pinMode (14, INPUT_PULLUP);
#endif
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf("Camera init failed with error 0x%x", err);
ESP.restart();
}
sensor_t * s = esp_camera_sensor_get();
s->set_framesize(s, FRAMESIZE_QVGA);
Serial.println("Configure and initialize the camera successfully.");
Serial.println();
/create "QRCodeReader_Task" using the xTaskCreatePinnedToCore() function */
xTaskCreatePinnedToCore(
QRCodeReader, /* Task function. */
"QRCodeReader_Task", /* name of task. */
10000, /* Stack size of task */
NULL, /* parameter of the task */
1, /* priority of the task */
&QRCodeReader_Task, /* Task handle to keep track of created task */
0); /* pin task to core 0 */
}
void loop() {
void QRCodeReader( void * pvParameters ){

III
Serial.println("QRCodeReader is ready.");
Serial.print("QRCodeReader running on core ");
Serial.println(xPortGetCoreID());
Serial.println();
/* Loop to read QR Code in real time. */
while(1){
q = quirc_new();
if (q == NULL){
Serial.print("can't create quirc object\r\n");
continue;
}
fb = esp_camera_fb_get();
if (!fb)
{
Serial.println("Camera capture failed");
continue;
}
quirc_resize(q, fb->width, fb->height);
image = quirc_begin(q, NULL, NULL);
memcpy(image, fb->buf, fb->len);
quirc_end(q);

int count = quirc_count(q);


if (count > 0) {
quirc_extract(q, 0, &code);
err = quirc_decode(&code, &data);

if (err){
Serial.println("Decoding FAILED");
QRCodeResult = "Decoding FAILED";
} else {
Serial.printf("Decoding successful:\n");

IV
dumpData(&data);}
if (QRCodeResult.equals("Mahatoky")) {
digitalWrite(Signal_Pin, HIGH);
delay (5000);
digitalWrite(Signal_Pin, LOW);}
if (QRCodeResult.equals("Itokiana")) {
digitalWrite(Signal_Pin, HIGH);
delay (5000);
digitalWrite(Signal_Pin, LOW);}
else {
digitalWrite(Signal_Var, HIGH);
delay (5000);
digitalWrite(Signal_Var, LOW);
}
Serial.println();
}
esp_camera_fb_return(fb);
fb = NULL;
image = NULL;
quirc_destroy(q);
}
}
void dumpData(const struct quirc_data *data)
{
Serial.printf("Version: %d\n", data->version);
Serial.printf("ECC level: %c\n", "MLHQ"[data->ecc_level]);
Serial.printf("Mask: %d\n", data->mask);
Serial.printf("Length: %d\n", data->payload_len);
Serial.printf("Payload: %s\n", data->payload);

QRCodeResult = (const char *)data->payload;


}

V
Annexe 2: Extrait de code de programmation sur Arduino

#include <Servo.h>

#include <LiquidCrystal_I2C.h>

Servo myservo;

LiquidCrystal_I2C LCD(0x27,16,2);

int FermInfraB = A0;

int OverInfraB = A1;

const int ESP32CamSignalPin = 2;

const int ESP32CamVar = 4;

void setup() {

Serial.begin(9600);

pinMode(FermInfraB, INPUT);

pinMode(OverInfraB, INPUT);

pinMode(ESP32CamSignalPin, INPUT);

pinMode(ESP32CamVar, INPUT);

LCD.init();

myservo.attach(9); // Attacher le servomoteur au Pin 9

myservo.write(0); // Position initiale du servomoteur

void loop() {

if (digitalRead(ESP32CamSignalPin) == HIGH) {

Serial.println("Code QR détecté!");

LCD.backlight();

LCD.setCursor(1,1);

LCD.print ("ACCES AUTORISE");

VI
myservo.write(90);

delay(4000);

LCD.clear ();}

else if(digitalRead(FermInfraB) == LOW){

myservo.write(0);

else if(digitalRead(OverInfraB) == LOW){

myservo.write(90);

delay(4000);

myservo.write(0);

else if (digitalRead(ESP32CamVar) == HIGH) {

Serial.println("Code QR détecté!");

LCD.backlight();

LCD.setCursor(1,1);

LCD.print ("ACCES REFUSE");

delay(4000);

LCD.clear ();

VII
REFERENCES

[1.01] Betol Sid Ahmed et Reghmit Houcine, “conception et realization d’un smart parking à
base d’arduino”, 2021 – 2022

[1.02] Tikialine Y, Khedda K. 2018 « Etat de l’art de smart parking, étude et conception d’un
prototype de stationnement intelligent », », Projet de fin d’étude pour l’obtention du
diplôme de Master en Génie électrique, Université Djilali Bounaama - khemis Miliana

[1.05] H, Houdjedje Y. 2017 « Conception d’un système de parking automatisé pour les
voitures légères », Projet de fin d’étude pour l’obtention du diplôme de Master en Génie
industriel, Université Abou Bekr Belkaid –Tlemcen

[1.08] Amnache A, Ouadi A. 2011 « Gestion d’un ensemble de parkings automobiles », Projet
de fin d’étude pour l’obtention du diplôme de Master en Génie électrique, Université
Mouloud Mammeri de TIZI OUZOU

[2.01] Belfaked Hassina. "Système automatique de production et adaptation d’un automate à


une machine de l’Électro-industrie". Mémoire de Fin d’Etudes. Universite Mouloud
Mammeri De Tizi-Ouzou, 2011.

[2.02] Reggae Yasser et Chariat Abdul-Haq, « Commande d'un ascenseur à l'aide d'un
automate programmable industriel »,2021-2022

[2.03] Disponible sur. batna2.dz/sites/default/files/sc-st/files/archi.-des-systèmes


automatises.pdf.

[2.05] CHIKH Badereddine, BARKA Abdelwahab « Système de verrouillage de la porte avec


un système d’alarme basé sur la technologie RFID et le clavier en utilisant Arduino »,
2020 – 2021

[2.06] KAHILA SAID, BOUAKLINE IBTISSAM « Etude conception et réalisation d’un


suiveur solaire biaxiale » UNIVERSITE AKLI MOAND OULHADJ DE BOUIRA
2018/2019

VIII
E. Bartman, « le grand livre Arduino », Eyrolles : Paris, 5 Mars 2015.
[2.11]

[2.13] BAIRI ABDELGHANI et AMMOUR ABDELMADJID, « REALISATION D’UN


SYSTEME DE STATIONNEMENT INTELLIGENT », mémoire master en
électronique, 2018 – 2019

Ketreb I, Lakbal A. 2019 « Conception et réalisation d’un système de sécurité pour une
[2.18]
maison à base de communication Arduino GSM » Projet de fin d’étude pour l’obtention
du diplôme de Master en Génie électrique, Université Mouloud Mammeri de TIZI-
OUZOU
S. BOUANIK et S. BOUDJATAT, « Conception et réalisation d'un système de capteurs
[2.19]
sans fil pour la maintenance prédictive des machines », mémoire master, Centre
Universitaire Abdelhafid Boussouf - Mila (2020)
BOUZIR Rami et KACIMI Athman, « Réalisation d’un bras manipulateur à base
[2.20]
D’Arduino », mémoire master, Université BOUIRA (2019)
https://fr.wikipedia.org/wiki/Parking, ( juin 2023 )
[1.03]

https://www.evo-park.com/guide-comparatif-types-parking , 24/07/2023
[1.04]

https://skyline-parking.com/automated-parking-systems/aps-benefits,
[1.06]

[1.07] https://www.bookingninjas.com/blog/pros-and-cons-of-parking-management-systems,
02/07/2023

Disponible sur. http://blog.univ-angers.fr/systemeautomatise/exemple-de-systemes-


[2.04]
automatises/ , 26/07/2023

[2.07] http://www.techmania.fr/arduino/Decouverte_arduino.pdf, 20 juillet 2023

https://fr.flossmanuals.net/arduino/historique-du-projet-arduino/, 26 juillet 2023


[2.08]

https://boutique.semageek.com/fr/2-arduino-uno-dip-rev3-3004958542305.html,
[2.09]
26/07/2023
https://lastminuteengineers.com/i2c-lcd-arduino-tutorial/, 09 juillet 2023
[2.12]

https://letmeknow.fr/fr/cartes-compatibles/1788-carte-de-developpement-esp32-
[2.14]
cam%20camera-bluetooth-wifi-ov2640-7426925369115.htm, 26 juillet 2023
https://www.hwlibre.com/fr/esp32-cam/, 25 juillet 2023
[2.15]

https://www.gotronic.fr/art-module-esp32-cam-32630.htm, 05 Août 2023


[2.16]

IX
https://www.tme.eu/fr/news/library-articles/page/21733/Une-large-gamme-de-
[2.17]
modulesESP32/

X
FICHE DE RENSEIGNEMENTS

Nom : RAKOTOSALAMA

Prénoms : Lova Tahiry

Adresse de l’auteur : Lot SAT 21 FKT SOAMANANDRAY

Téléphone : +261 34 68 163 80

E-mail : tahiryrakotosalamana@gmail.com

Titre du mémoire : GESTION AUTOMATISE DE PARKING

Nombre de pages : 53

Nombre de tableaux : 1

Nombre de figures : 55

Encadreur pédagogique : RAMAROZATOVO Vonjy

Téléphone : +261 34 98 351 60

Mail : vonjy.ramarozatovo@gmail.com

XI
RESUME ET MOTS CLES

De nos jours, le monde fait face à un accroissement considérable du nombre de véhicules en


circulation. Suite à cela, la gestion de parking se complique.
Ceci nous a conduit à concevoir et à réaliser un système de gestion de parking automatique, plus
optimisé, en utilisant un QR CODE.
Ces scénarios sont automatisés grâce à un microcontrôleur (Arduino UNO) relié à une caméra (de
type ESP 32 CAM), à un module infrarouge, à des composants électroniques (servomoteur, les leds),
à un écran LCD et ainsi qu’à une site web. Une grande partie du travail des gestionnaires du parking
se fera via le site web, qui hébergera le lien de téléchargement du QR code et dans lequel seront
stockées les informations sur les client et l’état du parking.
Mots clés: Parking automatique, gestion, Arduino UNO, ESP 32 CAM, QR CODE

ABSTRACT AND KEYWORDS

Nowadays, the world is facing a considerable increases of the amount of vehicles on the road. As a
result, parking management becomes complicated.

This lead us to design and create a more optimized automatic parking management system using a
QR CODE.

These scenarios are automated thanks to a microcontroller (Arduino UNO) connected to a camera
(ESP 32 CAM), to an infrared module, to electronic components (servomotor, LEDs), to an LCD
screen and as well as to a website. Much of the work of parking managers will be done via website,
which will host the QR code download link and where customer information and parking status will
be stored.

Keywords: Automatic parking, management, Arduino UNO, ESP 32 CAM, QR CODE

Vous aimerez peut-être aussi