0% ont trouvé ce document utile (0 vote)
104 vues110 pages

Système Domotique : Étude et Réalisation

Ce mémoire présente l'étude et la réalisation d'un système domotique dans le cadre d'une licence professionnelle en informatique industrielle. Il détaille les différentes fonctionnalités du système, telles que le contrôle d'accès, la gestion de l'éclairage et la détection de gaz ou de fumée. Le document inclut également des informations sur la structure d'accueil du stage et les connaissances acquises durant le projet.

Transféré par

lucasbk991
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
104 vues110 pages

Système Domotique : Étude et Réalisation

Ce mémoire présente l'étude et la réalisation d'un système domotique dans le cadre d'une licence professionnelle en informatique industrielle. Il détaille les différentes fonctionnalités du système, telles que le contrôle d'accès, la gestion de l'éclairage et la détection de gaz ou de fumée. Le document inclut également des informations sur la structure d'accueil du stage et les connaissances acquises durant le projet.

Transféré par

lucasbk991
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE DU BENIN

*******
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA
RECHERCHE SCIENTIFIQUE
*******
UNIVERSITÉ CATHOLIQUE DE L’AFRIQUE
DE L’OUEST
*******
ÉCOLE DE GÉNIE ÉLECTRIQUE ET
INFORMATIQUE
*******
MÉMOIRE DE FIN DE FORMATION POUR
L’OBTENTION DU DIPLÔME DE LICENCE
PROFESSIONNELLE
*******

THÈME

ETUDE ET REALISATION D’UN ENSEMBLE DE


SYSTEME DE SYSTEME DOMOTIQUE

Domaine : Sciences et Technologie


Option : Informatique Industrielle et Maintenance
Réalisés par :
AGBODJI Lucas
&
CHABI Shalom J. H.

Sous la supervision de :

Maître de Stage Maître de


mémoire

Mme HOUESSOU Sandrine Mr KIKI


Probus

1
Année académique : 2023 –
2024

ENGAGEMENT

L’UNIVERSITÉ CATHOLIQUE DE L’AFRIQUE DE L’OUEST (UCAO)


N’ENTEND DONNER NI APPROBATION NI IMPROBATION AUX OPINIONS
ÉMISES DANS CE MÉMOIRE. CES OPINIONS DOIVENT ÊTRE CONSIDÉRÉES
COMME PROPRE A LEURS AUTEURS.

2
DÉDICACE 1

Nous dédions cette œuvre à l’Eternel Dieu des Armées, pour nous avoir
maintenu en vie malgré toutes les péripéties, les défis auxquels j’ai été
confrontés ; malgré les adversités, nous avons fait avec son aide et sa
force, lutté pour vivre et aujourd’hui, nous puissions avoir une raison de lui
dire merci car, dans tout ceci, il est et demeure mon MEILLEUR. « Il a écrit
tout droit sur ma vie courbe ».

REMERCIEMENTS

Nos remerciements vont à l’endroit de tout ceux qui nous ont


accompagnés depuis notre cursus universitaire jusqu’à la conception de ce
projet. Nous adressons particulièrement nos sincères remerciements :
 Au Père fondateur de l’UCAO-UUC, pour avoir mis en place une
université de haute formation de la jeunesse béninoise et africaine ;
 A toute l’administration de l’UCAO-UUC, pour ses efforts et son
soutien dans notre formation ;
 A nos professeurs du département de Génie Électrique et
Informatique qui ont contribués à notre formation ;
 Au Dr Ing. Probus KIKI, notre maître de mémoire pour son suivi
rigoureux et ses sages conseils tout au long de la réalisation de ce
document ;
 A Mr SEWANOUDE Boras pour ses orientations ;
 A Mr HOUESSOU Jean, Mme HOUESSOU Sandrine, pour leurs
apports et plus précisément leurs orientations de recherches.
 A tous les enseignants de l’EGEI et des autres écoles de l’UCAO-UUC
qui de près ou de loin, ont contribué à notre formation ;
 A nos familles respectives, pour leur soutient indéfectible ;
 A nos amis qui ont été d’un soutient moral indéniable ;
 A tous ceux qui, de diverses manières ont participé à la réalisation
de ce travail.

3
TABLE DES FIGURES
Figure1-Organigramme de l’ON
ADESTI……………………………………………………….

Figure :2-1 : Schéma synoptique du système


général……………………………………...

Figure :2-2-Serrure
électronique…………………………………………………………………

Figure :2-3-Keypad clavier


physique…………………………………………

Figure :2-4-Ecran LCD connecté avec


I2C………………………………………

Figure :2-5-Port d’entré de disque sur


dvd……………………………………………………

Figure :2-6-Module Bluetooth HC-


05………………………………………………………….

Figure :2-7-Module relais4


anneaux…………………………………………………………….

Figure :2-8-Lampe
LED…………………………………………………………………………….

Figure :2-9-Driver de moteur


l298n…………………………………………………………….

Figure :2-10-Capteur de gaz MQ-


2……………………………………………………………...

Figure :2-11-Capteur de
flamme………………………………………………………………

4
Figure :2-12-Capteur de mouvement
PIR…………………………………………………….

Figure :2-13-Capteur de température


DHT11……………………………………………….

Figure :2-14-
ventilateur……………………………………………………………………
………

Figure :2-15-Diode
laser……………………………………………………………………………

Figure :2-16-Photorésistance………………….

Figure :2-17-
Photorésistance………………………………………………………………
…….

Figure :2-18Différents types de carte


Arduino……………………………………………….

Figure :2-19-Carte Arduino


UNO……………………………………………………………….

Figure :2-20- Caractéristiques de la carte Arduino


UNO…………………………………

Figure :3-1-Organigramme du système de verrouillage par code


pin…………………

Figure :3-2-Organigramme du système de commande Bluetooth


(partie1) ……….

Figure :3-3-Organigramme du système de commande Bluetooth


(partie 2) ……….

Figure :3-4-Organigramme du système de commande Bluetooth


(partie 3) ……….

5
Figure :3-5-Organigramme du système de détection de fumé et
de gaz……………

Figure :3-6-Organigramme du système de détection de


feu………………………….

Figure :3-7-Organigramme du système d’éclairage par capteur


de mouvement.

Figure :3-8-Organigramme du système de refroidissement


automatique…………

Figure :3-9-Schéma de câblage du système


général……………………………………

Figure :3-10-Organigramme du système de sécurité par


laser…………………………

Figure :3-11-Organigramme du système


général…………………………………………...

Figure :3-12-Aperçu de la maquette du


système………………………………………….

LISTE DES TABLEAUX


Coût de la réalisation

LISTE DES ABRÉVIATIONS


ADESTI : Association pour le Développement des Sciences et
des Techniques Industrielles

DC : Direct Current

I2C : Inter-Integrated Circuit

IDE : Inregrated Development Environment

6
LDR : Light-Dependent Resistor

LED : Light Emitting Diode (Diode électroluminescente en


français)

ONG : Organisation Non Gouvernementale

TTL : Transistor-Transistor Logic

USB : Universal Serial Bus

LCD : Liquid Crystal Display

DVD : Digital Versatile Disc

PIR : Passive Infra Red

VCC : Voltage current continue

SOMMAIRE
Chapitre 1

1-PRESENTATION DU LIEU DE STAGE


1.1 Présentation de la structure d’accueil : ADESTI
1.1.1 Historique et Activités d’ADESTI
[Link] Historique
[Link] Activités d’ADESTI
1.1.2 Objectifs
1.1.3 Mission
1.1.4 Structure organisationnelle
[Link] Assemblée Générale
[Link] Conseil d’Administration
[Link] Les sections techniques
1.1.5 Organigramme
1.2.1 Travaux effectués et difficultés rencontrées
[Link] Domaine logiciel Arduino et Electronique programmable
[Link] Domaine de l’Automatisme Industriel
[Link] Difficultés rencontrées
1.2.2 Connaissances acquises
1.2.3 Observation du stage

7
Chapitre 2

2-1-Synthèse du projet
2-2-INTRODUCTION SUR NOTRE SYSTEME DOMOTIQUE
2-2-1-La définition du terme domotique
2-2-2- Domaines de la domotique
2-2-3- Les différents fonctionnalités de la domotique
2-2-3-1-Fonction de commandes des appareils de la maison par
commande Bluetooth
2-2-3-2-Fonction de gestion d’éclairage
2-2-3-3-Fonction d’acquisition de la température pour un
système de refroidissement automatique
2-2-3-4-Fonction de contrôle d’accès
2-2-3-5-Fonctions de détection de fuite de gaz ou de fumée et
d’incendie
2-2-3-6-Fonction de sécurité
2-2-4- Les architectures des systèmes embarqués
2-2-5-Etude théorique du système
2-2-5-1-Problématique de thème
2-2-5-2- Etude théorique du système
2-2-5-2-1- Cahier de charge
2-2-5-2-2- Schéma synoptique de la maison intelligente :
connectée et sécurisée
2-2-6-Objectif, fonctionnement, avantages et inconvénients de
notre système
2-2-6-1-Objectifs de notre système
2-2-6-2-Fonctionnement du système
2-2-6-3- Avantages de notre système
2-2-6-3- Inconvénients de notre système
2-2-7-Étude détaillée des différents blocs du système
2-2-7-Étude détaillée des différents blocs du système
2-2-7-1-Système de déverrouillage par code pin de la porte du
salon
2-2-7-1-1- Description du système
2-2-7-1-2- Composants principales et caractéristiques
2-2-7-1-2-1- Serrure Electronique
2-2-7-1-2-3- Ecran LCD 16x02 avec I2C
2-2-7-1-2-4- Porte d’entrée de disque sur dvd
2-2-7-2-Système de commande des lampes et des portes de la
maison par application Bluetooth
2-2-7-2-1- Description du système
2-2-7-2-2- Composants principales et leurs caractéristiques
8
2-2-7-2-2-1- Module Bluetooth HC-05
2-2-7-2-2-2- Module de relais
2-2-7-2-2-3-Lampes LED
2-2-7-2-2-4-Driver de moteur L298N
2-2-7-2-2-5-Application Mobile Bluetooth interconnecté avec le
module HC-05
2-2-7-3-Système de détection de fumé et de gaz
2-2-7-3-1-Description du système
2-2-7-3-2- Composants principales et leurs caractéristiques
Capteur de gaz MQ2
2-2-7-4-Système de détection de flamme
2-2-7-4-1- Description du système
2-2-7-4-2-Composants principales et leurs caractéristiques
Capteur de flamme KY-026
2-2-7-5-Système d’éclairage avec un capteur de mouvement
2-2-7-5-1-Description du système
2-2-7-5-2-Composants principales et leurs caractéristiques
Capteur de mouvement PIR
2-2-7-6-Système de refroidisseur automatique
2-2-7-6-1-Description du système
2-2-7-6-2-Composants principales et leurs caractéristiques
2-2-7-6-2-1-Capteur de température et d’humidité
2-2-7-6-2-2-Un ventilateur de 5V
2-2-7-7-Système de sécurité laser
2-2-7-7-1-Description du système
2-2-7-7-2- Composants principales et leurs caractéristiques
2-2-7-7-2-1-Capteur de présence laser
2-2-7-7-2-2-Photorésistance
2-2-7-8-Système d’éclairage automatique des lampes
2-2-7-8-1- Description du système
2-2-7-8-2- Composants principales et leurs caractéristiques
Photorésistance
2-2-8- Bloc d’entrée ou de sortie des différents systèmes non
exposés dans leur fonction dans le sous chapitre précèdent
2-2-8-1-Système de déverrouillage par code pin de la porte du
salon
2-2-8-2-Système de détection de gaz, de fumée et de feu
2-2-8-3-Système d’éclairage avec capteur de mouvement PIR
2-2-8-4-Système de sécurité par diode laser
2-2-8-5-Système d’éclairage automatique
2-2-8-6-Système de refroidissement automatique
2-2-8-7- La prise électrique et les batteries de 9v

9
2-2-9-Bloc de Commande
2-2-9-1-ARDUINO
2-2-9-1-1-INTRODUCTION sur l’ARDUINO :
2-2-9-1-2-LE LOGICIEL ARDUINO
2-2-9-1-3-L’ARDUINO UNO
2-2-9-1-4-Les caractéristique et l’architecture d’ARDUINO UNO

Chapitre 3

3-1-Organigramme et code de programmation de chaque sous


