0% ont trouvé ce document utile (0 vote)
38 vues84 pages

Memoire Jovil

Ce mémoire présente la conception et la réalisation d'une maison intelligente utilisant la technologie Arduino, visant à démontrer les capacités de cette plateforme pour créer un environnement domotique accessible et innovant. Une maquette fonctionnelle a été développée pour simuler des fonctionnalités telles que la gestion de l'énergie, la sécurité et le confort, contrôlées via une application mobile. Le projet s'inscrit dans un contexte de croissance de la domotique, répondant aux besoins évolutifs de l'habitat moderne.

Transféré par

hamzaoui.elect
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues84 pages

Memoire Jovil

Ce mémoire présente la conception et la réalisation d'une maison intelligente utilisant la technologie Arduino, visant à démontrer les capacités de cette plateforme pour créer un environnement domotique accessible et innovant. Une maquette fonctionnelle a été développée pour simuler des fonctionnalités telles que la gestion de l'énergie, la sécurité et le confort, contrôlées via une application mobile. Le projet s'inscrit dans un contexte de croissance de la domotique, répondant aux besoins évolutifs de l'habitat moderne.

Transféré par

hamzaoui.elect
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE LA FORMATION ET DE L'ENSEIGNEMENT PROFESSIONNELS


INSTITUT NATIONAL SPECIALISE DE LA FORMATION PROFESSIONNELLE
EL HAMRI ORAN

Mémoire de fin d'étude pour l'obtention du diplôme de Brevet de


Technicien Supérieur en
MAINTENANCE DES SYSTEMES INFORMATIQUES

Thème :

RÉALISATION D’UNE MAISON INTELLIGENTE


À BASE D’ARDUINO

Réalisé par : Encadré par :

Jovial Elyas BEARIVO Mlle HAMZAOUI

ANNEE DE FORMATION : 2023-2026


Remerciements

Tout d’abord, je tiens à remercier tout

particulièrement et à témoigner toute ma

reconnaissance aux personnes suivantes, pour

leur dévouement et leur soutient dans la

concrétisation de ce projet :

Ces remerciements vont tout d’abord à mon

encadreur Mlle HAMZAOUI et vers tous ceux qui

ont accepté avec bienveillance de participer au

jury de ce mémoire ainsi qu’à tous mes proches

et amis, qui m’ont toujours encouragé au cours

de la réalisation de ce mémoire.
Dédicaces

Je dédie ce travail à ceux qui m’ont


donné la vie, à mes chers parents, malgré
la distance, a été une source constante de
force et de motivation.
Que Dieu les garde et les protège.
À tous ceux qui me sont chers,
À tous ceux que j’aime.
Et à tous ceux qui m’aiment.
Je vous dédie humblement ce mémoire.

Jovial Elyas BEARIVO


Résumé
Ce projet de recherche porte sur la conception et la réalisation d’une maison intelligente
basée sur la technologie Arduino. L’objectif est de démontrer les capacités de cette
plateforme open-source pour créer un environnement domotique accessible, économique et
innovant. Une maquette fonctionnelle à été développée afin de simuler les principales
fonctionnalités d’une maison intelligente, notamment la gestion de l’énergie, la sécurité et
le confort. Le système est entièrement contrôlé à l’aide d’une application mobile connectée
via WI-FI, offrant une interface intuitive pour piloter les dispositifs.

Abstract
This research project focuses on the design and implementation of a smart home based on
Arduino Technology. The objective is to demonstrate the potential of this open-source
platform for creating an accessible, cost-effective, and innovative home automation
environment. A functional model has been developed to simulate the main features of a
smart home, including energy management, security, and comfort. The system is entirely
controlled through a mobile application connected via Wi-Fi, providing an intuitive
interface to manage the devices.
INTRODUCTION
GENERALE
INTRODUCTION GENERALE
Dans le cadre du PFE (Projet de Fin d’Etude), chaque étudiant doit participer à la
réalisation d’un projet. J’ai fait un choix entre plusieurs thématiques.
J’ai entrepris le travail sur la Maison Intelligente (SMART HOUSE) avec Mlle Hamzaoui
comme enseignante responsable.

La technologie prend de plus en plus de place dans notre vie quotidienne, apportant avec
elle confort, aisance et rapidité à l’homme ; une personne à mobilité réduite fait ses courses
sur internet. De l’automobile au Smartphone, qui ne nous quittent pas d’un œil, maintenant
c’est au tour de l’endroit où nous passons plus de la moitié de notre temps, à savoir notre
maison.

Tout comme notre vie en général, l’habitat du futur doit impérativement s’adapter aux
besoins évolutifs de l’homme, une maison intelligente se distingue d’une maison classique
par sa capacité à regrouper les technologies de l’électronique, de l’automatique, de
l’informatique et des télécommunications permettant d’améliorer le confort, la sécurité, la
communication et la gestion d’énergie d’une maison, pour rendre ceux-ci plus
« intelligents ».
Malheureusement, nos maisons sont dépourvues de système de sécurité, le taux de
cambriolage des habitats est élevé et le nombre de victime de gaz et d’incendies est
important.
Les applications possibles dans une maison intelligente concernant aussi bien la
programmation, la surveillance, que le contrôle à distance, offrant un habitat plus sécurisé
et mieux contrôlé.

C’est pour cela, et dans le cadre de notre projet de fin d’étude, on a opté pour la conception
et réalisation d’une maison intelligente. Afin de mener à bien notre travail, on a réalisé une
maquette d’une maison intelligente en utilisant une carte ESP32, et en installant différents
capteurs (mouvement, gaz, flammes, etc…).
La maison rend compte de toute anomalie et peut être supervisée et contrôlée à distance
par un simple Smartphone grâce à une Application Android qui communique via la base de
données vers le microcontrôleur qui est une carte ESP32, elle fonctionne comme un

1
élément central responsable de l’intelligence et la prise de décision pour contrôler les
périphériques de la maison connecté. En plus d’utiliser la technologie de l’intelligence
artificielle pour détecter et reconnaître le visage d’une personne afin de protéger la maison.

Organisation de mémoire

J’ai choisi de structurer mes études autour de trois chapitres principaux :

Chapitre 1 : Généralités sur la domotique.


Chapitre 2 : Matériels et logiciels utilisés.
Chapitre 3 : Conception et réalisation du système.

2
CHAPITRE 1 :
LA DOMOTIQUE
CHAPITRE 1 LA DOMOTIQUE

1 Introduction

L’idée de créer une maison automatisée est née à la fin du 19 ème siècle : c’est pour dire que
son histoire est longue ! En effet, dès 1803, ils ont imaginé une maison où il y aurait
l’électricité dans toutes les pièces : il suffirait d’appuyer sur un interrupteur pour allumer la
lumière. Mais, cette maison idéale est en constante évolution : aujourd’hui, c’est une
maison non seulement automatisée que nous voulons mais aussi intelligente ! Cette maison
est représentée depuis de nombreuses années dans la littérature ou encore dans des films de
science-fiction. Depuis de nombreuses années les chercheurs et les ingénieurs veillent à ce
que cette maison devienne réalité. En effet l’aspect de la maison intelligente ne cesse
d’évoluer toute en touchant divers domaines d’applications de l’Internet des Objets (IoT).
Le monde se rapproche de plus en plus de l’adoption d’environnements infrastructurels en
faisant appel à la domotique qui s’impose dans l’habitat intelligents qui connait une
croissance exponentielle au cours des dernières décennies. Pour cela une bonne
compréhension du système domotique est nécessaire pour notre recherche qui fera l’objet
du présent chapitre [1].

2 Historique et évolution de la domotique

La base de la domotique du 21ème siècle. En 1904 Christian Hulsmeyer invente le radar