système
3-1-1-Système de déverrouillage par code pin de la porte du
salon
3-1-1-1-Oganigramme
3-1-1-2-Code de programmation
3-1-2--Système de commande des lampes et des portes de la
maison par application Bluetooth
3-1-2-1--Organigramme
3-1-2-1-1-Organigramme pour l’allumage et l’extinction des
lampes de la maison de façon individuelle
3-1-2-1-2-Organigramme pour l’allumage et l’extinction de
toutes les lampes de la maison
3-1-2-1-3-Organigramme pour l’ouverture et la fermeture de la
porte du garage et du salon de la maison
3-1-2-2-Code de programmation
3-1-3- Système de détection de fumé et de gaz
3-1-3-1- Organigramme
3-1-3-2- Code de programmation
3-1-4- Système de détection de feu
3-1-4-1-Organigramme
3-1-4-2-Code de programmation
3-1-5- Système de d’éclairage par capteur de mouvement
3-1-5-1- Organigramme
3-1-5-2- Code de programmation
3-1-6-Système refroidissement automatique
3-1-6-1- Organigramme
3-1-6-2- Code de programmation
3-1-7- Système de sécurité par laser
3-1-7-1- Organigramme
3-1-7-2- Code de programmation
3-1-8- Système de d’éclairage automatique
3-1-8-1- Organigramme

10
3-1-8-2- Code de programmation
3-1-Schéma de câblage du système générale
3-2-Organigramme du système général
3-3-Code de programmation du système général
3-4-Apercue de la maquette de notre système
Conclusion
Etude et coût de réalisation

Chapitre
1
Structure 11

d’ADESTI
PRESENTATION DU LIEU DE
STAGE
Dans la perspective d’allier nos connaissances théoriques à la
pratique, nous avons eu à effectuer un stage pratique de trois
(03) mois. Ce chapitre constitue la première partie de notre
sujet. Il présente la structure d’accueil et le déroulement du
stage.

1.1-Présentation de la structure d’accueil :


ADESTI

1.1.1-Historique et Activités d’ADESTI

[Link]-Historique
L’Association pour le Développement des Sciences et des
Techniques Industrielles (ADESTI) est une organisation non-
gouvernementale d’obédience industrielle et informatique qui a
vu le jour en 2008 et dont le siège social se situe à Cotonou au
quartier Gbèdegbé, carré 1619, parcelle J. Elle a été fondée par
un groupe d’ingénieurs et techniciens béninois et se revendique
tout, être un cadre privilégié de réflexion, de concentration et
d’actions au service du développement du Bénin. Elle est donc
la résultante de la volonté d’un ensemble d’individus décidés à
mettre en commun leurs connaissances et des ressources en
vue d’apporter des solutions aux problèmes que rencontre le
Bénin dans le domaine scientifique. Toutefois, il est logique de
remarquer qu’ADESTI est une association à but non-lucratif
régie par la loi du 1er juillet 1901.

[Link]-Activités d’ADESTI

12
ADESTI est une organisation non-gouvernementale ayant pour
principale activité la formation des étudiant(s)(es) de niveau
supérieur du premier au troisième cycle. Elle forme dans les
domaines ci-après :
— Initiations aux Automates Programmables Industriels (API) ;
— Initiations aux microcontrôleurs et cartes de microcontrôleurs
;
— Conception des systèmes automatiques ;
— Electronique ;
— Electricité générale ;
— Energies renouvelables.

1.1.2-Objectifs
ADESTI s’est fixée pour objectif principal de contribuer au
développement des sciences et techniques industrielles (STI) à
travers les objectifs spécifiques suivants :
• Le perfectionnement de ses membres et de tout le personnel
exerçant dans ce domaine ;
• L’échange au travers des informations et connaissances sur
les évolutions des techniques et méthodes ;
• La publication d’articles et divers travaux de recherches ;
• L’incitation des jeunes élèves et étudiants aux sciences et
techniques industrielles ;
• Le soutien aux organisations privées, publiques ou
parapubliques ayant la même vision que l’association ;
• La participation à la définition et à la conception des normes.

1.1.3-Mission
La principale mission d’ADESTI est de contribuer au
développement des sciences et techniques industrielles
pouvant offrir aux jeunes la possibilité de développer leurs
connaissances, grâce aux divers projets de recherches qui
seront initiés dans les domaines d’activités d’ADESTI. Par
ailleurs, elle se donne comme mission de former tout jeune
désireux de faire carrière dans le secteur industriel, afin de leur
permettre d’évoluer avec la technologie.

1.1.4-Structure organisationnelle
L’association est composée des membres actifs, des membres
associés ou honoraires. Les membres actifs participent
régulièrement aux activités de l’association et sont tenus de
s’acquitter de leurs obligations. Les associés ou honoraires sont

13
des personnes physiques ou morales admises par le Conseil
d’Administration pour leurs contributions dans les domaines
d’intérêts de l’association. Les organes de l’association sont :
l’assemblée générale, le conseil d’administration et quatre
sections techniques.

[Link]-Assemblée Générale
L’Assemblée Générale est l’organe suprême. Elle est composée
de tous les membres qui se réunissent une fois par an. Elle a à
sa tête un bureau qui s’occupe de la vérification des comptes,
approuve les rapports d’activités, les comptes d’exercices, vote
le budget d’exercices, procède, s’il y a lieu, au renouvellement
des membres du conseil d’administration. L’Assemblée confère
au Conseil d’Administration ou à des membres de son bureau
certaines autorisations pour accomplir certaines opérations
rentrant dans les objectifs de l’association. En outre, elle
délibère sur toutes les questions portées à l’ordre du jour, à la
demande signée du quart des membres de l’association.

[Link]-Conseil d’Administration
Le Conseil d’Administration est composé de neuf membres élus
au scrutin secret pour deux années par l’Assemblée Générale et
choisit parmi les membres actifs résidants au Bénin et jouissant
de leurs droits civiques. Ce sont :
• Un président chargé de convoquer les Assemblées Générales
et les réunions du Conseil d’Administration. Il représente
l’association dans tous les actes de la vie civile et est de tout
pouvoir à cet effet ;
• Un vice-président chargé de suppléer au président, de l’aider
dans l’accomplissement de ses tâches. Il coordonne les activités
des commissions techniques. Il est responsable de la formation
au sein de l’association ;
• Un secrétaire général chargé de l’administration, de la tenue
de la correspondance et des archives de l’association ;
• Un secrétaire général adjoint chargé d’aider le secrétaire
général dans l’exercice de ses fonctions. Il le remplace en cas
d’indisponibilité ;
• Un secrétaire général chargé des informations et des relations
publiques ;
• Un secrétaire chargé de l’organisation matérielle de toutes les
manifestations de l’association, de l’organisation interne de

14
l’information et de la diffusion de publication scientifique et
technique, des relations extérieures à l’association ;
• Un secrétaire aux affaires juridiques, professionnelles et
sociales : il conseille sur le caractère juridique des problèmes de
l’association. Il s’informe sur les problèmes professionnels et
sociaux afin de participer à leurs résolutions ;
• Un trésorier général chargé de la gestion du patrimoine de
l’association. Il effectue tous les payements et perçoit toutes les
recettes. Tout décaissement est subordonné à la signature
conjointe du président et du trésorier général.

[Link]-Les sections techniques


Les sections techniques ont pour objectif d’étudier et de
coordonner les différents projets dans chacun des domaines
d’interventions qui sont :
• L’informatique ;
• L’électrotechnique ;
• L’électronique ;
• La mécanique.

1.1.5-Organigramme

15
Figure 1 : Organigramme d’ADESTI

1.2.1-Travaux effectués et difficultés rencontrées


Durant notre stage au sein de l’ONG ADESTI, divers travaux ont
été effectués dans les domaines spécifiques suivants :

[Link]-Domaine logiciel Arduino et Electronique


programmable
Arduino est une plateforme de prototypage d’objets interactifs
à usage créatif constitué d’une carte électronique et d’un
environnement de programmation. Il permet de programmer les
microcontrôleurs. Nous avons appris à programmer dans le
langage Arduino (C/C++) et à réaliser quelques séries de
montages. Ces séries de montages ont été effectuées avec des
composants électroniques qui sont commandés par le
microcontrôleur programmé par le logiciel Arduino.

[Link]-Domaine de l’Automatisme Industriel


L’Automatisme Industriel permet, suite à une étape de
programmation des Automates Programmable Industriels (API),
d’effectuer des processus industriels sans intervention
humaine. Nous avons appris à analyser le fonctionnement de
plusieurs processus industriels et à le transcrire en
organigramme ou en Graphe Fonctionnel de Commande des
Etapes et Transitions (GRAFCET).

[Link]-Difficultés rencontrées

Pendant le déroulement de notre stage à ADESTI, nous avons,


dans le cadre de la réalisation des travaux relatifs à notre
projet, eu quelques difficultés pour la combinaison de différents
programmes afin d’obtenir le fonctionnement voulu.

1.2.2-Connaissances acquises
Les différentes activités menées au cours de notre stage nous
ont permis d’acquérir de nouvelles connaissances comme la
mise en fonctionnement de plusieurs systèmes domotique
simultanément

16
1.2.3-Observation du stage
Notre stage à ADESTI fut un véritable moment de partage et
d’apprentissage dans le domaine de l’électronique et de
l’informatique, tant sur le plan pratique que théorique. Nous
avons pu constater, durant notre passage, l’effort à fournir et la
patience qu’un technicien doit avoir pour pouvoir concevoir,
détecter des pannes et résoudre les problèmes y afférents.
Nous avons également compris la portée de l’esprit de groupe,
car il est d’une importance capitale dans la résolution de
certains problèmes. Soulignons aussi l’expertise et la
qualification des encadreurs de par leur rigueur au travail.
Conclusion partielle Ce stage a été très instructif pour nous tant
sur le plan professionnel que personnel. Il nous a permis en
autre, d’acquérir de nouvelles connaissances pratiques, de
découvrir l’ambiance professionnelle et d’avoir une certaine
organisation dans le travail.
Cependant, nous avons eu quelques difficultés que nous avons
réussi à surmonter grâce à l’apport de nos encadreurs .

17
Chapitre
2
Etude théorique du
système
Dans ce chapitre de notre mémoire nous
allons aborder l’étude théorique de notre système et des sous-
systèmes qui forment notre système domotique

2-1-Synthèse du projet
L’évolution de la technologie et du mode de vie nous permet
aujourd'hui de prévoir des espaces de travail et de logement
mieux adaptés. De même, La majorité des individus, et plus
particulièrement les personnes âgées, passent beaucoup de
leur temps à domicile, d’où l’influence considérable de l’habitat
sur la qualité de vie. L’amélioration du sentiment de sécurité et
de confort dans l’habitat apparaît donc comme une tâche d’une
grande importance sociale.
La domotique regroupe les technologies de l’électronique, de
l'automatique, de l’informatique et des télécommunications

18
permettant d’améliorer le confort, la sécurité, la communication
et la gestion d’énergie d’une maison, d’un lieu public,
Elle permet ainsi de maintenir la qualité déviée à domicile.
Parmi les exemples, on peut citer les alarmes et détecteurs, les
commandes à distance, les automatismes d’éclairage ou
d’ouverture/fermeture de portes et volets ou encore les signaux
sonores.

2-2-Introduction
générale
Dans le cadre du projet du second semestre de 3éme année
nous avions le choix entre plusieurs sujets. Beaucoup des sujets
présentés nous intéressaient notamment la multitude de jeux à
mettre en œuvre. Mais en choisissant la domotique nous avons
voulu nous démarquer et changer de registre. En effet nous ne
connaissions que très peu se chose sur ce vaste domaine qu’est
la domotique ainsi notre curiosité l'emporta et nous voulions en
apprendre un peu plus, notamment comment la mettre en
place. Le but du projet est donc de créer un outil permettant de
contrôler divers équipements de la maison à distance. Pour
réaliser cela, nous devons utiliser une carte ARDUINO, c'est une
carte électronique qui peut être programmée avec un langage
spécifique. Ce projet mêle donc électronique et programmation,
l'objectif final étant de faciliter la vie des usagers.
La programmation du chauffage selon les heures et les pièces,
la mise en route de l’éclairage, le départ d’une machine est
autant de services pris en charge par la domotique.

2-2-INTRODUCTION SUR NOTRE


SYSTEME DOMOTIQUE
L’évolution des technologies et des automatismes du bâtiment
ont permis à la domotique de faire ses premiers pas.

19
Pleines de promesses quant aux économies d’énergies, a la
gestion intelligente des automatismes du bâtiments ou dans
l’aide des personnes en porte d’autonomie, la domotique peut
aussi être source d’interrogation pour les électriciens.
La domotique fait référence à l’ensemble des technologies
utilisées au seins de l’habitat. Certains individus sont déjà
familiarisés avec certains ces pratiques vues leur utilisations
dans leur quotidien comme allumer des lampes à distance,
l’éclairage crépusculaire et l’allumage des appareils à distance.
Mais il ne s’agit-là que d’un petit aperçu des nombreuses
possibilités qu’offre la domotique.
Aujourd’hui grâce aux progrès réalisés dans le domaine de
l’électronique la domotique offres d’immenses possibilités

Dans cette partie nous allons :


*définir le terme domotique
*les domaines de la domotique
* donner ses différentes fonctionnalités

2-2-1-La définition du terme


domotique
Le mot domotique est une contraction des mots DOMUS
(domicile en latin) et suffixe TIQUE qui est associé à la
technique et couramment employé pour évoquer les termes
des technologies d’automatique, électronique, électrique,
informatique et des communications au service de la maison.
La domotique est une spécialité du bâtiment regroupant les
techniques permettant de contrôler, domotiser et de
programmer l’habitat.
Sa fonction générale est d’assurer la fonction de sécurité, de
confort, de gestion d’énergie et de communication.

2-2-2- Domaines de la domotique


Les services offerts par la domotique couvrent trois
domaines principaux :
*Assurer la protection des personnes et des biens en
domotique de sécurité ;
*Veiller au confort de vie quotidien des personnes âgées,
entre autres, en installant une domotique pour les
personnes à mobilité réduite ;

20
*Faciliter les économies d’énergie grâce a la réactivité
maitrisée d’une maison intelligente ;

2-2-3- Les différents fonctionnalités de


la domotique
2-2-3-1-Fonction de commandes des appareils de
la maison par commande Bluetooth
La domotique permet de contrôler les appareils de la maison
juste en appuyant sur un bouton sur un smartphone ou en
disant un mot qui sera envoyé à la carte Arduino et allumera ou
non l’appareil

2-2-3-2-Fonction de gestion d’éclairage


La domotique permet de gérer intelligemment l’éclairage
en fonction des différentes pièces de la maison et des besoins
intrinsèques de son propriétaire. Par ailleurs, elle permet de
réaliser de substantielles économies d’énergie dans la mesure
où le système a la faculté d’éteindre une lumière restée
allumée ou d’éclairer automatiquement un endroit comme, par
exemple, un couloir avec une commande vocale, puis de
l’éteindre une fois que vous en êtes sorti ou encore de réaliser
un éclairage qui ne s’active que dans la nuit.

2-2-3-3-Fonction d’acquisition de la température


pour un système de refroidissement automatique
Le contrôle de la température par la domotique peut être
poussé encore un peu plus loin. Un système de
refroidissement est un dispositif utilisé pour réguler la
température d’un appareil ou d’un système en évacuant la
chaleur produite par celui-ci.

2-2-3-4-Fonction de contrôle d’accès


Le contrôle d'accès est une technique de sécurité employée
pour déterminer les utilisateurs oules programmes autorisés à
voir ou à utiliser les ressources d'un environnement
informatique. Cette autorisation d’accès a pour but de protéger
des personnes, des biens ou des informations. Elle peut
s’adresser au personnel de l’entreprise ou seulement aux
visiteurs et fournisseurs. A certains membres du personnel pour
certains lieux sensibles (bureaux, études, salle
informatiques……).
21
Il existe trois façons de prouver l’identité face à un système
informatique pour l’autorisation d’accès :
* Montrer ce que nous savons (un mot de passe ou code).
*Montrer ce que nous possédons (un objet, telle une carte
à puce, un badge).
*Prouver qui nous sommes grâce à une caractéristique
physique propre (biométrie).
Dans notre cas nous avons choisis un système avec la première
méthode

2-2-3-5-Fonctions de détection de fuite de gaz ou


de fumée et d’incendie
Ces fonctions permettent de détecter les fuites de gaz et la
fumée via un capteur de gaz MQ-2 et un capteur de flamme qui
est apte à détecter le GPL, le butane, le propane, le méthane,
l'alcool, l'hydrogène et les incendies via un capteur de flamme.

2-2-3-6-Fonction de sécurité
La domotique de sécurité passe également par la centralisation
de la surveillance et du contrôle de toutes les zones de
la maison. Des capteurs de mouvements, de bris de
glace, d’ouverture, etc., des poignées biométriques,
l’automatisme des volets… sont installés sur les ouvertures et
préviennent de toute intrusion, car l’ensemble est couplé à des
alarmes silencieuses sans fil ou des sirènes. Pour l’intérieur des
pièces, des micros ultrasensibles, des caméras invisibles, des
champs magnétiques, des détecteurs de fumées assurent aussi
une grande sécurité s’ils sont judicieusement positionnés.

2-2-4- Les architectures des systèmes


embarqués
Aujourd’hui, la plupart des systèmes électroniques utilisés sont
des systèmes embarqués.
On parlera d'un système embarqué lorsqu'un ensemble de
logiciels et de matériels est conçu pour une application
spécifique contrairement à un système qui peut effectuer
toutes sortes de tâches tel qu'un ordinateur de bureau. On
parle alors de code si où tant le matériel que le logiciel sont
parfaitement adaptés à la tâche pour lequel le système

22
embarqué est dédié. Voici des exemples de systèmes
embarqués :
*les ordinateurs de bord d’une automobile, d'un avion, d'une
navette spatiale.
*les radars, les sonars, les satellites.
*les téléphones portables, les routeurs, les assistants
personnels, les lecteurs mp3.
*les robots, les automates programmables, les contrôleurs
d'usine, de périphériques industriels.
*les appareils d'imagerie et d'électrophysiologie médicale.
*les systèmes d'alarmes, les contrôleurs de climatisation,
d'ascenseurs, d'accès.
*les guichets automatiques, les télévisions, les photocopieurs….
Un système embarqué est défini comme un
système électroniqueet informatiqueautonome,souvent temps r
éel, spécialisé dans une tâche bien précise. Le terme désigne
aussi bien l’informatique que le logiciel utilisé. Ses ressources
sont généralement limitées. Cette limitation est généralement
d'ordre spatial (encombrement réduit) et énergétique
(consommation restreinte). Pour modéliser nos objets
connectés, une carte électronique où des capteurs de toutes
sortes peuvent être branchés est nécessaire. Les cartes
électroniques à bas prix présentes sur le marché sont les cartes
ARDUINO, la BAGLEBONE et la RASPBERRY PI. Dans notre cas
nous avons eu recours à l’utilisation d’une carte ARDUINO.

2-2-5-Etude théorique du système


Le système que nous allons réaliser est un système de maison
intelligente avec contrôle par application mobile. Dans ce sous-

23
chapitre nous allons présenter la problématique de notre thème
puis une étude détaillée du système que nous avons réalisé.

2-2-5-1-Problématique de thème
La maison est un lieu particulièrement important et symbolique
pour toute personne. Il est bon de prendre soins de cet espace
mais il est encore mieux de faciliter le quotidien de vie dans ce
dernier et d’y vivre en pleine sécurité. Quels sont les moyens
auxquels l’Homme pourrais recourir afin d’assurer la sécurité et
le confort dans les maisons ? C’est ce problème que résous la
domotique et nous avons donc décider de concevoir une
maison intelligente connectée et sécurisée qui garantit un
environnement de vie plus sûr, confortable, économe en
énergie, pratique et durable malgré leur coût élevé.

2-2-5-2- Etude théorique du système

2-2-5-2-1- Cahier de charge


Le système domotique, conçu se compose d’une unité de
gestion centrale qui contrôle un ensemble d’unités de
commande. Cette unité de gestion centrale est interconnectée
avec une application mobile qui fournit les paramètres
nécessaires aux différentes unités de commande
Le cahier des charges de la maison intelligente connectée avec
Arduino a pour but de définir les besoins et les fonctionnalités
attendues pour que la maison soit facilement contrôlable et
surveillée à distance. Voici quelques sous-systèmes inclus dans
notre cahier des charges :

Contrôle à distance : Nous allons concevoir un système


qui va commander les appareils de la maison comme les
lampes et les portes distance à l’aide d’un smartphone ou d’une
tablette, via une application mobile ou un site web sécurisé.
Détection de mouvement : Nous allons équiper la
maison de capteurs de proximité c’est à dire de présence pour
détecter les intrus et déclencher des alarmes
Détection de gaz et de fumé : Nous allons équiper la
maison de capteurs de gaz et de fumé pour détecter et prévenir

24
une fuite de gaz ou une fumée de feu en déclenchant une
alarme et un ventilateur qui va éliminer la fumée ou le gaz.
Sécurité de la maison : Nous allons équiper la maison
d’un système d’alarme pour protéger contre les intrusions et les
incendies grâce à des capteurs de flamme et de mouvement
laser.
Éclairage intelligent : Nous allons équiper la maison d’un
système d’éclairage intelligent qui va automatiser l’éclairage de
la devanture et la cours.
Verrouillage de porte par système de code pin :
Nous allons contrôler l’accès de la porte principale de dans la
maison avec un système de déverrouillage code PIN
Système de refroidissement automatique du
salon de la maison : Nous allons contrôler la température
ambiante du salon grâce à un système de refroidissement
automatique qui va déclencher la mise en marche d’un
ventilateur en fonction de la température lue par un capteur de
température

25
2-2-5-2-2- Schéma synoptique de la maison
intelligente : connectée et sécurisée
Nous exposons le schéma synoptique de la maison intelligente
connectée et sécurisée

Figure 2-1 : Schéma synoptique du système général

26
2-2-6-Objectif, fonctionnement,
avantages et inconvénients de notre
système
2-2-6-1-Objectifs de notre système
• Objectif général
Nous voulons réaliser un système de maison intelligente qui
améliore le confort et la sécurité des maisons tout en réduisant
la consommation d’énergie.
• Objectifs spécifiques
— Concevoir un système de maison intelligente interconnectée
avec une application mobile Bluetooth pour la commande a
distance ;
— Réaliser un ensemble de système de sécurité avec les sous-
systèmes tels que le système de détection de fumé, de fuite de
gaz et de flamme, le système de détection de présence par
laser et le système de déverrouillage par code PIN pour assurer
la sécurité des résidents et des biens ;
— Développer une application mobile comme interface entre
l’utilisateur et tout le système.

2-2-6-2-Fonctionnement du système
Le principe de fonctionnement de notre maison intelligente
connectée et sécurisée est basé sur l’utilisation de divers
équipements et dispositifs connectés en réseau, que nous
pouvons contrôler et surveillés à distance à l’aide d’un
smartphone, d’une tablette ou d’un ordinateur. Notre système
va inclure l’utilisation de plusieurs capteurs tels que des
capteurs de proximité pour la détection d’intrus, des capteurs
de fumée pour la détection de gaz et fumées, un système

27
d’alarme pour la protection contre les intrusions, un éclairage
intelligent, un microcontrôleur ARDUINO UNO, un module
Bluetooth HC-05 pour la commande à distance des lampes et
des portes et une intégration facile avec d’autres systèmes de
domotique et de sécurité existants.

2-2-6-3- Avantages de notre système


-Eliminations la nécessité des clés physique pour le
déverrouillage des portes ;
-Il est facile de changer le code PIN de sécurité chaque fois que
nécessaire ;
-Amélioration du confort grâce à l’automatisation des tâches
quotidiennes qui diminue ou supprime l’intervention humaine ;
-Efficacité énergétique car les systèmes automatiques ne
consomment pas beaucoup d’énergie ;
-Amélioration de la sécurité grâce au système de sécurité
automatisé ;
-Possibilité d’accessibilité à distance ;
2-2-6-3- Inconvénients de notre système
-le coût élevé de l’installation des systèmes de la maison
intelligente ;
-possibilité de rencontrer des difficultés pour l’installation et
l’automatisation des systèmes de la maison intelligente ;

2-2-7-Étude détaillée des différents


blocs du système

2-2-7-1-Système de déverrouillage par code pin


de la porte du salon

2-2-7-1-1- Description du système

28
La sécurité est vitale dans le monde en évolution rapide dans
lequel nous vivons aujourd’hui. Il n’y a jamais eu de moment
plus important pour sécuriser nos résidences et nos espaces
privés. C’est pourquoi un système de verrouillage de porte par
mot de passe basé sur Arduino et un clavier est utile. Nous
approfondirons ce concept créatif dans cet article de blog, qui
propose un moyen économique et pratique d’améliorer la
sécurité. Nous pouvons créer un système de verrouillage de
porte fiable et adaptable qui nécessite un mot de passe fort
pour s'ouvrir en combinant un Arduino, un clavier, un écran LCD
pour la lecture de l’information, un relais 5V et une serrure
électronique. Examinons les pièces nécessaires et comment
fabriquer cette serrure de porte à clavier.
Au lieu d'une clé, ce type de système de verrouillage nécessite
un code numérique pour autoriser l'entrée Le code est saisi par
les utilisateurs via un pavé numérique ou un écran tactile,
certains verrous de clavier ont une fonction de sécurité intégrée
qui maintient la porte verrouillée pendant une durée
déterminée après plusieurs tentatives incorrectes de saisie du
code.

2-2-7-1-2- Composants principales et


caractéristiques

2-2-7-1-2-1- Serrure Electronique


C'est une grande serrure électrique pour verrouiller vos portes,
armoires, coffres-forts, fenêtres, tiroirs, etc. dans vos maisons
ou lieux de travail. Avec multi-usages, une installation facile et
un faible coût d'utilisation.
- Il est largement utilisé dans toutes sortes d'endroits, comme la
maison, les centres commerciaux, les écoles, les entreprises,
etc.
- Utilisé pour la porte d'échappement, la porte coupe-feu, le
système électronique contrôlé, les armoires de rangement, les