avec l’association d’une onde et d’une antenne bipolaire qui permet de détecter les bateaux
D’après nos recherche la domotique date des années 1970-1980 mais ce n’est qu’un début
rien n’est encore en place. C’est avec l’évolution des mœurs et des manières de vivre que
la domotique en parallèle a évoluée. Il faut le relever que la domotique existée sous une
autre forme depuis des siècles comme par exemple au 15ème siècle avant Jésus-Christ, les
égyptiens ont sans le savoir inventé l’arrosage automatique avec l’invention d’un système
de bascule pour diriger l’eau sur les terres surplombant le Nil. Bien plus tard, en 1486,
Léonard de Vinci, inventa un système de portes automatisées qui fonctionne à l’aide de
contrepoids. Mais aussi Eugène Robert-Houdin en 1850 a fait des étincelles en créant un
système électrique pour que son portail s’ouvre tout seul dès que l’on y sonne. En 1876
Alexander Graham Bell invente le téléphone qui est qui étaient jusqu’alors invisibles. En

4
CHAPITRE 1 LA DOMOTIQUE

1955 la première télécommande sans fil apparaît grâce à Eugène Polley. C’est dans les
années 2000 qu’on peut observer une croissance du secteur de la domotique, il est possible
que le durcissement des normes de consommation d’énergie et vieillissement de la
population qui laisse place à une génération plus ouverte à ces nouvelles technologies et à
la soif de nouvelle découverte en soit la conséquence. L’intérêt porté sur la maison
intelligente et la naissance de nouvelles technologies qui a attiré d’avantage le spécialiste
s’intéresse à ce concept pour permettre un meilleur soutien possible pour la réalisation des
tâches au quotidien mais l’insertion de ces nouvelles technologies est onéreuse et crise
économique se répercute sur l’évolution et l’intégration de la domotique dans les foyers.
En 2018 le marché de la domotique a fait ses preuves, l’objet connecté est présent dans la
majorité des foyers et elle est devenu indispensable dans l’habitation pour de nombreuse
personne [2].

Figure 1: représentatif de la maison intelligente (Smart House) ou Domotique

Smart house ou bien domotique, on en parle beaucoup, mais tout le monde donne-t-il la
même définition à ce mot ? Quelles sont ses origines ? Ce terme a-t-il toujours signifié les
mêmes choses ? Quelle a été l’évolution des possibilités offertes par les acteurs de ce
secteur ?

5
CHAPITRE 1 LA DOMOTIQUE

3 Définition

Smart House (Maison Intelligente) ou bien Domotique : Le terme Smart House est de plus
en plus utilisé. Il a deux définitions. Il peut s’agir simplement de la traduction anglophone
de la domotique. D’autres lui donnent une portée supplémentaire, le logement devient
intelligent, par contre le mot domotique vient du latin « domus » qui veut dire maison et du
mot télématique qui définit l’ensemble des techniques et des services de l ’électronique, de
la physique du bâtiment, de l’automatisation, de l’informatique et des télécommunications,
qui sont plus ou moins « interopérables ». La domotique vise à apporter des solutions
techniques pour répondre aux besoins de confort (gestion d’énergie, optimisation de
l’éclairage et du chauffage), de sécurité (alarme) et de communication (commandes à
distance, signaux visuels ou sonores, etc.) que l’on peut retrouver dans les maisons, les
hôtels, les lieux publics, etc…

Evidemment, le niveau "d'intelligence" de votre logement va dépendre du nombre de


capteurs, d'actionneurs et de règles que vous allez installer. Il n'existe donc pas une Smart
Home mais de multiples niveaux de Smart Home, de l'installation gérant les fonctionnalités
essentielles (chauffage, intrusion, sécurité incendie) la révolution actuelle est poussée par
la multitude de nouveaux produits qui permettent pour un coût bien plus abordable de
bénéficier de fonctionnalités autrefois réservées à l'habitat très haut de gamme.
Il nous semble important de préciser que la domotique ne s’adresse pas uniquement aux
maisons neuves. En effet, de nombreuses personnes ont dans l’esprit que ces techniques ne
s’appliquent qu’aux maisons en construction. Les maisons en rénovation sont également
concernées par la domotique et peuvent donc évoluer pour gagner en confort et en sécurité.

4 Les éléments de la maison intelligente

La maison intelligente utilise plusieurs éléments clés : les économies d’énergies


(chauffage, lumière), la sécurité (alarmes, caméras et télésurveillance), la communication
(avec un réseau, wifi Bluetooth etc.), le confort de vie (automatisation et programmation
des tâches quotidiennes) et la santé (télésanté, télémédecine).

6
CHAPITRE 1 LA DOMOTIQUE

Figure 2: Les domaines de la maison intelligente

5 Les économies d’énergies

En gérant le système de volets selon la saison, ainsi que le chauffage, le système


domotique vous permet d’économiser de l’énergie, et donc de l’argent, même si au départ
on ne recherchait que le confort en plus. La consommation d’énergie peut être suivie très
finement, qu’il s’agisse de votre consommation d’électricité, d’eau, ou de gaz.
Le simple fait d’activer l’alarme en partant va passer le chauffage en mode éco, et éteindre
toutes les lampes et les appareils restés en veille, réduisant ainsi votre consommation
d’énergie en votre absence. Et ceci sans aucune action de votre part. C’est cela la maison
intelligente !

7
CHAPITRE 1 LA DOMOTIQUE

Figure 3: L’organisation de la consommation de l’énergie

6 La sécurité

Un des domaines d’application de la domotique est la sécurité des biens et des personnes
par des systèmes d’alarme qui préviennent d’une part des risques techniques (pannes ou
dysfonctionnement des appareils) et d’autre part des éventuelles intrusions dans la maison
(cambriolage). En général on trouve :

7 Alarmes techniques

Les alarmes techniques sont basées sur des capteurs capables de détecter différents
incidents tels que des dégagements toxiques, incendie, fuite d’eau, fuite de gaz, etc. Ces
différents capteurs sont raccordés à une centrale d’alarme. Les sécurités anti-noyade des
piscines font également partie de ces systèmes d’alarme ainsi que certains détecteurs de
pannes sur les équipements domestiques (chaudière par exemple).

8
CHAPITRE 1 LA DOMOTIQUE

Figure 4: des détecteurs, de fumée, de gaz et détecteur de panne de courant

8 Alarmes anti-intrusion

Ce sont en général des capteurs sur les portes (détection d’ouverture) ou dans les pièces
(détection de présence) qui sont reliés eux aussi à une centrale d’alarme. Ces capteurs
peuvent être couplés avec un réseau de caméras numériques de surveillance. Lors d’une
intrusion, un message d’alerte peut être envoyé par e-mail ou sur un téléphone portable.

Figure 5: Alarmes anti-intrusion

9
CHAPITRE 1 LA DOMOTIQUE

9 La communication

Les systèmes domotiques peuvent communiquer non seulement à l’intérieur de la maison,


mais aussi à l’extérieur. La technologie internet interviendra de plus en plus dans le
contrôle à distance de certains utilisateurs.

Vous n’avez même pas besoin d’être à la maison pour contrôler votre maison.
Par exemple, un simple appel téléphonique, un SMS ou une application mobile vous
permettra d’activer ou de désactiver un appareil connecté.

En utilisant un module Wi-Fi comme l'ESP-01 (ESP8266), il est possible d'envoyer des
commandes à une carte Arduino via une application sur smartphone. Ce module établit une
connexion sans fil entre l'Arduino et le réseau Internet, permettant ainsi le contrôle à
distance des équipements domotiques depuis une interface mobile dédiée. [3]

Figure 6: Contrôle à distance des équipements domotiques

10
CHAPITRE 1 LA DOMOTIQUE

10 Le confort

Figure 7: Illustration du confort dans la Smart House

Automatiser votre maison peut considérablement améliorer votre confort au quotidien. Par
exemple, en rentrant chez vous sous une pluie battante, les portes peuvent s’ouvrir
automatiquement, vous évitant ainsi de vous mouiller.