29
armoires de distribution d'électricité, les coffres-forts, Armoires
de rangement, etc.
- C'est avec une structure simple, facile à installer, facile à
utiliser.
- Fabriqué en alliage d'aluminium. Il est résistant à la rouille,
robuste et durable, peut facilement et en toute sécurité
protéger vos objets précieux.
- Avec un faible coût d'utilisation. Ce verrou électrique utilise
une puissance instantanée, vous permet d'économiser de
l'énergie.
- Il est de petite taille et léger, prend juste un petit espace.
- Voltage : 12v DC
- Courant : 0.6A
- Consommation électrique : 7.5w
- Temps de déverrouillage : 1s
- Puissance continue : <10s
- Forme motorisée : interruption
-
- Matériau : alliage d'aluminium
- Taille : 6.6 x 4.2 x 2.7cm
- Poids : 153g

Figure 2-2 : Serrure


électronique

2-2-7-1-2-2- Clavier physique KEYPAD


C’est un clavier pour la carte de développement étendue
et peut se connecter facilement avec un câble.

30
-Puissance maximale du circuit : 35 V CC, 100 mA.
- Résistance d'isolement : 100 M Ohm, 100 V.
-Tenue diélectrique : 250VRms, 50 - 60Hz, 1 min.
-Rebond de contact : inférieur ou égal à 5 ms.
-Espérance de vie : 1 million de fermetures.
-Température de fonctionnement : -20 à +40°C.
-Humidité de fonctionnement : 40°C, 90% ~ 95%.
-Type de connecteur : 8 broches.
-Type de montage : adhésif.
- Longueur de câble (connecteur inclus) : 88 mm.
-Taille : 77 * 69 mm

Figure 2-3 : Keypad clavier physique

2-2-7-1-2-3- Ecran LCD 16x02 avec I2C


L'écran LCD 16x2 est un écran qui peut afficher 2 lignes avec
16 caractères par ligne (simultanément). La couleur des
caractères est noire et l'écran à un fond vert. Cela le rend
également lisible dans l'obscurité. Le contraste est réglable.
Grâce au module I2C pré-soudé, vous avez besoin de moins de
ports IO. Vous pouvez facilement connecter l'écran à un

31
Arduino, Raspberry Pi, ESP32, ESP8266, etc.
Il y a 4 fils pour contrôler l'écran : GND, VCC, SDA, SCL.

Figure2-4 : Ecran LCD connecté avec I2C

2-2-7-1-2-4- Porte d’entrée de disque sur dvd


Nous allons utiliser une porte d’entrée de dvd qui est munie
d’un moteur afin de commander ce dernier ce qui va
automatiquement faire bouger la porte dans le même sens.

32
Figure2-5 : Port d’entré de disque sur dvd

2-2-7-2-Système de commande des lampes et des


portes de la maison par application Bluetooth

2-2-7-2-1- Description du système


Avec l'arrivée de l'IOT (internet des objets) et le besoin de
contrôle, les appareils doivent désormais faire plus que de
remplir les fonctions de base pour lesquelles ils ont été conçus :
ils doivent être capables de communiquer avec d'autres
appareils, comme un téléphone portable, entre autres. Il existe
différents systèmes de communication qui peuvent être
adaptés pour la communication entre appareils. Parmi ces
systèmes la communication par Bluetooth. Dans le cadre de ce
projet, il a été discuté de la manière de mettre en place un
système simple de communication par Bluetooth entre deux
destinations différentes pour envoyer et recevoir des

33
informations entre elles via l'Arduino donc qui va nous
permettre de commander des appareils et des portes. Dans
notre cas nous allons commander les lampes et des portes de la
maison grâce à une application Bluetooth.

2-2-7-2-2- Composants principales et leurs


caractéristiques

2-2-7-2-2-1- Module Bluetooth HC-05


Le module HC-05 est un module Bluetooth SPP (Serial Port
Protocol) facile à utiliser, conçu pour une configuration
transparente de la connexion série sans fil. Le module Bluetooth
du port série est entièrement qualifié Modulation Bluetooth V2.0
+ EDR (Enhanced Data Rate) 3Mbps avec émetteur-récepteur
radio 2,4 GHz complet et bande de base. Il utilise le système
Bluetooth monopuce CSR Bluecore 04-External avec
technologie CMOS et avec AFH (fonction de saut de fréquence
adaptative).
Protocole Bluetooth : spécification Bluetooth v2.0 + EDR
Fréquence : bande ISM 2,4 GHz
Modulation : GFSK (Gaussian Frequency Shift Keying)
Puissance d'émission : 4dBm,
Sensibilité de classe 2 : -84 dBm à 0,1%
Vitesse BER : asynchrone : 2,1 Mbps (max) / 160 kbit/s,
synchrone : 1 Mbps / 1 Mbps
Sécurité : authentification et cryptage
Profils : port série Bluetooth CSR puce : Bluetooth v2.0
Bande de vagues : 2,4 GHz 2,8 GHz,
Protocole de bande ISM : Bluetooth V2.0
Classe de puissance : (+ 6dbm)
Sensibilité de réception : -85dBm
Tension : 3,3 (2,7 V4,2 V)
Courant : Paring - 35mA, Connecté - 8mA
Température : -40C ~ + 105C
Débit en bauds défini par l’utilisateur : 4800, 9600, 19200,
38400, 57600, 115200, 230400, 460800,921600, 1382400.
Dimension : 26,9 mm * 13 mm * 2,2 mm

34
Le module Bluetooth HC-05 présente 6 broches pour permettre
d'établir la connexion.
VCC broche d'alimentation. Directement connecté à la broche
5V de l'Arduino.
Masse GND. Directement connecté à la broche GND de l'Arduino
RX broche de réception. Directement connecté à la broche de
transmission (TX) de l'Arduino
TX broche de transmission. Directement connecté à la broche
de réception (RX) de l'Arduino
State retourne 1 lorsque le module est connecté
Key ou EN doit être alimentée pour entrer dans le mode de
configuration et ne doit pas être connecté pour être en mode
communication

Figure2-6 : Module Bluetooth


HC-05

2-2-7-2-2-2- Module de relais


Ce module relais permet de contrôler/commuter facilement
avec 5 V des charges élevées d'un microcontrôleur, par
exemple Raspberry Pi ou Arduino. Toutes les connexions sont
accessibles via des bornes à vis et peuvent être connectées
automatiquement à une carte avec des fils. Chaque relais peut
être activé/désactivé individuellement via une entrée
numérique opto-isolée, qui peut être connecté directement à
une broche de sortie du microcontrôleur. Il s'agit d'une large
gamme d'applications telles que tous les contrôles MCU, le
secteur industriel, le contrôle PLC, le contrôle de la maison
intelligente.
• Module relais, 5 V
• chaque relais a besoin de 15 - 20 mA pour commuter
• Type de relais : commutateur
• peut être commandé directement avec un microcontrôleur

35
(Raspberry Pi, Arduino, 8051, AVR, PIC, DSP , ARM, MSP430,
logique TTL)
• Tous les contacts sont accessibles par des bornes à vis
• LED d'indication de l'état du relais

Figure2-7 : Module relais4 anneaux.

2-2-7-2-2-3-Lampes LED
Nous allons utiliser des lampes LED comme sortie dans les
différentes pièces pour la commande a distance.

Figure2-8 : Lampe LED

2-2-7-2-2-4-Driver de moteur L298N


Le driver de moteur pas à pas L298N est un dispositif
électronique utilisé pour contrôler les moteurs pas à pas, qui
sont couramment utilisés dans les applications nécessitant un
positionnement précis ou un mouvement contrôlé. Ce module
offre un contrôle bidirectionnel, la gestion de la vitesse et

36
d'autres fonctionnalités pour les moteurs pas à pas, ce qui le
rend très populaire dans les domaines de la robotique, de
l'automatisation et de l'électronique. Nous allons l’utiliser pour
piloter un moteur lorsqu’on commandera a distance la porte du
garage

Alimentation du moteur : 7 à 24 VDC


Logique de contrôle : niveau logique TTL standard
Puissance de sortie : jusqu'à 2 A chacun
Activer et broches de contrôle de direction
Dissipateur de chaleur
Indicateur LED de mise sous tension
4 indicateurs de direction à LED
Poids :25g
Dimension :44mm x 43mm x 26mm

Figure2-9 : Driver de moteur l298n

2-2-7-2-2-5-Application Mobile Bluetooth


interconnecté avec le module HC-05
Afin de pouvoir commander les appareils de la maison nous
avons opter pour l’utilisation d’une application mobile qui sera
interconnectée avec le système Bluetooth du système et qui va
envoyer des commandes par la voix ou par simple appui sur un
bouton puis cette commande sera traitée par le bloc de
commande et sera exécutée Le nom de cette application est
Arduino Bluetooth Controller et est disponible sur la plateforme
de téléchargement Play store.

37
2-2-7-3-Système de détection de fumé et de gaz

2-2-7-3-1-Description du système

La conception de ce système a pour objectif de détecter les


fuites de gaz et les fumées de feu lorsque la valeur de ces
derniers dépasse la valeur tolérée. Pour ce système nous eut
recours à un capteur de gaz de type MQ2 qui lira la valeur de la
quantité de fumé et de gaz.

2-2-7-3-2- Composants principales et leurs


caractéristiques

Capteur de gaz MQ2

Le capteur de gaz MQ-2 a une sensibilité élevée au GPL, au


propane et à l'hydrogène, pourrait également être utilisé pour le
méthane et autres vapeurs combustibles, il est peu coûteux et
convient à diverses applications. Utilisation d'une conception à
double panneau de haute qualité, avec un indicateur
d'alimentation et des instructions de sortie de signal TTL; Avec
une sortie de signal de commutation DO (TTL) et une sortie de
signal analogique AO; Le signal valide de sortie TTL est de bas
niveau; (Lorsque le signal de sortie de bas niveau s'allume, il
peut être connecté directement au microcontrôleur ou au
module relais) Le signal de sortie TTL peut être connecté
directement à un port IO du microcontrôleur ou se connecter au
module relais, un potentiomètre est utilisé pour régler le seuil
de transition du niveau de sortie traits.

• Large champ de détection

38
• Stable et longue durée de vie
• Réponse rapide et haute sensibilité
• Sorties analogiques et numériques
• Configuration du niveau de déclenchement Spécifications du
potentiomètre
• Modèle : FC-22-A
• Tension de fonctionnement : DC 5V
• Sortie analogique (AO) : tension de sortie analogique 0 ~ 5 V
• Sortie numérique (DO) : sortie 0V ou 5V
• Configuration : par potentiomètre (ajuste la transition du
niveau de sortie)
• Durée de préchauffage : brochage de 20 s 1. VCC (+ 5 V) 2.
GND (0 V) 3. DO (sortie numérique) 4. AO (sortie analogique)

Figure2-10 : Capteur de gaz MQ-2


2-2-7-4-Système de détection de flamme

2-2-7-4-1- Description du système

Un système de détection des incendies est un dispositif ou un


ensemble de dispositifs conçus pour détecter la présence d’un
incendie et déclencher une alarme pour avertir les personnes

39
présentes et les autorités compétentes. Les systèmes de
détection des incendies sont généralement utilisés dans les
bâtiments et les installations pour protéger les personnes et les
biens contre les incendies. On va donc réaliser un système de
détection incendie avec Arduino. Il utilise principalement un
capteur de flamme KY-026, buzzer et une LED.

2-2-7-4-2-Composants principales et leurs


caractéristiques
Capteur de flamme KY-026

Le capteur de flamme peut être utilisé pour détecter une source


d'incendie ou d'autres sources lumineuses de longueur d'onde
comprises entre 760 nm et 1100 nm. Il est basé sur le capteur
YG1006 qui est un phototransistor au silicium NPN à haute
vitesse et très sensible. En raison de son époxy noir, le capteur
est sensible au rayonnement infrarouge. Dans le jeu de robot de
lutte contre l'incendie, le capteur joue un rôle très important, il
peut être utilisé comme un robot yeux pour trouver la source
d'incendie.

Fonctionnalités :
Bosquet d'interface
Photo haute sensibilité
Temps de réponse rapide
Facile à utiliser
La sensibilité est réglable
Caractéristiques :
VCC : Entrée de tension positive : 5v pour analogique 3.3v pour
numérique.
A0 : Sortie analogique
D0 : Sortie numérique
Terre : sol
Température de service : -40 °C à +85 °C
Humidité de service : 30 à 90 % HR
Dimensions : 42 x 16 x 15 mm
Sortie analogique (A0) : Signal de tension de sortie en temps
réel sur la résistance thermique.

40
Sortie numérique (D0) : Lorsque la température atteint un
certain seuil, le seuil de signal de sortie haut et bas réglable via
un potentiomètre.
Poids : 4g

Figure2-11 : Capteur de flamme

2-2-7-5-Système d’éclairage avec un capteur de


mouvement

2-2-7-5-1-Description du système

Lorsque le capteur de mouvement détectera un mouvement le


relais connecté avec la lampe du garage sera activé et la lampe
s’allumera puis lorsque le capteur ne détectera plus aucun
mouvement le relais sera désactivé et la lampe s’éteindra après
un temps donné. Dans ce système nous aurons a utiliser un
capteur de mouvement

2-2-7-5-2-Composants principales et leurs


caractéristiques

Capteur de mouvement PIR

41
Il s'agit d'un module hautement intégré couramment utilisé
pour la détection d'entrée, qu'il peut adopter facilement et
facilement dans le système. Il y a deux potentiomètres
réglables sur le module, vous pouvez les utiliser pour changer la
sensibilité de déclenchement et la durée du signal de
déclenchement. Résistants, bon marché et ultra-compacts, ces
petits capteurs sont fréquemment utilisés aussi bien dans la
conception de petits objets électroniques ou de gadgets basés
sur la détection de mouvement, que pour un prototype.

Caractéristiques :
• Plage de tension de fonctionnement : 4,5-20 V CC
• Courant de repos : <50 uA
• Sortie de niveau : élevée 3,3 V / faible 0 V
• Déclencheur : L ne peut pas être répété déclencheur / H peut
être répété déclencheur (déclencheur répété par défaut)
• Temps de retard : 5-200S (réglable) la plage est ([Link] seconde
à dizaines de seconde)
• Temps de blocage : 1S (par défaut) Peut être fait une plage
([Link] à des dizaines de secondes
• Dimensions à la carte : 32 mm * 24 mm
• Capteur d'angle : angle de cône < 100 °
• Température de fonctionnement : -15 + 70
• Capteur de taille d'objectif : Diamètre : 23 mm (par défaut)

Figure2-12 : Capteur de mouvement PIR

42
2-2-7-6-Système de refroidisseur automatique

2-2-7-6-1-Description du système

Un système de refroidissement est un dispositif utilisé pour


réguler la température d’un appareil ou d’un système en
évacuant la chaleur produite par celui-ci. Il est souvent utilisé
dans les ordinateurs, les serveurs, les appareils électroniques et
les véhicules pour empêcher la surchauffe et assurer un
fonctionnement stable.

Il existe de nombreux types de systèmes de refroidissement,


tels que les ventilateurs, les radiateurs, les dissipateurs de
chaleur et les refroidisseurs à eau. Chacun de ces types de
systèmes fonctionne de manière différente et est conçu pour
répondre à des besoins spécifiques. Par exemple, les
ventilateurs sont souvent utilisés pour refroidir les ordinateurs
et les appareils électroniques de petite taille, tandis que les
refroidisseurs à eau sont utilisés pour refroidir les serveurs et
les appareils de grande taille.

Dans ce projet on va réaliser un système de refroidissement


avec Arduino. Il utilise principalement un capteur de
température DTH11, un ventilateur et un afficheur LCD.

Lorsque la carte Arduino détecte une température > 25°C le


ventilateur se met à tourner jusqu’à la température devient <
25°C.

2-2-7-6-2-Composants principales et leurs


caractéristiques

43
2-2-7-6-2-1-Capteur de température et
d’humidité

Le module DHT11 fournit une sortie numérique proportionnelle


à la température et à l'humidité mesurées par le capteur. La
technologie utilisée pour produire le capteur DHT11 garantit
une grande fiabilité, une excellente stabilité à long terme et un
temps de réponse très rapide.
Le capteur DHT11 est capable de mesurer des températures de
0 à +50°C avec une précision de +/- 2°C et des taux d'humidité
relative de 20 à 80% avec une précision de +/- 5%. Une mesure
peut être réalisée toutes les secondes. Ce module à 3 broches.
Il communique avec l'Arduino très simplement au travers d'une
de ses entrées (entrée numérique). Les 2 autres broches sont
pour son alimentation 5 V et la masse (GND).

Caractéristiques :
Alimentation : 5V
Consommation : 0.5 mA en nominal / 2.5 mA maximum
Etendue de mesure température : 0°C à 50°C ± 2°C
Etendue de mesure humidité : 20-90%RH ±5%RH
Taille :15 mm x 12 mm x 5,5 mm et Poids : 3 g

Figure2-13 : Capteur de température DHT11

44
2-2-7-6-2-2-Un ventilateur de 5V
Un ventilateur de 5V est un dispositif de refroidissement
électrique qui fonctionne à une tension de 5 volts. Il est souvent
utilisé dans les projets électroniques pour refroidir des appareils
ou des systèmes qui produisent de la chaleur.

Figure2-14 : Ventilateur

2-2-7-7-Système de sécurité laser

2-2-7-7-1-Description du système

Ce système est conçu de tel sorte que la lumière laser rouge


émise par le module KY-008 est directement projetée sur la
photorésistance. Le niveau de luminosité lu par la
photorésistance à ce moment est donc élevé. Ainsi lorsque le
faisceau de lumière rouge est interrompu (en l’occurrence par
un individu), la différence entre le niveau de luminosité
précédent et celui actuel est important. Cette différence de
luminosité signale alors la présence d’un individu.
Lorsque ce système se déclenche un ensemble d’alarmes
sonore et lumineux qui alerte qu’il y a intrusion dans la
résidence. Dans notre système nous avons utilisé une diode
laser KY-008.

2-2-7-7-2- Composants principales et leurs


caractéristiques

2-2-7-7-2-1-Capteur de présence laser

45
Le capteur projette un rayon laser sur un objet. La réflexion du
rayon laser sur l'objet atteint le récepteur du capteur sous un
angle certain en fonction de la distance entre l'objet et le
capteur.

Caractéristiques :
Tension de fonctionnement 5V
Longueur d'onde de sortie 650 nm
Module 3 broches
Avec trou de boulon fixe pour une installation facile
Poids : 2,1 g
Dimensions : 1,8cm/1,4cm

Figure2-15 : Diode laser

2-2-7-7-2-2-Photorésistance

La photorésistance ou LDR est un composant électronique qui


change sa résistance en fonction de la lumière qu'il reçoit. Plus
il est exposé à la lumière, plus sa résistance diminue. La
photorésistance est constituée d'un matériau semi-conducteur
sensible à la lumière, comme le sulfure de cadmium ou le
sélénium. Lorsque la lumière frappe le matériau, il libère des
électrons qui réduisent la résistance du composant. Elle a deux

46
pattes qui peuvent être connectées à un circuit électrique. Elle
peut être utilisée comme un capteur de lumière ou comme un
interrupteur contrôlé par la lumière.

Caractéristiques :
Type de capteur : résistif
Plage de mesure : de quelques lux à plusieurs milliers de lux
Précision : variable selon le modèle et les conditions d'utilisation
Conversion : linéaire ou non linéaire selon le modèle
Tension d'alimentation : aucune (composant passif)
Courant d'alimentation : dépend du circuit auquel il est
connecté
Temps de réponse : de quelques millisecondes à quelques
secondes
Température de fonctionnement : de -40 °C à +70 °C
Boîtier : cylindrique ou plat

Figure2-16 : Photorésistance

2-2-7-8-Système d’éclairage automatique des


lampes

47
2-2-7-8-1- Description du système

Le but de ce système est de commander l’allumage et


l’extinction dune lampe avec une photorésistance. La lampe
s’allumera en fonction des valeurs que lira la photorésistance.
Ainsi le système fonctionnera de tel sorte que la lampe ne
s’allumera que la nuit ce qui va réduire l’intervention humaine.

2-2-7-8-2- Composants principales et leurs


caractéristiques

Photorésistance

La photorésistance ou LDR est un composant électronique qui


change sa résistance en fonction de la lumière qu'il reçoit. Plus
il est exposé à la lumière, plus sa résistance diminue. La
photorésistance est constituée d'un matériau semi-conducteur
sensible à la lumière, comme le sulfure de cadmium ou le
sélénium. Lorsque la lumière frappe le matériau, il libère des
électrons qui réduisent la résistance du composant. Elle a deux
pattes qui peuvent être connectées à un circuit électrique. Elle
peut être utilisée comme un capteur de lumière ou comme un
interrupteur contrôlé par la lumière.

Figure2-17 : Photorésistance

48
2-2-8- Bloc d’entrée ou de sortie des
différents systèmes non exposés dans
leur fonction dans le sous chapitre
précèdent
2-2-8-1-Système de déverrouillage par code pin
de la porte du salon
-Un buzzer qui va sonner à chaque réponse du système
lorsqu’on entre un code pin ;
-une LED rouge qui va s’allumer lorsque le système ne
reconnait le code pin ;
-une LED rouge qui va s’allumer lorsque le système reconnait le
code pin ;

2-2-8-2-Système de détection de gaz, de fumée


et de feu
Un buzzer et une LED rouge qui vont être en marche et s’arrêter
pendant une seconde de façon continue lorsque le capteur de
gaz, de fumée ou de flamme auront détecté quelque chose
d’alarmant puis un ventilateur se déclenchera lorsqu’il aura
détection de fumé ou de gaz

2-2-8-3-Système d’éclairage avec capteur de


mouvement PIR
-une lampe ;
-un relais de 5V ;

2-2-8-4-Système de sécurité par diode laser


-une LED rouge, une LED verte et un buzzer qui vont jouer le
rôle de système d’alarme sonore (le buzzer les LED) et
lumineux (les LED) ;
-des boutons poussoirs pour activer er redémarrer le système ;

2-2-8-5-Système d’éclairage automatique


-une lampe ;
-un relais ;

2-2-8-6-Système de refroidissement automatique

49
une LED rouge qui s’allume lorsque le ventilateur est en marche

2-2-8-7- La prise électrique et les batteries de 9v


Une prise électrique est un connecteur qui permet de relier des
appareils électriques au réseau électrique par branchement sur
des socles électriques. Elle assure la transmission correcte d'un
courant électrique pour faire fonctionner l'appareil relié, tout en
garantissant la sécurité de l'utilisateur. Il nous permettra
d’alimenter nos lampes et notre serrure électronique. Une
batterie électrique est un dispositif qui stocke de l'énergie
électrique de manière électrochimique, et qui selon le besoin,
fournit ou reçoit de l'électricité et nous permettra d’alimenter la
carte Arduino.

2-2-9-Bloc de Commande
Le système de notre bloc de commande est constitué de
microcontrôleur Arduino qui reçoit des données des capteurs et
transforment en commande et les envoie au bloc des sorties

2-2-9-1-ARDUINO

2-2-9-1-1-Introduction sur l’ARDUINO :

Avec ARDUINO, nous allons commencer par programmer puis


utiliser des composants électroniques. En fin de compte, nous
saurons créer des systèmes électroniques plus ou moins
complexes. Mais ce n’est pas tout…

50
Figure2-18 : Différents types de carte Arduino

2-2-9-1-2-LE LOGICIEL ARDUINO


L'IDE Arduino (Integrated Development Environment ou
Environnement de Développement Intégré) est un logiciel open-
source conçu pour faciliter l'écriture de code et son
téléchargement sur les cartes Arduino

L’ARDUINO fournit un environnement de développement (IDE)


avec un éditeur de source, les opérations de compilation et de
chargement dans la mémoire du microcontrôleur étant
ramenées à des clicks sur des boutons dans l'IDE. La
communication entre le PC et la carte se fait via le port USB,
moyennant installation d'un driver adapté (fourni par
ARDUINO).
UN PROGRAMME ARDUINO = une fonction setup () + une
fonction Loop ()
–la fonction setup () : doit contenir les initialisations (times,
Interrupts...)
–la fonction Loop () : fonction répétée indéfiniment
La fonction setup () configure la broche PB5 (connexion n°13
sur la carte) en sortie, à l'aide de la fonction ArduinopinMode().

51
La fonction Loop () décrit ensuite ce qui sera répété
indéfiniment : mettre PB5 à 1 pendant 200ms puis mettre PB5 à
0 pendant 1s, et ainsi de suite. Voici une explication détaillée
de ses fonctionnalités et de son utilisation :
 Écriture de Code : L'IDE offre un éditeur de texte pour
écrire le code. Il supporte les langages de
programmation C et C++ et inclut des fonctions et des
commandes intégrées qui aident à la rédaction et au
débogage du code.
 Compilation : Après l'écriture du code, l'IDE compile le
code pour s'assurer qu'il est exempt d'erreurs et prêt à
être téléchargé sur la carte Arduino.
 Téléchargement sur la Carte : Une fois le code compilé,
l'IDE permet de le télécharger directement sur la carte
Arduino connectée à l'ordinateur.
 Bibliothèques : L'IDE Arduino comprend de nombreuses
bibliothèques qui offrent des fonctionnalités
supplémentaires pour divers projets.
 Exemples de Projets : Il y a aussi des exemples de
projets intégrés qui peuvent être utilisés comme point
de départ pour apprendre et expérimenter.

2-2-9-1-3-L’ARDUINO MEGA
La carte ARDUINO MEGA 2560 est une carte à microcontrôleur
basée sur un ATmega2560. Cette carte dispose :
-de 54 broches numériques d'entrées/sorties (dont 14 peuvent
être utilisées en sorties PWM (MLI : Modulation de largeur
d’impulsion).
-de 16 entrées analogiques (qui peuvent être utilisées en
broches entrées/sorties numériques).
-de 4 UART (port série matériel).
-d'un quartz de 16Mhz.
-d'une connexion USB.
-d'un connecteur d'alimentation jack.
-d'un connecteur ICSP (programmation "in-circuit").
-d'un bouton de réinitialisation (reset).