En hiver, les volets peuvent s’ouvrir pour laisser entrer la lumière et la chaleur du soleil,
tandis qu’en été, ils se ferment pour limiter la surchauffe. Leur ouverture et fermeture
peuvent s’adapter intelligemment à l’intensité lumineuse, à la saison et aux conditions
météorologiques.
Un système domotique intelligent peut également arroser automatiquement votre jardin en
tenant compte des prévisions météo, évitant ainsi un arrosage inutile en cas de pluie
annoncée.

Grâce à votre smartphone et aux dispositifs connectés, vous pouvez contrôler et gérer
votre maison à distance, effectuant toutes les tâches nécessaires sans être physiquement
présent.

11
CHAPITRE 1 LA DOMOTIQUE

11 La santé

Les maisons intelligentes révolutionnent désormais le domaine de la santé en offrant des


solutions adaptées aux besoins des personnes vulnérables, notamment les personnes âgées,
les personnes en situation de handicap ou souffrant de maladies chroniques. Elles
permettent d’accroître leur autonomie et leur indépendance tout en assurant un suivi
médical efficace.

Il est possible de surveiller en temps réel des paramètres vitaux des patients tels que la
fréquence cardiaque, la pression artérielle ou le taux d’oxygène dans le sang. Ces données
sont transmises automatiquement aux médecins ou aux proches aidants, permettant une
réaction rapide en cas d’anomalie.

Nous pouvons également intégrer des détecteurs de chute, des rappels de prise de
médicaments automatisés et même des assistants vocaux capables d’alerter les secours en
cas d’urgence. De plus, des capteurs de qualité de l’air permettent d’identifier la présence
de polluants ou d’allergènes, contribuant ainsi à un environnement plus sain pour les
occupants.

En combinant technologie et santé, la domotique améliore la qualité de vie des résidents


tout en réduisant les risques liés à l’isolement ou aux urgences médicales.

12 Les avantages et les inconvénients de la maison intelligente

12.1 Les avantages

La maison intelligente améliore considérablement le quotidien en offrant un confort


optimal, une sécurité renforcée et une gestion efficace de l’énergie. Grâce à la domotique,
il est possible d’automatiser de nombreuses tâches, comme l’ouverture et la fermeture des
volets, l’allumage et l’extinction des lumières, ou encore l’arrosage du jardin. Les
commandes vocales permettent de piloter facilement les appareils, tandis que des systèmes

12
CHAPITRE 1 LA DOMOTIQUE

avancés peuvent simuler une présence pour dissuader les intrusions.

En matière de sécurité, des alarmes connectées, des caméras intelligentes et des


visiophones permettent de surveiller son domicile à distance et d’être alerté en cas
d’intrusion. Côté économie d’énergie, la gestion automatisée du chauffage, de la
climatisation et de l’éclairage contribue à réduire la consommation en adaptant l’utilisation
des équipements aux besoins réels.
Ces technologies sont particulièrement bénéfiques pour les personnes dépendantes ou
handicapées, en facilitant leur quotidien grâce à des dispositifs intuitifs et automatisés.
Leur conception ergonomique permet une utilisation simple et accessible à tous.

12.2 Les inconvénients

Malgré ses nombreux avantages, la maison intelligente présente plusieurs


inconvénients qu’il est important de considérer. Tout d’abord, les systèmes domotiques
étant connectés à Internet, ils sont vulnérables aux cyberattaques. Un hacker pourrait
pirater les caméras, les alarmes ou d’autres dispositifs, mettant ainsi en danger la sécurité
et la vie privée des occupants.

Un autre problème concerne la dépendance aux fabricants. Certains appareils ne


fonctionnent que via les serveurs de leur constructeur, ce qui peut poser problème si
l’entreprise ferme ou arrête le support du produit. De plus, l’incompatibilité entre différents
protocoles oblige souvent à utiliser un hub central pour assurer la communication entre les
appareils, ce qui peut compliquer l’installation.

Le coût d’achat et d’installation représente également un frein majeur. Même si ces


systèmes permettent de réaliser des économies d’énergie à long terme, l’investissement
initial reste élevé.

Enfin, certaines marques imposent un verrouillage logiciel, empêchant l’utilisation de


logiciels ouverts ou la compatibilité avec d’autres équipements, limitant ainsi la flexibilité
du système. [4]

13
CHAPITRE 1 LA DOMOTIQUE

13 Conclusion

Dans ce chapitre, nous avons exploré la maison intelligente, ses fonctionnalités et


son impact sur les aspects économiques, sociaux et technologiques du quotidien. Malgré
leurs nombreux atouts, les maisons intelligentes restent encore inaccessibles au grand
public en raison de leur coût élevé.
Toutefois, avec l’évolution rapide des technologies et la démocratisation des équipements
connectés, il est probable que ces solutions deviennent plus accessibles dans les années à
venir. Enfin, nous avons mis en évidence les avantages et inconvénients de ces
technologies.

14
CHAPITRE 2 :
MATERIELS ET
LOGICIELS
UTILISES
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

1 Introduction
Le sujet « Smart Home » est un choix qui semblait intéressant par le fait que c’est une
technologie qui envahit de plus en plus nos habitations en permettant un contrôle et un
fonctionnement harmonieux de tous les appareils de la maison facilitant ainsi la vie des
habitants. Le but du projet est donc de créer un outil permettant de contrôler l’équipement
de la maison à distance. Dans ce chapitre nous allons présenter le matériel indispensable
pour la conception et la réalisation de notre projet, tout en donnant ses différentes
spécifications et caractéristiques. Nous donnerons aussi, un aperçu sur les logiciels qui ont
pu obtenir à la mise en œuvre de notre système.

2 Matériels utilisés

2.1 Carte Arduino Méga