52
Elle contient tout ce qui est nécessaire pour le fonctionnement
du microcontrôleur ; Pour Pouvoir l'utiliser, 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). La carte ARDUINO MEGA 2560 est compatible avec les
circuits imprimés prévus pour les cartes Arduino Uno,
Duemilanove ou Diecimila.

Figure2-19 : Carte ARDUINO MEGA 2560

2-2-9-1-4- Les caractéristiques techniques de la


carte ARDUINO MEGA 2560

Un module ARDUINO est généralement construit autour d’un


microcontrôleur ATMEL AVR, et des composants
complémentaires qui facilitent la programmation et
l’interfaçage avec d’autres circuits. Chaque module possède au
moins un régulateur linéaire 5V et un oscillateur à quartz 16MHz
(ou un résonateur céramique dans certains modèles). Le

53
microcontrôleur est préprogrammé avec un boot loader de
façon à ce qu’un programmateur dédié ne soit pas nécessaire.
Description

Figure2-20 : Caractéristiques de la carte ARDUINO MEGA

Partie matérielle

Généralement tout module électronique qui possède une


interface de programmation est basé toujours dans sa
construction sur un circuit programmable ou plus.

Microcontrôleur ATMEGA2560

Tension de fonctionnement 5V

54
Tension d’alimentation 7 à 12V

Broches E/S numérique 54 (dont 14 disposent de sortie PWM)

Vitesse d’horloge 16 MHz

Mémoire programme Flash 25 6KB dont 8 KB utilisés en


bootloader

Mémoire SRAM 8 KB

Mémoire EEPROM 4 KB

Tableau : Constitution de la carte Arduino Mega 2560

Le Microcontrôleur ATMega2560

Un microcontrôleur ATMega2560 est un circuit intégré qui


rassemble sur une puce plusieurs éléments complexes dans un
espace réduit, c’est le processeur de la carte, s’occupe de tout
ce qui est calculs, exécution des instructions du programme et
gestion des ports d’entrée/sortie [10].

Les mémoires

L’Atmega 2560 à 256Ko de mémoire FLASH pour stocker le


programme (dont 8Ko également utilisés par le bootloader),
é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).

Les sources de l’alimentation de la Carte

La carte Arduino Mega 2560 peut être alimentée soit via la


connexion USB (qui fournit 5V jusqu’à500mA) ou à l’aide d’une
alimentation externe. La source d'alimentation est sélectionnée

55
automatiquement par la carte. La carte peut fonctionner avec
une alimentation externe de 6 à 20 volts. Cependant, si la carte
est alimentée avec moins de 7V, la broche 5V pourrait fournir
moins de 5V, et la carte pourrait être instable. Si on utilise plus
de 12V, le régulateur de tension de la carte pourrait chauffer ce
dernier. Les broches d’alimentation sont les suivantes :
Chacune des 54 broches numériques de la carte Mega peut être
utilisée soit comme une entrée numérique, soit comme une
sortie numérique. 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). De plus, certaines
broches ont des fonctions spécialisées :
*Communication Série : Port Série Serial : 0 (RX) et 1 (TX) ; Port
Série Serial 1 : 19 (RX) and18 (TX) ; Port Série Serial 2 : 17 (RX)
and 16 (TX) ; Port Série Serial 3 : 15 (RX) and 14 (TX).
*Interruptions Externes : Broches 2 (interrupt 0), 3 (interrupt 1),
18 (interrupt 5), 19(interrupt 4),20 (interrupt 3), et 21
(interrupt 2). Ces broches peuvent être configurées pour
déclencher une interruption sur une valeur basse, sur un front
montant ou descendant, ou sur un changement de valeur.
*Impulsion PWM (largeur d’impulsion modulée) : Broches 0 à
13. Fournissent une impulsion PWM 8-bits à l’aide de
l’instruction analogWrite().
*SPI (Interface Série Périphérique) : Broches 50 (MISO), 51
(MOSI), 52 (SCK), 53 (SS). Ces broches supportent la
communication SPI (Interface Série Périphérique).
*I2C : Broches 20 (SDA) et 21 (SCL). Supportent les
communications de protocole I2C.
*LED : Broche 13. Il y a une LED incluse dans la carte connectée
à la broche 13.

.
-Communication Série : Port Série Serial : 0 (RX) et 1 (TX) ; Port
Série Serial 1 : 19 (RX) and 18 (TX) ; Port Série Serial 2 : 17 (RX)
and 16 (TX) ; Port Série Serial 3 : 15 (RX) and 14 (TX).

56
-Interruptions Externes : Broches 2 (interrupt 0), 3 (interrupt 1),
18 (interrupt 5), 19(interrupt 4),
-20 (interrupt 3), et 21 (interrupt 2).Ces broches peuvent être
configurées pour déclencher une interruption sur une valeur
basse, sur un front montant ou descendant, ou sur un
changement de valeur.
-Impulsion PWM (largeur d’impulsion modulée) : Broches 0 à 13.
Fournissent une impulsion PWM 8-bits à l’aide de l’instruction
analogWrite().
-SPI (Interface Série Périphérique) : Broches 50 (MISO), 51
(MOSI), 52 (SCK), 53 (SS). Ces broches supportent la
communication SPI (Interface Série Périphérique).
-I2C : Broches 20 (SDA) et 21 (SCL). Supportent les
communications de protocole I2C.
-LED : Broche 13. Il y a une LED incluse dans la carte connectée
à la broche 13.

Broches analogiques

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


pouvant fournir une mesure d’une résolution de 10 bits (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). Les
broches analogiques peuvent être utilisées en tant que broches
numériques.

Autres broches

-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 du microcontrôleur. Comme un port de
communication virtuel pour le logiciel sur l’ordinateur, La
connexion série de l’ARDUINO est très pratique pour
communiquer avec un PC, mais son inconvénient est le câble

57
USB, pour éviter cela, il existe différentes méthodes pour
utiliser ce dernier sans fil.

Chapitre
3
Réalisation du
système
Dans ce chapitre de notre mémoire nous allons présenter la
réalisation pratique de notre système. Pour ce fait nous allons
présenter l’organigramme de chaque sous-système et leur code
de programmation puis présenter la programmation du système
générale et enfin présenter un aperçue de la maquette de notre
système.

58
3-1- Organigramme et code de
programmation de chaque sous
système

3-1-1-Système de déverrouillage par


code pin de la porte du salon

59
3-1-1-1-Oganigramme

60
Figure3-1 : Organigramme du système de verrouillage
par code pin

3-1-1-2-Code de programmation

#include <Keypad.h>
#include<EEPROM.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int LEDROUGE = 10;
int LEDVERT = 11;
int BUZZER = 12;
int relay = 9;

LiquidCrystal_I2C lcd(0x27, 16, 2);


#define Password_Lenght 7 // Give enough room for six chars +
NULL char
char Data[Password_Lenght]; // 6 is the number of chars it can
hold + the null char = 7
char Master[Password_Lenght] = "123456"; //Change
PASSWORD here
byte data_count = 0, master_count = 0;
bool Pass_is_good;
char customKey;

const byte ROWS = 4;


const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
bool door = true;
byte rowPins[ROWS] = {8, 7, 6, 5}; //connect to the row pinouts
of the keypad
byte colPins[COLS] = {4, 3, 2}; //connect to the column pinouts
of the keypad

61
Keypad customKeypad( makeKeymap(keys), rowPins, colPins,
ROWS, COLS); //initialize an instance of class NewKeypad

void setup()
{
pinMode(LEDROUGE, OUTPUT);
pinMode(LEDVERT, OUTPUT);
pinMode(BUZZER, OUTPUT);
digitalWrite (LEDROUGE,LOW);
digitalWrite (LEDVERT, LOW);
digitalWrite (BUZZER, LOW);

[Link]();
[Link]();
pinMode (relay, OUTPUT);
digitalWrite (relay, LOW);
[Link](16, 2);
[Link](" BIENVENUE ");
[Link](0,1);
[Link]("LUCAS ");
delay(3000);
[Link]();
//[Link]("ENTRER CODE PIN");
[Link](0,1);

void loop()
{
if (door == 0)
{
customKey = [Link]();

if (customKey == '#')

62
[Link]();
[Link] (3,0);
[Link]("EN FERMETURE");
delay (700);
[Link] (10,0);
[Link](".");
delay (800);
[Link] (11,0);
[Link](".");
delay (800);
[Link] (12,0);
[Link](".");
delay (500);
[Link]();
delay (500);
digitalWrite (relay, HIGH);
digitalWrite (LEDVERT, LOW);
digitalWrite (BUZZER, LOW);
delay(100);
[Link] (5,0);
[Link]("FERMER");
delay (1700);

door = 1;
}
}

else Open();
}

void clearData()
{
while (data_count != 0)
{ // This can be used for any array size,
Data[data_count--] = 0; //clear array for new data
}
return;
}

63
void Open()
{
[Link](1, 0);
[Link]("ENTRER CODE PIN");

customKey = [Link]();
if (customKey) // makes sure a key is actually pressed, equal to
(customKey != NO_KEY)
{
[Link](0, 1);
[Link]("******"); //To hide your PASSWORD, make sure its
the same lenght as your password
Data[data_count] = customKey; // store char into data array
[Link](data_count, 1); // move cursor to show each
new char
[Link](Data[data_count]); // print char at said cursor
data_count++; // increment data array by 1 to store new
char, also keep track of the number of chars entered
}

if (data_count == Password_Lenght - 1) // if the array index is


equal to the number of expected chars, compare data to master
{
if (!strcmp(Data, Master)) // equal to (strcmp(Data, Master)
== 0)
{
[Link]();
digitalWrite (relay, LOW);
digitalWrite (LEDVERT, HIGH);
digitalWrite (BUZZER, HIGH);
[Link](" ACCES AUTORISER");
[Link](0,1);
[Link](" # pour fermer ");
delay(5000);
digitalWrite (LEDVERT, LOW);
digitalWrite (BUZZER, LOW);
door = 0;
}
else
{

64
[Link]();

[Link](1,0);
[Link]("ACCES BLOQUER!");
delay(1500);
digitalWrite (relay, HIGH);
digitalWrite (LEDROUGE,HIGH);
digitalWrite (BUZZER, HIGH);
delay(5000);
digitalWrite (LEDROUGE, LOW);
digitalWrite (BUZZER, LOW);

door = 1;
}
clearData();
}
}

3-1-2-Système de commande des


lampes et des portes de la maison par
application Bluetooth

3-1-2-1-Organigramme

3-1-2-1-1-Organigramme pour l’allumage et


l’extinction des lampes de la maison de façon
individuelle

65
Figure 3-2 : Organigramme du système de commande
Bluetooth partie 1

3-1-2-1-2-Organigramme pour l’allumage et


l’extinction de toutes les lampes de la maison

66
Figure 3-3 : Organigramme du système de commande
Bluetooth partie 2
3-1-2-1-3-Organigramme pour l’ouverture et la
fermeture de la porte du garage et du salon de la
maison

67
Figure 3-4 : Organigramme du système de commande
Bluetooth partie 3

3-1-2-2-Code de programmation

char Data;
int salon = 3;
int cuisine = 4;
int chambre1 = 5;
int chambre2 = 6;
int chambre3 = 7;
int garage = 8;
int couloir = 9;
int portesalon = 10;
int motorSpeedPin=3;
int in1=4;
int in2=5;
int ledrouge=12;
int ledverte=13;
int buzzer=;11