Arduino désigne un écosystème libre comprenant des cartes (Arduino Uno, Arduino
Leonardo, Arduino Méga, Arduino Nano...), des logiciels (notamment l'IDE Arduino), ou
encore des librairies. Ces systèmes d'électronique programmable permettent de construire
des projets facilement, et d'aborder tant l'approche électronique de l'approche logicielle.
La carte Arduino Méga 2560 est une carte à microcontrôleur basée sur un ATmega2560.
Elle contient tout ce qui est nécessaire pour le fonctionnement du microcontrôleur ; Pour
pouvoir l'utiliser et se lancer, il suffit simplement de la connecter à un ordinateur à l'aide
d'un câble USB (ou de l'alimenter avec un adaptateur secteur ou une pile, mais ceci n'est
pas indispensable, l'alimentation étant fournie par le port USB).

Figure 1: Carte Arduino Méga 2560

16
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.2 Synthèses caractéristiques

Microcontrôleur ATmega2560

Tension de fonctionnement 5V

Tension d'alimentation (recommandée) 7-12V

Tension d'alimentation (limites) 6-20V

Entrées/Sorties numériques 54 (dont 14 disposent d'une sortie PWM)

Entrées analogiques 16 (utilisables en broches E/S numériques)

Intensité max par broche E/S (5V) 40 mA (ATTENTION : 200mA cumulé


pour l'ensemble des broches E/S)

Intensité max sortie 3.3V 50 mA

Intensité max sortie 5V Fonction de l'alimentation utilisée -


500mA max si port USB utilisé seul

Mémoire Programme (Flash) 256 KB dont 8 KB sont utilisées par le


bootloader
Mémoire SRAM (mémoire volatile) 8 KB

Mémoire EEPROM (mémoire non 4 KB


volatile)
Vitesse d’horloge 16 MHz

17
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.3 Fiche technique de l’Arduino Méga


2.3.1 Mémoire

L'ATmega 2560 à 256Ko de mémoire FLASH pour stocker le programme (dont 8Ko
également utilisés par le bootloader). L'ATmega 2560 a également 8 ko de mémoire
SRAM (volatile) et 4Ko d'EEPROM (non volatile - mémoire qui peut être lue à l'aide de la
librairie EEPROM).
Info bootloader : Le bootloader est un programme préprogrammé une fois pour toute dans
l'ATmega et qui permet la communication entre l'ATmega et le logiciel Arduino via le port
USB, notamment lors de chaque programmation de la carte.

2.3.2 Entrées et sorties numériques

Chacune des 54 broches numériques de la carte Méga peut être utilisée soit comme une
entrée numérique, soit comme une sortie numérique, en utilisant les instructions pinMode
(), digitalWrite () et digitalRead () du langage Arduino. Ces broches fonctionnent en 5V.
Chaque broche peut fournir ou recevoir un maximum de 40mA d'intensité et dispose d'une
résistance interne de "rappel au plus" (pull-up) (déconnectée par défaut) de 20-50 KOhms.
Cette résistance interne s'active sur une broche en entrée à l'aide de l'instruction
digitalWrite (broche, HIGH).

2.3.3 Broches analogiques

La carte Mega2560 dispose de 16 entrées analogiques, chacune pouvant fournir une


mesure d'une résolution de 10 bits (c.à.d. sur 1024 niveaux soit de 0 à 1023) à l'aide de la
très utile fonction analogRead () du langage Arduino. Par défaut, ces broches mesurent
entre le 0V (valeur 0) et le 5V (valeur 1023), mais il est possible de modifier la référence
supérieure de la plage de mesure en utilisant la broche AREF et l'instruction
analogReference() du langage Arduino.
Note : les broches analogiques peuvent être utilisées en tant que broches numériques.

2.3.4 Autres broches

L'Arduino Méga 2560 dispose également de deux autres broches spéciales :


AREF : Tension de référence pour les entrées analogiques (si différent du 5V). Utilisée
avec l'instruction analogReference ().
Reset : Mettre cette broche au niveau BAS entraîne la réinitialisation (= le redémarrage)

18
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

du microcontrôleur. Typiquement, cette broche est utilisée pour ajouter un bouton de


réinitialisation sur le circuit qui bloque celui présent sur la carte.

2.3.5 ESP8266-01

L'ESP8266-01 est un module Wifi compact permettant d'ajouter une connectivité sans fil à
n'importe quel microcontrôleur possédant une interface UART (Rx/Tx).
Ce module est basé sur le microcontrôleur ESP8266, conçu par la société chinoise
Espressif. Il existe plusieurs variantes de modules intégrant l'ESP8266, avec un nombre de
broches et de fonctionnalités variables. L'ESP-01 est la version la plus petite et la plus
basique.
L'ESP8266-01 dispose de 8 broches et fonctionne avec une tension d’alimentation de 3,3V

2.3.6 Caractéristiques

Alimentation 5 Vcc via micro-USB 5 à 9 Vcc via broche


Vin (régulateur intégré)

Microcontrôleur ESP8266

Microprocesseur Tensilica LX106

Fréquence 80 MHz

Mémoire RAM 64 kB

Mémoire Flash 96 kB
Entrées/Sorties numériques 10 E/S digitales compatibles PWM

Interfaces I2C, SPI, UART

Interface Wifi 802.11 b/g/n 2,4 GHz

Antenne Intégrée
Température de service -40 à 125 °C

Dimensions 58 x 31 x 12 mm

Version 2

19
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.3.7 Utilisation de l’ESP8266 comme module Wifi

L’utilisation de l’ESP-01 en module Wifi permet d’apporter une connectivité Wifi à un


microcontrôleur (Arduino, PIC, STM332…). Dans ce cas-là l’ESP est un périphérique du
microcontrôleur. [5]

2.4 Serrure électrique automatisée

Figure 2: Serrure électrique

2.4.1 Description

Serrure électromagnétique miniature, idéale pour les projets de domotique avec Arduino.
Compacte et facile à intégrer, elle est souvent utilisée pour verrouiller ou déverrouiller des
portes, tiroirs ou boîtes de sécurité.
 Alimentation : 6 à 12 Vcc
 Consommation : 1 A max à 12 V
 Force de traction : 300 g à 1 kg selon l’alimentation
 Dimensions : 54 x 42 x 28 mm
 Course du loquet : Environ 10 mm
 Temps de réponse : Instantané (verrouillage/déverrouillage dès alimentation)
 Connexion : 2 fils (rouge = +Vcc, noir = GND)

20
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.4.2 Présentation

Le système fonctionne par un électroaimant : lorsque la serrure reçoit une tension continue,
le loquet est attiré vers l’intérieur, libérant ainsi la porte. Lorsqu’aucune tension n’est
appliquée, le ressort remet automatiquement le loquet en position verrouillée. Elle est donc
normalement fermée (NF).
Ce type de serrure est couramment utilisé dans les systèmes de contrôle d’accès à base de
cartes RFID, de claviers à code, ou via commande à distance avec Arduino. Sa petite taille
permet une intégration facile dans des projets de maquettes ou de véritables installations
domotiques.

2.4.3 Principe de commande

Contrairement au servomoteur qui gère un déplacement angulaire, la serrure électrique ne


nécessite qu’un signal binaire :
 1 (tension appliquée) → Déverrouillage
 0 (aucune tension) → Verrouillage
La commande peut se faire directement via un transistor de puissance ou un relais connecté
à un Arduino, car la serrure consomme plus de courant que ce que peut fournir directement
une broche de la carte.
Il est donc essentiel de prévoir une alimentation externe et un circuit de protection, comme
une diode de roue libre pour éviter les surtensions à la coupure.

2.4.4 Architecture interne

La serrure contient :
 Un électroaimant : produit un champ magnétique lorsqu’il est alimenté
 Un ressort de rappel : remet le loquet en position fermée quand l’alimentation est
coupée
 Un loquet coulissant : se déplace linéairement pour verrouiller ou libérer la porte
Le système est simple mais efficace, parfait pour simuler ou réaliser des systèmes de
sécurité automatisés. [6]

21
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.5 Capteur humidité et température DHT22

Figure 3: Capteur d’humidité et de température DHT22

Ne pas oublier le condensateur de 100nF entre VCC et GND (il n’est pas sur le schéma
mais il est nécessaire).

2.5.1 Caractéristiques

 Alimentation : +5V (fonctionne aussi de 3.3V à 6V)


 Température : de -40 à +80°C, précision : ±0.5°C
 Humidité : de 0 à 100% RH, précision : ±2 à ±5% RH
 Taux d'échantillonnage : 0.5 Hz (1 mesure toutes les 2 secondes)

2.5.2 Réveil du capteur

Le DHT22 n’est pas plus dynamique que son cousin le DHT11 : il adore faire la sieste.
Pour le tirer du lit et lui faire cracher ses données, il faut lui envoyer un petit signal de
Start.
Ce signal, c’est :
 Une mise à l’état bas (0V) pendant au moins 1 ms
 Suivie d’un état haut (5V) pendant 20 à 40 µs
Ensuite, le DHT22 se réveille et te répond poliment :
 Il se met à l’état bas pendant 80 µs
 Puis à l’état haut pendant 80 µs

22
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

C’est à ce moment qu’il commence la transmission série des données


température/humidité. Tout se fait via un seul fil de données, avec un protocole propriétaire
(heureusement bien pris en charge par les bibliothèques Arduino).

À savoir
 Le DHT22 est plus précis et plus large en plage de mesure que le DHT11
 Il est légèrement plus lent (1 mesure toutes les 2 secondes)
 Mais il reste un excellent choix pour les projets de domotique, agriculture
connectée, ou surveillance d’ambiance. [7]

2.6 Capteur de gaz MQ2


MQ-2 est un capteur qui permet de détecter du gaz ou de fumée à des concentrations de
300 ppm à 10000 ppm. Après calibration, le MQ-2 peut détecter différents gaz comme le
GPL (LPG), le butane, le propane, le méthane, l’alcool, l’hydrogène ainsi que les fumées.
Il est conçu pour un usage intérieur à température ambiante.
Le MQ2 doit être alimenté en 5V. Il dispose, une sortie analogique et une sortie numérique,
ainsi qu’un réglage de la sensibilité par potentiomètre.

Figure 4: Capteur de Gaz MQ2

2.6.1 Produit

 Alimentation électrique : 5 V
 Capteur de gaz (GPL) simple à utiliser

23
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

 Peut être utilisé dans les équipements de détection de fuites de gaz dans les
applications grand-public et industrielles
 Type d’interface : analogique
 Haute sensibilité au GPL, isobutane, propane
 Faible sensibilité à l’alcool, la fumée
 Réponse rapide
 Stable et durable
 Circuit de pilotage simple

2.7 Capteur de mouvement PIR

Figure 5: Détecteur de mouvement

2.7.1 Description produit

Les applications d’un senseur PIR sont multiples :


- Détection de mouvement et activation d’une œuvre interactive.
- Détection de passage/intrusion.
- Commande d’une chatière automatisée.
- Détecteur pour commande d’installation domotique.
Le capteur de mouvement PIR (Passive InfraredSensor) est un senseur électronique qui
mesure la lumière infrarouge (IR) rayonnant à partir d’objets dans son champ de vision. Ils
sont très souvent utilisés dans les systèmes d’alarmes ou de détection de présence pour leur
faible coût et leur efficacité.

24
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.7.2 Caractéristiques

- Dimensions : 32 x 24 x 27H mm
- Voltage : 5-12VDC
- Output : 3,3V TTL
- Détection Distance : 3-7mt (approx, ajustable)
- Delay Time : 5-200s (ajustable)
- Trigger : L : non repeatable trigger - H : repeatable trigger

2.7.3 Principe du capteur

Le fonctionnement d’un capteur PIR n’est pas compliqué à comprendre. Il possède 3 pins :
l’alimentation, la masse et le pin data qui va nous intéresser. Par défaut, celui-ci est à l’état
bas.
Quand le capteur détectera un mouvement cette sortie passera à l’état haut pendant une
durée comprise entre 5s et 2min réglable grâce à un des deux petits potentiomètres situés à
l’arrière du capteur, l’autre permettant de régler la sensibilité de 3 à 7m.
Pour les détails techniques, ce capteur est basé sur un circuit-intégré BISS001, en regardant
la datasheet on s’aperçoit que c’est un CI spécialisé pour cette application qu’il opère entre
3 et 5V et qu’il consomme très peu de courant, il est donc idéal pour une utilisation à piles.
[8]

2.8 Ecran LCD avec un I2C

Figure 6: Ecran LCD avec un I2C en arrière

25
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

Ces 16 caractères par 2 lignes d'affichage a un contraste texte blanc très clair et très haut
sur un fond bleu / rétro-éclairage. Il comprend également une série I2C / IIC carte
adaptateur pré-soudé à l'arrière de l'écran LCD. Cela signifie qu'il peut être contrôlé avec
seulement 2 I2C broches de données série (SDA et SCL) et nécessite donc beaucoup moins
broches numériques IO lorsqu'il est commandé à partir d'un microcontrôleur. Au total, le
module ne nécessite 4 fils dont la puissance 5V et GND.
Le réglage du contraste est également fourni par la carte fille par l'intermédiaire d'un
potentiomètre. Si vous prévoyez d'utiliser avec une carte Arduino.

Note : Ces modules sont actuellement fournis avec une adresse I2C par défaut soit 0x27 ou
0x3F.
Pour déterminer quelle version vous avez vérifié l'adaptateur I2C tableau noir sur la face
inférieure du module. S'il y a 3 jeux de patins étiquetés A0, A1, A2 et puis l'adresse par
défaut sera 0x3F. S'il n'y a pas pads l'adresse par défaut sera 0x27.
Le module est équipé d'un potentiomètre de réglage de contraste sur la face inférieure de
l'écran. Cela peut nécessiter de réglage pour l'écran pour afficher le texte correctement. Si
la pression est appliquée à la carte fille I2C il est possible de se plier et de venir en contact
avec le module LCD. S'il vous plaît assurer lorsque l'écran LCD est installé dans votre
application qu'aucun objet externe n’applique une pression sur le dos du module.
Les pins de LCD (I2C) sont : GND, VCC (+5V), SDA et SCL. [9]

2.9 Carte RFID


La carte RFID est un composant essentiel dans les systèmes d’identification sans contact.
Elle permet de lire ou écrire des données sur des badges, cartes ou porte-clés RFID, et ainsi
gérer des accès, authentifier des utilisateurs ou déclencher des actions selon l'identité
détectée.
Compacte, facile à utiliser et peu coûteuse, cette carte s’intègre parfaitement dans les
projets Arduino. Cette carte fonctionne avec des étiquettes RFID à 13.56 MHz et
communique avec votre microcontrôleur via une interface SPI, ce qui la rend rapide et
efficace tout en limitant le nombre de broches utilisées. Elle est souvent utilisée dans les
systèmes de verrouillage de porte, contrôle de présence, ou tout projet nécessitant un
système de badge RFID.

26
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

Figure 7: MFRC522 avec badge et carte RFID

2.9.1 Spécifications techniques

 Technologie : RFID MFRC522


 Fréquence : 13.56 MHz
 Interface de communication : SPI (ou I²C/UART en option selon configuration)
 Alimentation : 3.3V
 Distance de lecture : jusqu’à 5 cm (selon l'antenne et le tag)
 Débit de communication : jusqu’à 10 Mbit/s
 Compatibilité : badges et cartes RFID MIFARE
 Dimensions : 40 x 60 mm (carte) + tag (variable). [10]

27
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.10 Logiciels
2.10.1 L’Arduino

L'open-source Arduino Software (IDE), il est facile d'écrire du code et de le transférer à la


carte. Il fonctionne sur Windows, Mac OS X et Linux. L'environnement est écrit en Java et
basé sur le traitement et d'autres logiciels open-source.
Ce logiciel peut être utilisé avec toute carte Arduino.

2.10.1.1 Interface du logiciel

Figure 8: Présentation de l’interface initiale du logiciel

28
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.10.1.2 Présentation du logiciel

Figure 9: L’interface des outils

Le cadre numéro 1 : ce sont les options de configuration du logiciel.


Le cadre numéro 2 : il contient les boutons qui vont nous servir lorsque l’on va
programmer nos cartes.
Le cadre numéro 3 : ce bloc va contenir le programme que nous allons créer.
Le cadre numéro 4 : celui-ci est important, car il va nous aider à corriger les fautes dans
notre programme. C’est le débogueur.

29
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

2.10.1.3 Les boutons

Figure 10: La barre d’outils

Bouton 1 : Vérifie si le code contient des erreurs de syntaxe sans l’envoyer à la carte.
Bouton 2 : Compile le code puis le téléverse vers la carte Arduino connectée.
Bouton 3 : Crée un nouveau projet/sketch.
Bouton 4 : Permet de choisir le modèle de carte Arduino (comme Arduino Uno, Nano,
Mega, etc.) et le port USB utilisé.
Bouton 5 : Ouvre le moniteur série, qui permet de voir les données envoyées par la carte
(avec Serial.print()).
Bouton 6 : Ouvre le traceur série, qui affiche des courbes graphiques à partir des données
envoyées par Serial.println().

2.10.2 Blynk IoT

Blynk IoT est une plateforme puissante et facile à utiliser qui permet de créer des interfaces
graphiques pour contrôler et surveiller des cartes microcontrôleurs (comme Arduino,
ESP8266, ESP32, etc.) via un smartphone, une tablette ou un navigateur web.

Grâce à l'application Blynk et au tableau de bord en ligne, il est possible de connecter des
projets IoT à internet, d'envoyer ou de recevoir des données en temps réel, et de créer une
interface utilisateur personnalisée sans programmation complexe.

30
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

Figure 11:l’interface du site Blynk IoT

Figure 12: Conception d’interface graphique

31
CHAPITRE 2 MATERIELS ET LOGICIELS UTILISES

Figure 13: La barre d’outils

32
CHAPITRE 3 :
CONCEPTION ET
REALISATION DU
SYSTEME
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

1 Introduction

L'ordinateur est relié au microcontrôleur par un port USB qui sert à transmettre le
code ainsi qu’à alimenter en électricité la carte Arduino. Les données extérieures des
capteurs sont envoyées à la carte Arduino, qui envoi à son tour les données reçus à la carte
ESP8266 ESP01. De plus, les données relevées par les capteurs peuvent être visibles sur
une page WEB.

Pour pouvoir faire tout cela, il faut créer un programme permettant de contrôler les
appareils électriques en fonction des données reçues. Pour cela plusieurs langages de
programmation sont utilisables tels que : Python, Java, C++, etc. Dans le cadre du projet
nous avons utilisé l'environnement de développement Arduino. En effet, nous avons
choisis ce langage suite à l'achat des différents composants dont le principal est une carte
Arduino nous permettant d'agir au niveau des appareils électriques.

2 Fabrication de la maison

2.1 Structure de la maison

Figure 1: Illustration de la maquette utilisée dans le projet

34
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

La première étape consiste à créer une maison. Pour cela, nous avons dessiné la structure
principale, c’est-à-dire les murs extérieurs et le sol à l’aide d’une découpeuse laser. La
maquette est de taille de 31cm sur 28cm constitue de deux chambres, une cuisine, salle de
bain, un salon et un jardin.

2.2 Périphériques utilisées et leurs positions

Cette maquette, permettrait de présenter certaines fonctionnalités de la domotique à travers


3 Capteurs (Gaz, Humidité et Température, Mouvement.) 1 Carte RFID et autres
périphériques. Ces scénarios seront automatisés via la carte « Arduino » Exécutant des
programmes informatiques.

LOCALISATION PERIPHERIQUE

- Capteur de température/humidité
DHT22
Le Salon
- Ecran LCD
- Ventilateur
- Capteur de gaz
- Système d’alarme
La Cuisine
- Buzzer

- LED
La chambre

- PIR
- LED
La Porte et le couloir
- RFID
- Serrure

Localisation des périphériques utilisés dans la maquette

35
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

2.3 Organigramme de fonctionnement global

3 Automatisation de la maison

3.1 Capteur de mouvement PIR

La maîtrise de la consommation d’énergie étant une tendance actuelle, nous avons choisi
de l’appliquer à petite échelle. Ainsi, notre dispositif allume automatiquement la lumière
lorsqu'une présence est détectée dans le couloir, et l’éteint en l’absence de mouvement.

Le matériel que nous avons utilisé est le suivant :

- Un capteur de mouvement PIR


- Une LED (lampe)
- Une Carte Arduino UNO.

36
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.1.1 Organigramme de capteur de mouvement

37
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.1.2 Schéma électronique

 Branchement d’un capteur PIR avec Arduino Uno avant détection d’un mouvement

38
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

 Branchement d’un capteur PIR avec Arduino Uno après la détection d’un
mouvement

3.2 Capteur d’humidité

Ce dispositif contribue à une meilleure gestion énergétique de la maison. En effet, il


intègre un système capable de détecter la température et l’humidité dans l’environnement
domestique.

Comme matériel, nous avons utilisé :

- Un capteur DHT 22
- Ecran LCD 1602 avec I2C
- Une carte Arduino UNO
- Un relais 5v
- Ventilateur
- Un adaptateur 12

39
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.2.1 Organigramme de capteur de température et humidité

40
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.2.2 Schéma électronique

- Montage sur plaque d’essai du capteur d’humidité/température

41
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.3 Capteur de gaz

La sécurité est aujourd’hui un critère essentiel dans le choix d’une habitation, et l’un des
risques les plus redoutés reste l’incendie. C’est pourquoi nous avons combiné plusieurs
composants pour intégrer un détecteur de gaz dans la cuisine, afin de renforcer la sécurité.
Ce détecteur est relié avec notre smartphone et déclenchera une alarme dès qu’une fuite de
gaz est détectée.

Le matériel utilisé pour le gaz est le suivant :

- Un détecteur de gaz MQ-2


- Buzzer
- Une carte Arduino UNO
- Application

42
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.3.1 Organigramme de capteur de gaz

43
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.3.2 Schéma électronique

- Branchement sur plaque d’essai de capteur de gaz

44
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.4 Porte RFID

Ce dispositif est très essentiel pour assurer une meilleure sécurité à notre maison
intelligente.

Le matériel utilisé pour ce système de porte est :

- Carte RFID
- LED (Vert, Rouge)
- Arduino
- Serrure Automatisé

45
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.4.1 Organigramme de Porte d’accès

46
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.4.2 Schéma électronique

- Branchement sur plaque d’essai de la porte RFID (avant et après l’entrée)


- Entrer refuser (mauvaise carte, LED rouge s’allume, serrure fermer)

47
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

- Entrer valider (carte valide, LED vert s’allume, serrure ouverte)

3.5 Application

L’application constitue le cœur de notre système domotique, car elle permet de centraliser
le contrôle, la surveillance et l’interaction à distance avec l’ensemble des dispositifs
connectés de la maison intelligente.

Le matériel utilisé pour ce système de logiciel d’application est :

- Blynk IoT (notre application d’interface)


- ESP8266 ESP01
- LED (Vert, Rouge)
- Résistance 220 Ω
- Arduino Méga

3.5.1 Organigramme de l’application

48
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

49
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.5.2 Schéma électronique

50
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

3.5.3 Interface de l’application

- Branchement de l’application sur plaque d’essai

51
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

52
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

53
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

4 Schéma électronique global

54
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

Branchement sur plaque d’essai

55
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

5 Structure complète de la maison intelligente

56
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

57
CHAPITRE 3 CONCEPTION ET REALISATION DU SYSTEME

58
CONCLUSION
GENERALE
CONCLUSION GENERALE

Ce projet basé sur Arduino nous a permis de franchir un cap entre la théorie et la pratique.
Grâce à cette réalisation concrète, nous avons pu mettre en œuvre nos connaissances pour
créer un système intelligent capable de gérer l’éclairage des chambres et l’ouverture des
portes à distance, de prévenir en cas d’incendie, de surveiller la température et l’humidité
ambiantes, d’assurer la sécurité, ainsi que de minimiser la consommation d’énergie dans
une maison. En travaillant sur cette maquette, nous avons découvert l’univers fascinant de
l’électronique embarquée et de la domotique. Surtout, nous avons appris à concevoir, tester
et améliorer un objet réel.

L’utilisation d’Arduino, plateforme simple mais puissante, nous a offert une porte d’entrée
vers l’innovation technologique. Elle a rendu la programmation et l’automatisation
accessibles, même avec des moyens limités. À travers ce projet, nous avons compris que
les maisons intelligentes ne sont pas seulement un concept futuriste, mais une réalité en
constante évolution, qui tend à se démocratiser avec des outils comme Arduino.

Même si certaines installations domotiques restent coûteuses aujourd’hui, la tendance est à


la simplification et à l’accessibilité. Nous sommes convaincus que dans les années à venir,
la maison intelligente sera à la portée de tous, rendant le quotidien plus confortable, plus
sûr et plus efficace. Ce projet marque donc pour nous une première étape vers une
technologie qui fait rêver, mais qui, grâce à des solutions comme Arduino, devient de plus
en plus réalisable.

60
ANNEXES

1. DATA Shield d’Arduino Méga 2560


2. DATA Shield d’Arduino Uno

1. DATA Shield d’ESP01


3. Le Programme

Projet : Contrôle d'accès avec RFID et détection de mouvement PIR


Carte utilisée : ARDUINO UNO
----------------------------------------------------------------------------
Ce programme est conçu pour être exécuté sur une carte Arduino UNO.
Il utilise :
- un capteur RFID RC522 pour identifier une carte autorisée,
- un capteur de mouvement PIR pour détecter une présence,
- un écran LCD I2C pour afficher les messages à l’utilisateur,
- des LEDs pour indiquer l’état de la serrure (ouverte/fermée),
- et une sortie pour contrôler une serrure (via relais ou transistor).

L'utilisation de millis() permet une gestion non-bloquante du temps.


Une seule carte RFID est reconnue comme valide dans ce système.

================================================================
============
*/
// Inclusion des bibliothèques nécessaires
#include <SPI.h> // Pour la communication SPI avec le module RFID
#include <MFRC522.h> // Bibliothèque du module RFID RC522
#include <Wire.h> // Pour la communication I2C (notamment pour l'écran
LCD)
#include <LiquidCrystal_I2C.h> // Pour contrôler l’écran LCD avec interface I2C

// Initialisation de l’écran LCD à l’adresse 0x27 avec 16 colonnes et 2 lignes


LiquidCrystal_I2C lcd(0x27, 16, 2);

// Définition des broches utilisées pour le module RFID


#define SS_PIN 10 // Broche SS (Slave Select) connectée à D10
#define RST_PIN 9 // Broche RST (Reset) connectée à D9
#define SERRURE 8 // Broche qui contrôle la serrure (via relais par exemple)
MFRC522 mfrc522(SS_PIN, RST_PIN); // Création d’un objet pour le module RFID

// Définition des broches du capteur PIR et des LED


int pirPin = 2; // Broche du capteur de mouvement PIR (entrée)
int ledPin = 7; // LED témoin d’un mouvement détecté
int LedOuvert = 6; // LED verte indiquant que la serrure est ouverte
int LedFermer = 5; // LED rouge indiquant que la serrure est fermée

// UID (numéro de série) de la carte RFID autorisée


byte validCard[4] = {0xF3, 0x7F, 0xD3, 0x0F};

// Variables pour la gestion du temps sans utiliser delay()


unsigned long previousPirMillis = 0; // Temps du dernier mouvement détecté
const long pirDetectionInterval = 1000; // Durée d’allumage de la LED du PIR (1
seconde)

unsigned long previousRfidMillis = 0; // Temps du dernier scan RFID


const long rfidDisplayDuration = 4000; // Durée d’affichage du message RFID (4
secondes)
const long lockOpenDuration = 3000; // Temps pendant lequel la serrure reste
ouverte (3 secondes)

bool rfidMessageDisplayed = false; // Indique si un message RFID est affiché


bool lockOpen = false; // Indique si la serrure est ouverte

void setup() {
// Initialisation de la communication série pour le débogage
Serial.begin(9600);

// Initialisation du module SPI et du lecteur RFID


SPI.begin();
mfrc522.PCD_Init();

// Initialisation de l’écran LCD


lcd.init(); // Démarrage de l’écran
lcd.backlight(); // Activation du rétroéclairage
lcd.clear(); // Efface l’écran
lcd.setCursor(0, 0);
lcd.print("Scan RFID card"); // Message par défaut

// Configuration des broches


pinMode(pirPin, INPUT); // Capteur PIR en entrée
pinMode(ledPin, OUTPUT); // LED PIR en sortie
digitalWrite(ledPin, LOW); // LED PIR éteinte au démarrage

pinMode(SERRURE, OUTPUT); // Contrôle de la serrure


pinMode(LedOuvert, OUTPUT); // LED verte en sortie
digitalWrite(LedOuvert, LOW); // Éteinte au démarrage
pinMode(LedFermer, OUTPUT); // LED rouge en sortie
digitalWrite(LedFermer, LOW); // Éteinte au démarrage

digitalWrite(SERRURE, HIGH); // Serrure fermée par défaut


}