void setup() {
[Link](9600);
pinMode(salon,OUTPUT);

68
pinMode(cuisine,OUTPUT);
pinMode(chambre1,OUTPUT);
pinMode(chambre2,OUTPUT);
pinMode(chambre3,OUTPUT);
pinMode(couloir,OUTPUT);
pinMode(garage,OUTPUT);
pinMode(ledrouge,OUTPUT);
pinMode(ledverte,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(1000);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);

char c;
String voice;

void loop() {
if ([Link]()>0)
{
voice="";
voice=[Link]();
[Link](voice+'\n');
}

if(voice=="allumer lampe salon")


{
digitalWrite(salon,HIGH);
} else if(voice=="éteindre lampe salon")
{
digitalWrite(salon,LOW);
}

if(voice=="allumer lampe cuisine")


{

69
digitalWrite(cuisine,HIGH);
} else if(voice=="éteindre lampe cuisine")
{
digitalWrite(cuisine,LOW);
}

if(voice=="allumer lampe première chambre")


{
digitalWrite(chambre1,HIGH);
} else if(voice=="éteindre lampe première chambre")
{
digitalWrite(chambre1,LOW);}

if(voice=="allumer lampe deuxième chambre")


{
digitalWrite(chambre2,HIGH);
} else if(voice=="éteindre lampe deuxième chambre")
{
digitalWrite(chambre2,LOW);

if(voice=="allumer lampe troisième chambre")


{
digitalWrite(chambre3,HIGH);
} else if(voice=="éteindre lampe troisière chambre")
{
digitalWrite(chambre3,LOW);}

if(voice=="allumer lampe couloir")


{
digitalWrite(couloir,HIGH);
} else if(voice=="éteindre lampe couloir")
{
digitalWrite(couloir,LOW);}

if(voice=="allumer lampe garage")


{
digitalWrite(garage,HIGH);
} else if(voice=="éteindre lampe garage")

70
{
digitalWrite(garage,LOW);}

if(voice=="ouvrir porte garage")


{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(ledverte, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000);
} else if(voice=="fermer porte garage")
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(ledrouge, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000); }

if(voice=="ouvrrir porte salon")


{
digitalWrite(portesalon,LOW);
} else if(voice=="fermer porte salon")
{
digitalWrite(portesalon,HIGH);}

if(voice=="allumer tout")
{
digitalWrite(salon,HIGH);
digitalWrite(cuisine,HIGH);
digitalWrite(chambre1,HIGH);
digitalWrite(chambre2,HIGH);
digitalWrite(chambre3,HIGH);
digitalWrite(couloir,HIGH);
digitalWrite(garage,HIGH);

} else if(voice=="éteindre tout")

{
digitalWrite(salon,LOW);
digitalWrite(cuisine,LOW);

71
digitalWrite(chambre1,LOW);
digitalWrite(chambre2,LOW);
digitalWrite(chambre3,HIGH);
digitalWrite(couloir,HIGH);
digitalWrite(garage,HIGH); ;
}
if(voice=="ouvrir tout")
{
digitalWrite(portesalon,LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(ledverte, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000);
} else if(voice=="fermer tout")

{
digitalWrite(portesalon,HIGH);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(ledrouge, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000);

72
3-1-3- Système de détection de fumé et
de gaz

3-1-3-1- Organigramme

Figure 3-5 : Organigramme du système de détection de


fumé et de gaz

3-1-3-2- Code de programmation

const int buzzerPin = 9;


const int fireSensorPin = 8;
const int LED = 10;
void setup()
{
[Link](9600);

73
pinMode(buzzerPin, OUTPUT);
pinMode(fireSensorPin, INPUT);
pinMode(LED, OUTPUT);
}
void loop()
{
int fireValue = digitalRead(fireSensorPin);
[Link](fireValue);
if(fireValue == 0)
{
digitalWrite(buzzerPin, HIGH);
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(buzzerPin, LOW);
digitalWrite(LED, LOW);
delay(200);

3-1-4- Système de détection


de feu
3-1-4-1-Organigramme

74
Figure3-6 : Organigramme du système de détection de
feu

3-1-4-2-Code de programmation

const int buzzerPin = 9;


const int fireSensorPin = 8;
const int LED = 10;
void setup()
{
[Link](9600);
pinMode(buzzerPin, OUTPUT);
pinMode(fireSensorPin, INPUT);
pinMode(LED, OUTPUT);
}
void loop()
{
int fireValue = digitalRead(fireSensorPin);
[Link](fireValue);

75
if(fireValue == 0)
{
digitalWrite(buzzerPin, HIGH);
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(buzzerPin, LOW);
digitalWrite(LED, LOW);
delay(200);

}
else
{
digitalWrite(buzzerPin, LOW);
}
delay(500);
}

3-1-5- Système de d’éclairage par


capteur de mouvement
3-1-5-1- Organigramme

76
Figure 3-7 : Organigramme du système d’éclairage par
capteur de mouvement

3-1-5-2- Code de programmation

int calibrationTime = 30;

//the time when the sensor outputs a low impulse


long unsigned int lowIn;
//the amount of milliseconds the sensor has to be low

77
//before we assume all motion has stopped
long unsigned int pause = 5000;

boolean lockLow = true;


boolean takeLowTime;

int pirPin = 7; //the digital pin connected to the PIR sensor's


output
int ledPin = 5; //the digital pin connected to the LED output
int Buzzer = 6; //the digital pin connected to the BUZZER
output

/////////////////////////////
//SETUP
void setup(){
[Link](9600);
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(Buzzer, OUTPUT);
digitalWrite(pirPin, LOW);

//give the sensor some time to calibrate


[Link]("calibrating sensor ");
for(int i = 0; i < calibrationTime; i++){
[Link](".");
delay(1000);
}
[Link](" done");
[Link]("SENSOR ACTIVE");
delay(50);
}

void loop(){

if(digitalRead(pirPin) == HIGH){
digitalWrite(ledPin, HIGH); //the led visualizes the sensors
output pin state
tone(Buzzer,500);
if(lockLow){

78
//makes sure we wait for a transition to LOW before any
further output is made:
lockLow = false;
[Link]("---");
[Link]("motion detected at ");
[Link](millis()/1000);
[Link](" sec");
delay(50);
}
takeLowTime = true;
}

if(digitalRead(pirPin) == LOW){
digitalWrite(ledPin, LOW); //the led visualizes the sensors
output pin state
noTone(Buzzer);
if(takeLowTime){
lowIn = millis(); //save the time of the transition from
high to LOW
takeLowTime = false; //make sure this is only done at
the start of a LOW phase
}
//if the sensor is low for more than the given pause,
//we assume that no more motion is going to happen
if(!lockLow && millis() - lowIn > pause){
//makes sure this block of code is only executed again
after
//a new motion sequence has been detected
lockLow = true;
[Link]("motion ended at "); //output
[Link]((millis() - pause)/1000);
[Link](" sec");
delay(50);
}
}
}

79
3-1-6-1- Système refroidissement
automatique

3-1-6-1- Organigramme

Figure3-7 : Organigramme du système de


refroidissement automatique

3-1-6-2- Code de programmation

#include <DHT.h>;
#define DHT11_PIN A0

80
#define DHTTYPE DHT11
#define ventilateurpin 3
DHT dht(DHT11_PIN, DHTTYPE);
float temp, hum;

void setup() {
[Link](9600);
[Link]();
pinMode(ventilateurpin, OUTPUT);
}

void loop() {
temp = [Link]();
hum = [Link]();
[Link](temp);
[Link](" °C");
[Link](hum);
[Link](" %");
delay(1000);
if (temp >= 25) {
analogWrite(ventilateurpin, 255);
}
else {
analogWrite(ventilateurpin, 0);
}
}

81
3-1-7- Système de sécurité par
laser
3-1-7-1- Organigramme

82
Figure3-8 : Organigramme du système de sécurité par
laser
3-1-7-2- Code de programmation

const int triggeredLED = 7;


const int triggeredLED2 = 8;

83
const int RedLED = 4;
const int GreenLED = 5;
const int inputPin = A0;
const int speakerPin = 12;
const int armButton = 6;

boolean isArmed = true;


boolean isTriggered = false;
int buttonVal = 0;
int prev_buttonVal = 0;
int reading = 0;
int threshold = 0;

const int lowrange = 2000;


const int highrange = 4000;

void setup(){

pinMode(triggeredLED, OUTPUT);
pinMode(triggeredLED2, OUTPUT);
pinMode(RedLED, OUTPUT);
pinMode(GreenLED, OUTPUT);
pinMode(armButton, INPUT);
digitalWrite(triggeredLED, HIGH);
delay(500);
digitalWrite(triggeredLED, LOW);

calibrate();
setArmedState();
}

void loop(){

reading = analogRead(inputPin);

int buttonVal = digitalRead(armButton);


if ((buttonVal == HIGH) && (prev_buttonVal == LOW)){
setArmedState();

84
delay(500);
}

if ((isArmed) && (reading < threshold)){


isTriggered = true;}

if (isTriggered){

for (int i = lowrange; i <= highrange; i++)


{
tone (speakerPin, i, 250);
}

for (int i = highrange; i >= lowrange; i--)


{
tone (speakerPin, i, 250);
}

digitalWrite(triggeredLED, HIGH);
delay(50);
digitalWrite(triggeredLED, LOW);
delay (50);
digitalWrite(triggeredLED2, HIGH);
delay (50);
digitalWrite(triggeredLED2, LOW);
delay (50);
}

delay(20);
}

void setArmedState(){

if (isArmed){
digitalWrite(GreenLED, HIGH);
digitalWrite(RedLED, LOW);
isTriggered = false;
isArmed = false;
} else {
digitalWrite(GreenLED, LOW);

85
digitalWrite(RedLED, HIGH);
tone(speakerPin, 220, 125);
delay(200);
tone(speakerPin, 196, 250);
isArmed = true;
}
}

void calibrate(){

int sample = 0;
int baseline = 0;
const int min_diff = 200;
const int sensitivity = 50;
int success_count = 0;

digitalWrite(RedLED, LOW);
digitalWrite(GreenLED, LOW);

for (int i=0; i<10; i++){


sample += analogRead(inputPin);
digitalWrite(GreenLED, HIGH);
delay (50);
digitalWrite(GreenLED, LOW);
delay (50);
}

do
{
sample = analogRead(inputPin);

if (sample > baseline + min_diff){


success_count++;
threshold += sample;

digitalWrite(GreenLED, HIGH);
delay (100);
digitalWrite(GreenLED, LOW);
delay (100);
} else {
success_count = 0;

86
threshold = 0;
}

} while (success_count < 3);

threshold = (threshold/3) - sensitivity;

tone(speakerPin, 196, 250);


delay(200);
tone(speakerPin, 220, 125);
}

3-1-8- Système de d’éclairage


automatique

3-1-8-1- Organigramme

87
Figure3-9 : Organigramme du système d’éclairage
automatique

3-1-8-2- Code de programmation


int photo = A0;
int led = 8;

88
void setup() {
// put your setup code here, to run once:
[Link](9600);
pinMode(photo, INPUT);
pinMode(led, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
int lecture = analogRead(photo);
[Link](lecture);
if (lecture > 500) {
digitalWrite(led, LOW);
}
if (lecture < 400) {
digitalWrite(led, HIGH);
}
}

89
3-2-Schéma de câblage du système
générale

90
3-2-Organigramme du système général

Figure 3-10 : Organigramme du système général

91
3-3-Code de programmation du
système général
#include <DHT.h>;
#define DHT11_PIN A1
#define DHTTYPE DHT11
#define ventilateurpin 37
DHT dht(DHT11_PIN, DHTTYPE);
float temp, hum;
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;

boolean lockLow = true;


boolean takeLowTime;
int pirPin = 38; //the digital pin connected to the PIR sensor's
output
int ledPin = 39; //the digital pin connected to the LED output
int led1 = 39;
int phot= A2;
char c;
String voice;
#include <Keypad.h>
#include<EEPROM.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//char Data;
int LEDROUGE = 9;
int LEDVERT = 10;
int BUZZER = 11;
int devanture =12;
int salon = 13;
int cuisine = 14;
int chambre1 =15;
int chambre2 = 16;
int garage = 17;

92
int couloir = 18;
int portesalon = 19;
int motorSpeedPin=3;
int in1=20;
int in2=21;
int ledrouge=22;
int ledverte=23;
int buzzer=24;
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define Password_Lenght 7 // Give enough room for six chars +
NULL char
char Data[Password_Lenght]; // 6 is the number of chars it can
hold + the null char = 7
char Master[Password_Lenght] = "123456"; //Change
PASSWORD here
byte data_count = 0, master_count = 0;
bool Pass_is_good;
char customKey;
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
bool door = true;

byte rowPins[ROWS] = {8, 7, 6, 5}; //connect to the row pinouts


of the keypad
byte colPins[COLS] = {4, 3, 2}; //connect to the column pinouts
of the keypad

Keypad customKeypad( makeKeymap(keys), rowPins, colPins,


ROWS, COLS);

int fireSensorPin =25;


int LED = 26;
int smokeA0=A0;
int buzzerfume =27;
int led =28;

93
int ventillateurfume=29;
float sensorValue;
int triggeredLED = 30;
int triggeredLED2 = 31;
int RedLED = 32;
int GreenLED = 33;
int inputPin = A0;
int speakerPin = 35;
int armButton = 36;
boolean isArmed = true;
boolean isTriggered = false;
int buttonVal = 0;
int prev_buttonVal = 0;
int reading = 0;
int threshold = 0;
const int lowrange = 2000;
const int highrange = 4000;

void setup() {
[Link](9600);
pinMode(phot,INPUT);
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(LEDROUGE, OUTPUT);
pinMode(LEDVERT, OUTPUT);
pinMode(BUZZER, OUTPUT);
digitalWrite (LEDROUGE,LOW);
digitalWrite (LEDVERT, LOW);
digitalWrite (BUZZER, LOW);
digitalWrite (portesalon, LOW);
pinMode(salon,OUTPUT);
pinMode(cuisine,OUTPUT);
pinMode(chambre1,OUTPUT);
pinMode(chambre2,OUTPUT);
pinMode(devanture,OUTPUT);
pinMode(couloir,OUTPUT);
pinMode (portesalon, OUTPUT);
pinMode(garage,OUTPUT);
pinMode(ledrouge,OUTPUT);

94
pinMode(ledverte,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(1000);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
[Link]();
[Link]();
[Link](16, 2);
[Link](" BIENVENUE ");
[Link](0,1);
[Link]("LUCAS ");
delay(3000);
[Link]();
[Link]("ENTRER CODE PIN");
[Link](0,1);
[Link]();
pinMode(ventilateurpin, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(buzzerfume,OUTPUT);
pinMode(led,OUTPUT);
pinMode(ventillateurfume,OUTPUT);
pinMode(smokeA0,INPUT);
pinMode(fireSensorPin, INPUT);
pinMode(triggeredLED, OUTPUT);
pinMode(triggeredLED2, OUTPUT);
pinMode(RedLED, OUTPUT);
pinMode(GreenLED, OUTPUT);
pinMode(armButton, INPUT);
//calibrate();
//setArmedState();
[Link](9600); // sets the serial port to 9600
[Link]("Gas sensor warming up!");
delay(2000); // allow the MQ-6 to warm up
noTone(buzzerfume);
digitalWrite(ventillateurfume,HIGH);
digitalWrite(led,LOW);
delay(5000);

95
digitalWrite(triggeredLED, HIGH);
delay(500);
digitalWrite(triggeredLED, LOW);
digitalWrite(pirPin, LOW);
[Link]("calibrating sensor ");
for(int i = 0; i < calibrationTime; i++){
[Link](".");
delay(1000);
[Link](" done");
[Link]("SENSOR ACTIVE");
delay(50);
}
}

void Open()
{
[Link](1, 0);
[Link]("ENTRER CODE PIN");

customKey = [Link]();
if (customKey) // makes sure a key is actually pressed, equal
to (customKey != NO_KEY)
{
[Link](0, 1);
[Link]("******"); //To hide your PASSWORD, make sure its
the same lenght as your password
Data[data_count] = customKey; // store char into data array
[Link](data_count, 1); // move cursor to show each
new char
[Link](Data[data_count]); // print char at said cursor
data_count++; // increment data array by 1 to store new
char, also keep track of the number of chars entered
}

if (data_count == Password_Lenght - 1) // if the array index is


equal to the number of expected chars, compare data to
master
{
if (!strcmp(Data, Master)) // equal to (strcmp(Data, Master)
== 0)

96
{
[Link]();
digitalWrite (portesalon, LOW);
digitalWrite (LEDVERT, HIGH);
digitalWrite (BUZZER, HIGH);
[Link](" ACCES AUTORISER");
[Link](0,1);
[Link](" # pour fermer ");
delay(5000);
digitalWrite (LEDVERT, LOW);
digitalWrite (BUZZER, LOW);
door = 0;
}
else
{
[Link]();

[Link](1,0);
[Link]("ACCES BLOQUER!");
delay(1500);
digitalWrite (portesalon, HIGH);
digitalWrite (LEDROUGE,HIGH);
digitalWrite (BUZZER, HIGH);
delay(5000);
digitalWrite (LEDROUGE, LOW);
digitalWrite (BUZZER, LOW);

door = 1;
}
clearData();
}
}

void clearData()
{
while (data_count != 0)
{ // This can be used for any array size,
Data[data_count--] =0; //clear array for new data
}
return;
}

97
void loop() {

if ([Link]()>0)
{
voice="";
voice=[Link]();
[Link](voice+'\n'); }
if(voice=="allumer lampe salon")
{ digitalWrite(salon,HIGH); }
else if(voice=="éteindre lampe salon") {
digitalWrite(salon,LOW); }
if(voice=="allumer lampe cuisine")
{ digitalWrite(cuisine,HIGH);
} else if(voice=="éteindre lampe cuisine")
{ digitalWrite(cuisine,LOW); }
if(voice=="allumer lampe première chambre")
{ digitalWrite(chambre1,HIGH);
} else if(voice=="éteindre lampe première chambre")
{ digitalWrite(chambre1,LOW);}
if(voice=="allumer lampe deuxième chambre")
{ digitalWrite(chambre2,HIGH);
} else if(voice=="éteindre lampe deuxième chambre")
{ digitalWrite(chambre2,LOW);
} if(voice=="allumer lampe couloir")
{ digitalWrite(couloir,HIGH); }
else if(voice=="éteindre lampe couloir")
{ digitalWrite(couloir,LOW);
} if(voice=="allumer lampe garage")
{ digitalWrite(garage,HIGH);
} else if(voice=="éteindre lampe garage")
{ digitalWrite(garage,LOW);} if(voice=="ouvrir porte
garage")
{ digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(ledverte, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000); }
else if(voice=="fermer porte garage")
{ digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);

98
digitalWrite(ledrouge, HIGH);
digitalWrite(buzzer, HIGH);delay(3000);
} if(voice=="ouvrrir porte salon")
{ digitalWrite(portesalon,LOW);
} else if(voice=="fermer porte salon")
{ digitalWrite(portesalon,HIGH);}
if(voice=="allumer tout")
{ digitalWrite(salon,HIGH);
digitalWrite(cuisine,HIGH);
digitalWrite(chambre1,HIGH);
digitalWrite(chambre2,HIGH);
digitalWrite(devanture,HIGH);
digitalWrite(couloir,HIGH);
digitalWrite(garage,HIGH);
} else if(voice=="éteindre tout")
{ digitalWrite(salon,LOW);
digitalWrite(cuisine,LOW);
digitalWrite(chambre1,LOW);
digitalWrite(chambre2,LOW);
digitalWrite(devanture,LOW);
digitalWrite(couloir,LOW);
digitalWrite(garage,LOW); ; }
if(voice=="ouvrir tout")
{ digitalWrite(portesalon,LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(ledverte, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000);
} else if(voice=="fermer tout")
{ digitalWrite(portesalon,HIGH);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(ledrouge, HIGH);
digitalWrite(buzzer, HIGH);
delay(3000);
}
/************************************************************/

if (door == 0)
{

99
customKey = [Link]();

if (customKey == '#')

[Link]();
[Link] (3,0);
[Link]("EN FERMETURE");
delay (700);
[Link] (10,0);
[Link](".");
delay (800);
[Link] (11,0);
[Link](".");
delay (800);
[Link] (12,0);
[Link](".");
delay (500);
[Link]();
delay (500);
digitalWrite (portesalon, HIGH);
digitalWrite (LEDVERT, LOW);
digitalWrite (BUZZER, LOW);
delay(100);
[Link] (5,0);
[Link]("FERMER");
delay (1700);

door = 1;
}
}

else Open();

int lecture = analogRead(phot);


[Link](lecture);
if (lecture<400)
digitalWrite(led1, HIGH);

100
else
digitalWrite(led1, LOW);

if(digitalRead(pirPin) == HIGH){
digitalWrite(ledPin, HIGH); //the led visualizes the sensors
output pin state
if(lockLow){
//makes sure we wait for a transition to LOW before any
further output is made:
lockLow = false;
[Link]("---");
[Link]("motion detected at ");
[Link](millis()/1000);
[Link](" sec");
delay(50);
}
takeLowTime = true;
}

if(digitalRead(pirPin) == LOW){
digitalWrite(ledPin, LOW);
if(takeLowTime){
lowIn = millis();
takeLowTime = false;
}

if(!lockLow && millis() - lowIn > pause){

lockLow = true;
[Link]("motion ended at ");
[Link]((millis() - pause)/1000);
[Link](" sec");
delay(50);
}
}
/************************************************************/

101
int fireValue = digitalRead(fireSensorPin);
[Link](fireValue);
if(fireValue == 0)
{
digitalWrite(buzzerfume, HIGH);
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(buzzerfume, LOW);
digitalWrite(LED, LOW);
delay(200);

}
else
{

digitalWrite(buzzerfume, LOW);
digitalWrite(LED, LOW);
}
delay(500);

sensorValue=analogRead(smokeA0);
if(sensorValue > 300)
{
[Link](" | Smoke detected!");
digitalWrite(ventillateurfume,LOW);
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
delay(100);
digitalWrite(buzzerfume,HIGH);
delay(100);
digitalWrite(buzzerfume,LOW);
delay(100);

}
else
{
[Link](" | Smoke not detected!");

digitalWrite(buzzerfume,LOW);
digitalWrite(led,LOW);

102
digitalWrite(ventillateurfume,HIGH);
}
reading = analogRead(inputPin);

int buttonVal = digitalRead(armButton);


if ((buttonVal == HIGH) && (prev_buttonVal == LOW)){
setArmedState();
delay(500);
}

if ((isArmed) && (reading < threshold)){


isTriggered = true;}

if (isTriggered){

for (int i = lowrange; i <= highrange; i++)


{
tone (speakerPin, i, 250);
}

for (int i = highrange; i >= lowrange; i--)


{
tone (speakerPin, i, 250);
}

digitalWrite(triggeredLED, HIGH);
delay(50);
digitalWrite(triggeredLED, LOW);
delay (50);
digitalWrite(triggeredLED2, HIGH);
delay (50);
digitalWrite(triggeredLED2, LOW);
delay (50);
}

delay(20);
}

void setArmedState(){

103
if (isArmed){
digitalWrite(GreenLED, HIGH);
digitalWrite(RedLED, LOW);
isTriggered = false;
isArmed = false;
} else {
digitalWrite(GreenLED, LOW);
digitalWrite(RedLED, HIGH);
tone(speakerPin, 220, 125);
delay(200);
tone(speakerPin, 196, 250);
isArmed = true;
}
}

void calibrate(){

int sample = 0;
int baseline = 0;
const int min_diff = 200;
const int sensitivity = 50;
int success_count = 0;

digitalWrite(RedLED, LOW);
digitalWrite(GreenLED, LOW);

for (int i=0; i<10; i++){


sample += analogRead(inputPin);
digitalWrite(GreenLED, HIGH);
delay (50);
digitalWrite(GreenLED, LOW);
delay (50);
}

do
{
sample = analogRead(inputPin);

if (sample > baseline + min_diff){


success_count++;

104
threshold += sample;

digitalWrite(GreenLED, HIGH);
delay (100);
digitalWrite(GreenLED, LOW);
delay (100);
} else {
success_count = 0;
threshold = 0;
}

} while (success_count < 3);

threshold = (threshold/3) - sensitivity;

tone(speakerPin, 196, 250);


delay(200);
tone(speakerPin, 220, 125);

temp = [Link]();
[Link](temp);
[Link]("°C");

if (temp >=25) {
analogWrite(ventilateurpin, 255);
}
else {
analogWrite(ventilateurpin, 0);
}

105
3-4-Apercue de la maquette de notre
système

106
Figure3-11 : Aperçu de la maquette du système

CONCLUSION

La conception de la maison intelligente interconnectée avec


Arduino est un domaine qui fait beaucoup parler de nombreuses
structures aujourd’hui. C’est aussi ce qui nous a amené à nous
intéresser à ce sujet et à réaliser nous même un système de
domotique répondant aux besoins et aux fonctionnalités décrits
dans chapitre 2 exposant les différentes fonctionnalités de notre
maison. La réalisation de notre système nous a montré que la
maison intelligente interconnectée avec Arduino est une
solution efficace pour répondre aux besoins de sécurité, de
confort et d’économie d’énergie. Les différentes difficultés que
nous avons eues à rencontrer tout au long e notre réalisation
nous a permis qu’il soit également possible d’aller plus loin
dans les études concernant la domotique et d’améliorer
plusieurs systèmes afin d’augmenter le niveau de leurs
performances. Notre étude portant notamment sur l’intégration
de capteurs supplémentaires pour un meilleur confort dans la
maison et une meilleure sécurité. En conclusion, la maison
intelligente interconnecté avec Arduino offre des avantages
indéniables en termes de sécurité, de confort et d’économie
d’énergie. Cependant, pour une meilleure utilisation, il est
important de tenir compte des particularités du contexte local
et de travailler sur l’amélioration de la fiabilité du système.

Etude et coût de réalisation


Désignation Quantité Prix Montant
unitaire
Carte Arduino Mega 1 15000 15000
LCD I2C 1 2600 2600
Capteur de gaz er 1 2000 2000
fumé
Capteur de flamme 1 1 900

107
Driver de moteur 1 2400 2400
L298N
Relais 4 anneaux 2 1800 3600
Keypad clavier 1 960 960
Diode laser 1 360 360
Photorésistance 2 200 400
Lampes LED 7 800 5600
LED Rouge 4 50 200
LED Verte 4 50 200
Resistance 220omhs 8 25 200
Résistance 10komhs 1 25 25
Buzzer 2 300 600
Ventilateur 1 1000 1000
Capteur de 1 500 500
température dht11
Module Bluetooth hc- 1 4000 4000
05
LED bleu 1 50 50
Port d’entrée de 1 1000 1000
disque sur dvd
Fils conducteur 50 1750 1000
Maquette 1 60000 60000
Prise électrique 1 500 500
Douilles 7 500 3500
Total 98500

108
109
110

Vous aimerez peut-être aussi