void loop() {
// Récupération du temps actuel
unsigned long currentMillis = millis();

// --- GESTION DU PIR ---


int motionDetected = digitalRead(pirPin); // Lire l’état du capteur PIR
if (motionDetected == HIGH) {
digitalWrite(ledPin, HIGH); // Allumer la LED si mouvement détecté
previousPirMillis = currentMillis; // Sauvegarder l’instant du déclenchement
}

// Éteindre la LED après 1 seconde si elle est allumée


if (digitalRead(ledPin) == HIGH && currentMillis - previousPirMillis >=
pirDetectionInterval) {
digitalWrite(ledPin, LOW);
}

// --- GESTION DU RFID ---


// Si aucun message n’est affiché, on vérifie s’il y a une nouvelle carte
if (!rfidMessageDisplayed) {
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
// Affichage du numéro UID de la carte dans le moniteur série
Serial.print("Card UID: ");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
Serial.print(mfrc522.uid.uidByte[i], HEX);
Serial.print(i < mfrc522.uid.size - 1 ? " " : "\n");
}

// Vérification si la carte est autorisée


if (compareUID(mfrc522.uid.uidByte, validCard)) {
Serial.println("Valid card");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Valid card");

// Ouvrir la serrure
digitalWrite(SERRURE, LOW);
digitalWrite(LedOuvert, HIGH); // LED verte allumée
digitalWrite(LedFermer, LOW); // LED rouge éteinte
lockOpen = true; // Mémoriser l’état ouvert
previousRfidMillis = currentMillis;
rfidMessageDisplayed = true;
} else {
Serial.println("Wrong card");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Wrong card");

// Ne pas ouvrir la serrure


digitalWrite(SERRURE, HIGH);
digitalWrite(LedFermer, HIGH); // LED rouge allumée
digitalWrite(LedOuvert, LOW); // LED verte éteinte
lockOpen = false;
previousRfidMillis = currentMillis;
rfidMessageDisplayed = true;
}
}
}

// --- GESTION DU TEMPS D’AFFICHAGE ET DE VERROUILLAGE ---


if (rfidMessageDisplayed) {
// Si la serrure est ouverte et que le délai est dépassé, refermer
if (lockOpen && currentMillis - previousRfidMillis >= lockOpenDuration) {
digitalWrite(SERRURE, HIGH); // Fermer la serrure
digitalWrite(LedOuvert, LOW); // Éteindre la LED verte
lockOpen = false;
}

// Si le message est affiché depuis trop longtemps, le réinitialiser


if (currentMillis - previousRfidMillis >= rfidDisplayDuration) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Scan RFID card");
digitalWrite(LedFermer, LOW); // Éteindre la LED rouge
rfidMessageDisplayed = false; // Autoriser un nouveau scan
}
}

// Arrêt de la communication avec la carte lue pour être prêt à en lire une autre
mfrc522.PICC_HaltA(); // Met fin à la communication avec la carte
mfrc522.PCD_StopCrypto1(); // Arrête le chiffrement
mfrc522.PCD_Init(); // Réinitialise le lecteur RFID
}

// --- FONCTION POUR COMPARER LES UID ---


bool compareUID(byte *uid, byte *knownUID) {
for (byte i = 0; i < 4; i++) {
if (uid[i] != knownUID[i]) {
return false; // Dès qu’un octet est différent, la carte est invalide
}
}
return true; // Tous les octets correspondent : carte valide
}

/*
================================================================
============
Projet : Domotique intelligente avec capteurs environnementaux et contrôle Blynk
Carte utilisée : ARDUINO MEGA 2560
----------------------------------------------------------------------------
Ce programme est conçu pour être exécuté sur une carte Arduino MEGA 2560.

Fonctions principales :
- Mesure de la température et de l'humidité avec un capteur DHT22
- Détection de gaz avec le capteur MQ2
- Commande d'un ventilateur via un relais si la température dépasse un seuil
- Alerte sonore (buzzer) en cas de détection de gaz dangereux
- Affichage des données sur un écran LCD I2C 16x2
- Envoi des données sur l’application mobile Blynk via un module Wi-Fi ESP-01

Particularités techniques :
- Utilisation du port série matériel Serial1 (spécifique à la MEGA) pour la
communication avec le module ESP8266 (ESP-01)
- Utilisation de `millis()` pour des temporisations non-bloquantes
- Intégration de la plateforme Blynk pour la surveillance à distance en temps réel

Ce code est adapté pour un projet de maison intelligente de type démonstratif.

================================================================
============
*/

/* Informations du projet Blynk générées automatiquement */


#define BLYNK_TEMPLATE_ID "TMPL2PkJB-sOw" // ID unique du modèle
Blynk
#define BLYNK_TEMPLATE_NAME "Smart Domotique" // Nom du projet dans
l'application Blynk
#define BLYNK_AUTH_TOKEN "QsFtSqv475QIZZ4qsHiAYo9wMiWPrh80" // Jeton
d'authentification Blynk

/* Active l'affichage des données dans le moniteur série (pour débogage) */


#define BLYNK_PRINT Serial

// Bibliothèques nécessaires
#include <ESP8266_Lib.h> // Pour la communication avec l’ESP-01
#include <BlynkSimpleShieldEsp8266.h> // Pour l'intégration avec Blynk via
ESP8266
#include <LiquidCrystal_I2C.h> // Pour l’écran LCD I2C
#include <Wire.h> // Communication I2C
#include <DHT.h> // Pour le capteur DHT22 (température/humidité)

/* Définition des broches pour le capteur de gaz MQ2 et le buzzer */


#define Buzzer 9 // Buzzer connecté à la broche D9
int GasSensor = A1; // Capteur de gaz connecté à la broche analogique A1
int sensorThreshold = 300; // Seuil de détection de gaz

/* Définition des broches et type pour le capteur DHT22 */


#define DHTPIN 10 // DHT22 connecté à la broche D10
#define DHTTYPE DHT22 // Type de capteur
DHT dht(DHTPIN, DHTTYPE); // Création de l’objet DHT

/* Définition de la broche du ventilateur (relais) */


const int relayPin = 11; // Relais du ventilateur connecté à la broche D11

// Initialisation de l’écran LCD I2C à l’adresse 0x27 (16 colonnes, 2 lignes)


LiquidCrystal_I2C lcd(0x27, 16, 2);

// Identifiants Wi-Fi
char auth[] = BLYNK_AUTH_TOKEN; // Jeton d’authentification pour Blynk
char ssid[] = "Jovial"; // Nom du réseau Wi-Fi
char pass[] = "Hoanotay"; // Mot de passe du Wi-Fi
BlynkTimer timer; // Timer Blynk pour exécuter des fonctions à
intervalles réguliers

// Définition du port série matériel utilisé pour la communication avec l’ESP-01


#define EspSerial Serial1 // Serial1 = TX1 (18) / RX1 (19) sur MEGA

#define ESP8266_BAUD 115200 // Vitesse de communication avec l’ESP-01


ESP8266 wifi(&EspSerial); // Objet ESP8266 utilisant le port série défini

// Variables pour la gestion du temps (millis)


unsigned long previousFanMillis = 0; // Mémorise le dernier moment où le ventilateur
a été vérifié
const long fanCheckInterval = 1000; // Intervalle de 1 seconde entre deux
vérifications

unsigned long previousBuzzerMillis = 0; // Mémorise le moment où le buzzer a été


activé
const long buzzerActiveDuration = 2000; // Durée d’activation du buzzer (2 secondes)
bool buzzerActive = false; // Indique si le buzzer est actuellement actif

// Fonction principale pour lire les capteurs et gérer les actions


void sendSensor() {
float h = dht.readHumidity(); // Lecture de l’humidité
float t = dht.readTemperature(); // Lecture de la température en Celsius

if (isnan(h) || isnan(t)) { // Vérifie si les valeurs sont valides


Serial.println("Failed to read from DHT sensor!");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Erreur capteur!");
return; // Sortie de la fonction si erreur
}

// Envoi des données température et humidité à l’application Blynk


Blynk.virtualWrite(V0, t); // Température sur le pin virtuel V0
Blynk.virtualWrite(V1, h); // Humidité sur le pin virtuel V1

// Affichage dans le moniteur série


Serial.print("Temperature : ");
Serial.print(t);

// Affichage sur l’écran LCD


lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");

Serial.print(" Humidity : ");


Serial.println(h);
lcd.setCursor(0, 1);
lcd.print("Humid : ");
lcd.print(h);
lcd.print(" %");

// --- Gestion du ventilateur selon la température ---


unsigned long currentMillis = millis(); // Temps actuel
if (currentMillis - previousFanMillis >= fanCheckInterval) {
if (t > 25) { // Si température > 25°C, activer le ventilateur
digitalWrite(relayPin, LOW); // Active le relais (actif à LOW)
} else {
digitalWrite(relayPin, HIGH); // Désactive le relais
}
previousFanMillis = currentMillis; // Réinitialisation du minuteur
}

// Lecture de la valeur du capteur de gaz


int gasValue = analogRead(GasSensor);
Blynk.virtualWrite(V2, gasValue); // Envoi à Blynk sur le pin virtuel V2
Serial.println(gasValue); // Affichage dans le moniteur série

// --- Gestion du buzzer selon la valeur du gaz ---


if (gasValue < sensorThreshold) {
if (digitalRead(Buzzer) == HIGH) { // Si le buzzer est encore actif alors qu'il ne
devrait pas
digitalWrite(Buzzer, LOW); // On l’éteint
buzzerActive = false;
}
} else if (gasValue > sensorThreshold) {
if (!buzzerActive) { // Si le buzzer n'est pas encore actif
digitalWrite(Buzzer, HIGH); // On l’active
Blynk.logEvent("gas_alert","Danger Gaz Detecter !"); // Envoi d'une alerte à Blynk
previousBuzzerMillis = currentMillis; // Mémorise le temps d’activation
buzzerActive = true;
} else if (currentMillis - previousBuzzerMillis >= buzzerActiveDuration) {
// Ici le buzzer reste allumé tant que le gaz est détecté.
// On pourrait ici insérer une logique d’extinction temporaire si besoin.
}
}
}
void setup() {
// Initialisation du port série pour le débogage
Serial.begin(115200);

// Initialisation de l’écran LCD et du capteur DHT


lcd.init();
lcd.backlight();
dht.begin();
// Configuration des broches
pinMode(GasSensor, INPUT); // Capteur de gaz en entrée analogique
pinMode(Buzzer, OUTPUT); // Buzzer en sortie
pinMode(relayPin, OUTPUT); // Ventilateur en sortie (relais)
digitalWrite(relayPin, HIGH); // Ventilateur éteint par défaut
digitalWrite(Buzzer, LOW); // Buzzer éteint par défaut

// Initialisation du port série entre MEGA et ESP-01


EspSerial.begin(ESP8266_BAUD);
delay(10); // Petit délai de stabilisation

// Connexion à Blynk via ESP-01


Blynk.begin(auth, wifi, ssid, pass);

// Exécute la fonction sendSensor toutes les 100 ms


timer.setInterval(100L, sendSensor);
}

void loop() {
Blynk.run(); // Gère la connexion Blynk en continu
timer.run(); // Gère le déclenchement de la fonction sendSensor
}
BIBLIOGRAPHIE
[1] : https://www.cea.fr/comprendre/Pages/nouvelles-technologies/essentiel-sur-domotique-
maison-connectee.aspx
[2] :https://www.domadoo.fr/fr/?srsltid=AfmBOoqXFhOfXjjk0xzVfdmacsR0m5n0bFYd0G3u3qpCG
_yak-oiA-BP
[3] : https://www.xpair.com/lexique/definition/domotique.htm
[4] :https://www.viving.fr/sinspirer/la-domotique-dans-la-maison-avantages-et-contraintes/
[5] : https://store.arduino.cc/products/arduino-mega-2560-
rev3?srsltid=AfmBOop6jnHsOs1lpVhV5Tipic_Ct9aBCLTR26lPgvnuC1oAf4LX4teA
[6] : https://getsafeandsound.com/blog/types-of-electronic-door-
locks/#:~:text=The%20four%20main%20types%20of,or%20a%20fail%2Dsecure%20lock.
[7] : https://www.rechner-sensors.com/fr/documentations/connaissance/le-capteur-de-
temperature
[8] : https://fr.wikipedia.org/wiki/Pir
[9] : https://tikno.edutech.dz/products/afficheur-lcd-2x16-1602-caracteres
[10] : https://fr.wikipedia.org/wiki/Radio-identification

Vous aimerez peut-être aussi