CAPTEUUUUUU3
CAPTEUUUUUU3
Mémoire
Présenté en vue de l’obtention du Diplôme de Master
Thème:
Gestion d’une maison intelligente
Jury de Soutenance :
Sofiane GHERBI Professeur UBM Annaba Président
Abdelghani Maitre de UBM Annaba Encadrant
REDJATI conferences B
Khaled Professeur UBM Annaba Examinateur
MANSOURI
Qui m’ont soutenus avec leurs prières tout au long de mon parcours
scolaire et universitaire
Abstract
Smart home technology encompasses a wide range of everyday appliances that can connect to
each other and the Web. This connectivity allows owners to schedule simple daily tasks and,
in some cases, control the operation of the device remotely. Designed for convenience, smart
homes also offer the promise of greater independence for seniors and people with disabilities.
This work addresses the design and construction of a smart home. The core of this system is
an Arduino Mega 2560 board; it is the main element to control the devices of the connected
home. Our system is based primarily on the safety of the home and those residents. Establish
three subsystems to combat gas leaks, fires and potential intrusions. The mode of
communication used in this project is GSM (Global System for Mobile communication).
كلمات مفتاحية :المنزل الذكي ،أجهزة االستشعار ،األتمتة المنزلية ،أردوينو ،
Liste des abréviations
DC : Direct Current.
Tableau 7 : AT Commands
Figure 18 : Ventilateur
Figure 20 : Buzzer
Dédicaces
Résumé
Introduction générale…………………………………………………………………………1
I.2. La domotique……………………………………………………………………………..3
II.1. Introduction……………………………………………………………………………..10
II.2.7. Ventilateur……………………………………………………………………………..24
II.3.2. Fritzing………………………………………………………………………………...26
III.4. Organigramme………………………………………………………………………….31
III.6. Résultats………………………………………………………………………………..34
Conclusion Générale……………………………………………………………………….41
Annexes …………………………………………………………………………………….42
Introduction Générale
La technologie prend de plus en plus de place dans notre vie quotidienne, apportant avec elle
confort, aisance et rapidité à l’homme ; une personne à mobilité réduite fait ses courses sur
internet. De l’automobile au Smartphone, qui ne nous quittent pas d’un œil, maintenant c’est
au tour de l’endroit où nous passons plus de la moitié de notre temps, à savoir notre maison.
Tout comme notre vie en général, l’habitat du futur doit impérativement s’adapter aux
besoins évolutifs de l’homme, une maison intelligente se distingue d’une maison classique
par sa capacité à regrouper les technologies de l’électronique, de l'automatique, de
l’informatique et des télécommunications permettant d’améliorer le confort, la sécurité, la
communication et la gestion d’énergie d’une maison, pour rendre ceux-ci plus « intelligents».
C’est pour cela, et dans le cadre de notre projet de fin d’étude, on a opté pour la conception et
réalisation d’une maison intelligente. Afin de mener à bien notre travail, on a réalisé une
maquette d’une maison intelligente en utilisant une carte Arduino Mega 2560, et en installant
différents capteurs (mouvement, gaz, flammes ….etc.). La maison rend compte de toute
anomalie et peut être supervisée et contrôlée à distance par le biais d’une application mobile
et des protocoles de communication tels que : GSM.
Le premier chapitre donne une vue globale sur « La maison intelligente » ainsi que ces
avantages et inconvénients.
Le deuxième chapitre présente la carte Arduino utilisée dans ce travail, ainsi que les
différents capteurs et matériels et leurs spécifications.
1|Page
CHAPITRE I
Etat de l’Art
2|Page
I.1. Introduction
Une maison intelligente est une maison qui dispose de systèmes automatisés très avancés qui
permettent de contrôler, de programmer et d’automatiser une habitation. Elle regroupe et
utilise les domaines de l’électronique, de la télécommunication, de l’informatique et de
l’automatique afin de faire d’une maison conventionnelle une maison connectée ou autrement
dit « maison intelligente ».
I.2. La domotique
Le mot domotique vient du latin « domus » qui veut dire maison et du mot télématique qui
3|Page
Figure 1 : La domotique
Bien que la plus parts des fonctions de la maison intelligente puissent être contrôlées par des
appareils mobiles ou des ordinateurs, certains composants ‘intelligents’ nécessitent des
interfaces propriétaires.
4|Page
Une maison intelligente avancée peut inclure un système de sécurité intelligent pouvant
surveiller les activités suspectes et émettre une alarme ou contacter la police si nécessaire. Il
peut également fournir des fonctions pratiques, telles que le déverrouillage automatique de la
porte d’entrée ou l’allumage des lumières lorsque vous entrez dans la salle de bain.
Par conséquent, lors de l’ajout de composants intelligents à votre maison, il sera primordial de
connaitre les différentes interfaces. Heureusement, la plupart des composants intelligents sont
livrés avec des applications faciles à utiliser.
5|Page
I.4. Avantages de la maison intelligente
Le confort est l’une des caractéristiques que le client cherche le plus lors de la
rénovation ou l’achat d’une maison intelligente. L’automatisation d’une maison a un
véritable impact sur le confort qu’on y trouve. Les maisons intelligentes sont équipées
de systèmes qui connectent et centralisent tous les appareils et contenus de la maison,
ce qui permet aux consommateurs de contrôler à distance leurs systèmes de sécurité,
d’électricité, d’éclairage, de climatisation, de chauffage ect.
6|Page
Figure 3 : Les différentes fonctions d’une maison intelligente
Bien que les maisons intelligentes rendent nos maisons un vrai petit coin de paradis,
elles ne manquent aussi d’inconvénients comme tout système électronique. Et on cite :
Risques de piratage, étant donné que les maisons intelligentes sont des maisons
connectées à internet, il y a des risques d’exfiltration des données de la maison par les
pirates informatiques.
La complexité aperçue des maisons intelligentes les rendent difficile à s’imposer dans
le marché immobilier en partie à cause de leur nature technique, ce qui fait que
plusieurs personnes les fuis à cause de leurs difficultés avec la technologie.
Les prix de ce type d’habitats sont assez chers. Plus le système est automatisé plus il
sera coûteux. D’ailleurs, il faut prévoir un budget pour remplacer les éléments de la
maison qui ne peuvent pas être automatisé, ce qui les rend encore plus dispendieux.
7|Page
La fiabilité, n’est pas toujours au rendez-vous. D’autres appareils émettent des
signaux électroniques qui interfèrent parfois avec le système connecté. Seule la
configuration filaire ne sera pas perturbée. En revanche, elle est très couteuse et
nécessite l’intervention d’un professionnel. Sans parler de la panne d’internet et du
manque de réseau.
I.7. Conclusion
Ce premier chapitre a donné une présentation sur les maisons intelligentes ainsi que leurs
avantages et inconvénients tout au long des différents matériels utilisés.
8|Page
CHAPITRE II
Architecture et
Spécifications
9|Page
II.1. Introduction
Dans ce chapitre nous allons présenter le matériel utilisé dans notre projet, tout en donnant ses
différentes spécifications et caractéristiques. Nous donnerons aussi, un aperçu sur le
fonctionnement du module GSM SIM800L ainsi que les logiciels qui ont pu aboutir à la mise
en œuvre de notre système.
II.2. Spécifications
II.2.1. Présentation de la carte Arduino Mega 2560
La carte Arduino Mega 2560 est une carte à microcontrôleur basée sur ATmega2560 cadencé
à 16 MHz. Elle dispose de 54 E/S dont 14 PWM (Power Width Modulation (ou Modulation
de Largeur d’Impulsion ‘ MLI’), 16 entrées analogiques, 4 UARTs, un bouton reset et un
connecteur ICSP Elle est idéale pour des applications exigeant des caractéristiques plus
complexes. Elle dispose d’une mémoire flash de 256 KB, dont 8 KB dévolus au Bootloader
qui permet de télécharger les programmes entre l’IDE Arduino (interface de développement)
et l’Arduino; également la possibilité de pouvoir exécuter le programme lors du démarrage de
l’Arduino.
10 | P a g e
Spécifications techniques de la carte Arduino Mega 2560 Rev3 :
Microcontrôleur ATmega2560
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 54 (dont 14 disposent d'une sortie PWM)
Broches d'entrées analogiques 16 (utilisables en broches E/S numériques)
Intensité maxi disponible par broche E/S 40 mA (ATTENTION : 200mA cumulé pour
(5V) l'ensemble des broches E/S)
Intensité maxi disponible pour la sortie 50 Ma
3.3V
Intensité maxi disponible pour la sortie 5V Fonction de l'alimentation utilisée - 500 mA
max
si port USB utilisé seul
Mémoire Programme Flash 256 KB dont 8 KB sont utilisés par le
Bootloader
Mémoire SRAM (mémoire volatile) 8 KB
Mémoire EEPROM (mémoire non 4 KB
volatile)
Vitesse d'horloge 16 MHz
11 | P a g e
Brochage de la carte Arduino Mega 2560
Broches numériques : 54 broches numériques sur le Mega peut être utilisé comme
une entrée ou une sortie, en utilisant pinMode (), digitalWrite () et les fonctions
digitalRead (). Elles fonctionnent à 5 volts. Chaque broche peut fournir ou recevoir un
maximum de 40 mA et a une résistance de pull-up interne (déconnecté par défaut) de
20-50 kOhms. En outre, certaines broches ont des fonctions spécialisées:
Serial: 0 (RX) et 1 (TX), série 1: 19 (RX) et 18 (TX), série 2: 17 (RX) et 16 (TX),
série 3: 15 (RX) et 14(TX) . Permet de recevoir (RX) et transmettre (TX) des données
du port série TTL. Broches 0 et 1 sont également reliés à des broches correspondantes
du FTDI USB-TTL puce série.
Interruptions externes: 2 (interruption 0), 3 (alarme 1), 18 (interruption 5), 19
(interruption 4), 20 (interruption 3) et 21 (interruption 2). Ces broches peuvent être
configurées pour déclencher une interruption sur une valeur faible, un front montant
ou descendant, ou un changement de valeur.
PWM: 2 à 13 et 44 à 46. Fournir 8 bits sortie PWM avec la fonction analogWrite ().
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Ces broches supportent la
communication SPI, qui, bien que fourni par le matériel sous-jacent, n'est pas
actuellement inclus dans le langage Arduino.
LED 13: Il est équipé d'un LED connectée à la broche numérique 13. Lorsque la
broche est haute valeur, la LED est allumée, lorsque la broche est faible, elle est
éteinte.
I2C: 20 (SDA) et 21 (SCL). Soutenir la communication I2C (TWI) en utilisant la
bibliothèque de fil.
Broches analogiques : La carte dispose de 16 entrées analogiques, chacun qui
fournissent 10 bits de résolution (c. 1024valeurs différentes). Par défaut, ils mesurent à
partir de la masse à 5 volts, mais est-il possible de changer l'extrémité supérieure de sa
[2]
gamme en utilisant la broche AREF et la fonction analogReference ().
12 | P a g e
II.2.2. GSM SIM800L
Présentation
Le module SIM800L GSM/GPRS est un modem GSM miniature. C’est un module puissant
qui démarre automatiquement et recherche automatiquement le réseau. Ce module est idéal
pour l'envoi de messages SMS ou de données sur un réseau mobile. Le contrôle s'effectue via
les commandes AT GSM standard à travers l'UART embarqué à partir du MCU connecté. Il
permet d’émettre et recevoir des appels vocaux et d’envoyer et recevoir des messages SMS.
Caractéristiques
Au cœur du module se trouve une puce cellulaire GSM SIM800L de SimCom avec une
tension de fonctionnement de 3.4V à 4.4V. Le module prend en charge le débit en bauds de
1200bps à 115200bps avec détection automatique de transmission et a besoin d’une antenne
externe pour se connecter au réseau. Le module est généralement livré avec une antenne
hélicoïdale et se soude directement à la broche NET du PCB et dispose également d'un
connecteur [Link] au cas où on voudrait éloigner l’antenne de la carte. Le GSM SIM800L est
compatible avec les cartes SIM qui supporte la 2G.
Le module SIM800L a un total de 12 broches qui l'interfacent avec le monde extérieur. Les
connexions sont les suivantes:
13 | P a g e
Figure 7: GSM SIM800L pinout
L'une des parties les plus importantes pour faire fonctionner le module SIM800L est
de lui fournir une alimentation suffisante. Selon l'état dans lequel il se trouve, le
SIM800L peut être un appareil relativement gourmand en énergie . Pendant la rafale
de transmission, la consommation maximale du module en courant est d’environ 2A.
Il ne consomme généralement pas autant, mais il peut nécessiter environ 216mA lors
d’un appel et 80mA lors d’une transmission réseau. [3]
14 | P a g e
Modes Fréquence Consommation de courant
Eteindre 60uA
Mode veille 1mA
Etre prêt 18mA
GSM850 199mA
EGSM900 216mA
Appel DCS1800 146mA
PCS1900 131mA
GPRS 453mA
Rafale de transmission 1A
Le MQ-2 est un capteur qui permet de détecter du gaz ou de la fumée à des concentrations de
300 ppm à 10000 ppm. Il s'agit d'un capteur de gaz de type Metal Oxide Semiconductor
(MOS), également connu sous le nom de Chemiresistors, car la détection est basée sur le
changement de résistance du matériau de détection lorsque le gaz entre en contact avec le
matériau. À l'aide d'un simple réseau diviseur de tension, les concentrations de gaz peuvent
être détectées. Après calibration, le MQ-2 peut détecter différents gaz comme le GPL (LPG),
l’i-butane, le propane, le méthane, l’alcool, l’hydrogène ainsi que les fumées. Le MQ2 doit
être alimenté en 5V pour le capteur physico-chimique puisse atteindre sa température de
fonctionnement. Il dispose d’une sortie analogique et d’un réglage de la sensibilité par
potentiomètre. Il est conçu pour un usage intérieur à température ambiante
15 | P a g e
Caractéristiques
Tension de fonctionnement 5V
Résistance de charge 20 KΩ
Résistance chauffante 33Ω ± 5%
Consommation de chauffage <800mw
Résistance de détection 10 KΩ – 60 KΩ
Portée de la concentration 200 - 10000 ppm
Temps de préchauffage Plus de 24 heures
16 | P a g e
II.2.4. Capteur de flammes
Présentation
Caractéristiques
Module capteur de détection de flamme Capteur le plus sensible pour des longueurs d'onde
infrarouge de la flamme entre 760 nm et 1100 nm. Il a deux sorties:
AO: sortie analogique, signaux de tension de sortie sur la résistance thermique en temps
réel.
DO: lorsque la température atteint à un certain seuil, signaux de seuil de sortie haute et basse est
réglable par potentiomètre.
Tension: DC 3 ~ 5.5V
Dimension du produit: 3,5 x 1,5 x 1,2 cm
Poids: 5 g
Principe de la détection de flamme :
17 | P a g e
d’utilisation. Les détecteurs de flamme optiques sont constitués de capteurs UV et/ou IR pour
détecter ces rayonnements.
Les capteurs PIR sont également connus sous le nom de capteurs infrarouges passifs. Ils sont
conçus à partir d'une gamme de capteurs à semi-conducteurs fabriqués dans du matériel
[5]
pyroélectrique générant une tension quand ils sont exposés à la chaleur.
18 | P a g e
Principe de fonctionnement
Le capteur PIR lui-même a deux fentes, chaque fente est faite d'un matériau spécial qui est
sensible aux IR. L'objectif utilisé ici ne fait pas grand-chose et nous voyons donc que les deux
fentes peuvent "voir" au-delà d'une certaine distance (essentiellement la sensibilité du
capteur). Lorsque le capteur est inactif, les deux fentes détectent la même quantité d'IR, la
quantité ambiante rayonnée par la pièce, les murs ou l'extérieur. Lorsqu'un corps chaud
comme un humain ou un animal passe, il intercepte d'abord une moitié du capteur PIR, ce qui
provoque un changement différentiel positif entre les deux moitiés. Lorsque le corps chaud
quitte la zone de détection, l'inverse se produit, le capteur générant un changement différentiel
négatif. Ces impulsions de changement sont ce qui est détecté. [6]
19 | P a g e
Caractéristiques
20 | P a g e
II.2.6. L293D Motor Driver IC
Presentation
Pour que le moteur à CC tourne dans le sens direct, on applique une tension une tension de 5V
à l’Entrée de commande In1, ce qui sature Q1 et bloque le transistor PNP Q2, ce qui traduit
par l’application de la tension VCC au pole 1 (pole + du moteur). Donc le pole 2 doit avoir le
0V ce qui se traduit par l’application d’un niveau bas à In2 (In2 = 0V) ; Q2 se bloque et Q4 se
sature, ce dernier ramène le pole 2 à la masse et le moteur tourne dans le sens direct.
Il existe des circuits Pont H tel que le L293D pour la commande de deux moteurs et le L298D
pour la commande de moteurs.
Circuit L293D
Le L293D est un double pont-H, il est utilisé pour commander la rotation de deux moteurs
dans les deux sens en raccordant les sorties de façon appropriées, Le L293 est un circuit
21 | P a g e
intégré monolithique, à haut voltage, grand courant et 4 canaux ; cela veut dire que ce circuit
intégré peut être utilisé pour des moteurs DC alimentés jusqu’à 36 volts et il est capable de
piloter une paire de moteurs à courant continu ou un moteur pas à pas. Le circuit peut fournir
un maximum de 600 mA par canal. En utilisant différentes combinaisons de Input 1 et Input
2, il devient possible de démarrer, stopper ou inverser le courant ainsi commander la vitesse
(les branches responsables enable 1 enabel 2, les pattes1 et 9 du L293d).
Le principe de fonctionnement du circuit est simple, il suffit de brancher les deux moteurs sur
les broches (OUT1, OUT2) pour le moteur 1 et (OUT 3, OUT4) pour le moteur 2.
Le circuit est alimenté par une double alimentation ; VCC1=5V pour la commande et VCC2
=12V pour l’alimentation des moteurs. Pour activer les deux parties du circuit, un niveau
logique haut doit être appliqué aux entrées ENA et ENB.
Les entrées logiques de contrôle IN1 et IN2 pour la commande du moteur 1 (OUT1, OUT2)
et IN3 et IN4 pour la commande du moteur 2 (OUT 3, OUT4) déterminent le sens de rotation
des moteurs.
Le sens de rotation d'un moteur peut être contrôlé en appliquant soit un niveau logique haut
(5 volts) soit un niveau logique bas (0V) à ces broches. Le tableau ci-dessous illustre
comment cela est fait.
22 | P a g e
ENA ENB Sens de rotation
0 0 Moteur à l’arrêt
0 1 Avant
1 0 Arrière
1 1 Moteur à l’arrêt
Caractéristique du L293D :
Nombre de pont-H 2
Courant Max régime continu 600 mA (x2)
Courant de pointe Max < 2ms 1200 mA
Vs Max Alim moteur 36 V
Vs Max Alim logique 7V
Nombre de Broche 16 DIP
Perte de tension 1.3 à 1.4v (typical)
23 | P a g e
Schéma de câblage :
II.2.7. Ventilateur
24 | P a g e
II.2.8. Servo moteur
II.2.9. Buzzer
25 | P a g e
II.3. Software
II.3.1. Arduino IDE
II.3.2. Fritzing
Fritzing est un outil complet pour l'automatisation des processus de design électronique, avec
lequel vous pouvez créer des schémas électriques, monter les prototypes sur une plaque
d'essais virtuelle ou choisir le meilleur routage du circuit pour construire le circuit imprimé. [8]
II.4. Conclusion
Dans ce chapitre, nous avons présenté les différents capteurs utilisés dans le projet et leurs
spécifications et caractéristiques, ainsi que les logiciels utilisés pour la programmation du
système et la réalisation du schéma électronique.
26 | P a g e
CHAPITRE III
Conception et
Réalisation
27 | P a g e
III.1. Introduction
Notre projet de fin d’étude, est un système mettant en œuvre une maison intelligente bâti
autour de la carte microcontrôleur Arduino. Elle dispose d’un système de sécurité infaillible
protégeant la maison et ses habitants de toute menace qui peut nuire à la sureté des lieux et
aux personnes présentes à l’intérieur du domicile. Le système comporte trois sous-systèmes,
avec chacun une réponse spécifique liée à l’anomalie détectée.
Le premier sous-système lutte contre les fuites de gaz mortelles et silencieuses grâce au
capteur de gaz MQ2 qui, lorsque le tôt de gaz dans la maison dépasse le seuil prédéfinit,
déclenche une alarme avec un voyant rouge représenté par une LED ainsi qu’une coupure
automatique et immédiate de la conduite principale de gaz par une électrovanne. Cette
opération et suivit d’une aération des lieux représentée par le déclenchement du ventilateur et
l’ouverture automatique des fenêtres. Ces deux derniers sont pilotés par le circuit intégré
L293D H-Bridge qui peut commander deux moteurs à courant continu simultanément dans les
deux sens de rotation. Grâce à une communication série avec notre carte, un message d’alerte
sera envoyé immédiatement aux propriétaires de la maison les prévenant de la présence de
gaz toxiques dans leur foyer et cela via le module GSM.
Le deuxième sous-système a pour pièce maitresse un capteur de flammes qui peut détecter les
rayonnements électromagnétiques émis par une flamme. Suite à la présence d’incendie, une
signalisation suivit de la coupure de la conduite principale de gaz et l’ouverture des fenêtres
va s’exécuter et un message d’urgence sera envoyé simultanément pour avertir les habitants
de la maison.
Le dernier, est un système anti-intrusion mis en œuvre pour protéger la maison et ses
habitants non d’une menace domestique, mais extérieur. Grace au capteur de mouvement PIR,
28 | P a g e
votre maison intelligente sera en mesure de vous passez un appel au moment ou un
mouvement étranger sera détecter dans votre chez-vous via le module GSM.
Electrovanne Signalisation
(GSM)
Capteur1
Unité de
commande Capteur2
Capteur3
Ventilateur
29 | P a g e
Unité de commande : Assure la synchronisation des différentes fonctions du
système : acquisition et traitement des données reçues par les capteurs, envoi des
commandes aux actionneurs et système d’alarme, communication série avec le réseau
mobile via GSM.
Capteurs : Acquisition des données à l’intérieur de la maison (gaz, incendie,
intrusion).
Signalisation (GSM) : Déclanchement d’un système d’alarme en cas de détection
d’anomalie au sein de la maison ainsi que l’envoi d’un avertissement au propriétaire
de la maison via GSM par le biais du réseau mobile.
Ventilateur : Se déclenche pour aérer les lieux en cas de fuite de gaz.
Commande ouverture / fermeture des fenêtres : L’unité de commande envoie un
ordre pour ouvrir les fenêtres lors de la détection de gaz, fumée ou incendie pour
dégager les gaz toxiques.
Electrovanne : Coupe le gaz directement de la conduite principale.
30 | P a g e
III.4. Organigramme
III.4.1. Détection de gaz
DEBUT
Initialisation
A0 Capteur de gaz
D6 LED Verte
D7 LED Rouge
Buzzer
D8
D44 Ventilateur
D45 Moteur
Non
Détection
de gaz
Oui
; Coupure de la conduite
Electrovanne
principale de gaz
Ouverture des
fenêtres+ ; Aération
ventilation
Fin
31 | P a g e
III.4.2. Détection de flammes
DEBUT
Initialisation
A1,D4 Capteur de flammes
D6 LED Verte
D7 LED Rouge
D8 Buzzer
D45 Moteur
Non
Incendie ? ; Détection de flammes
Oui
ON
Fin 32 | P a g e
III.4.3. Intrusion
DEBUT
Initialisation
D12 PIR
D7 LED Rouge
Non
Intrus? ; Détection d’intrusion
Oui
Signalisation
; LED rouge
lumineuse
Fin
33 | P a g e
III.5. Schéma électronique
III.6. Résultats
III.6.1. Détection de gaz
En cas d’absence de gaz, le moniteur série affiche le tôt de gaz présent dans la maison
ainsi qu’un message indiquant l’absence de gaz.
Lors de la détection de gaz, une alarme se déclenche ainsi qu’un système d’aération
composé de l’ouverture des fenêtres et une ventilation, en parallèle un message d’alerte
34 | P a g e
est envoyé aux propriétaires de la maison via GSM. Le moniteur série affiche le message
suivant :
35 | P a g e
Lors d’un incendie, notre système déclenche une alarme et ouvre automatiquement les
fenêtres pour faire sortir la fumée. Un message d’alerte est envoyé aux propriétaires de la
maison via GSM. Le moniteur série affiche le message suivant :
En lieux sûr, le moniteur série indique qu’il n’y a pas de mouvement indésirable dans la
maison et que le capteur de mouvement est active :
En cas de présence non autorisé, le module GSM passe immédiatement un appel aux
propriétaires de la maison pour les avertir d’une éventuelle intrusion au sein de leur foyer.
Le moniteur série affiche la détection de mouvement :
36 | P a g e
III.7. GSM SIM800L
III.7.1. Alimentation du GSM SIM800L
L’une des contraintes d’utilisé le module GSM SIM800L est de lui fournir une alimentation
suffisante. On ne peut pas l’alimenter directement par Arduino car il ne tolère pas les 5V de
tension fournit par la carte. Pendant les rafales de transmission, la consommation maximale
en courant est d’environ 2A. Le module SIM800L n’ayant pas de régulateur de tension
intégré, l’alimentation externe doit être réglée sur une tension comprise entre 3.4V et 4.4V
(idéalement 4.1V). L’alimentation doit également être capable de fournir un courant d’appel
de 2A, sinon le module continuera à s’éteindre, c’est pour cela qu’on a opté pour une batterie
Li-Po 3.7V. L’un des avantages des batteries Li-Po est que leur tension est généralement
comprise entre 3.7V et 4.2V, ce qui convient très bien au module SIM800L. Toute batterie
lithium-ion/polymère d’une capacité de 1200mAh ou plus est la meilleur car elle peut fournir
la plage de tension correct même pendant les pics de 2A.
37 | P a g e
III.7.2. Brochage du SIM800L et la batterie Li-Po avec Arduino
Pour l’Arduino Mega, les pins RX et TX du module GSM doivent être connectés avec les
ports séries N°1 de l’Arduino, et qui correspondent aux pins 18 et 19. Cependant, les pins de
communication série du module peuvent supportées les 5V du de la carte.
La pin VCC du module doit être connectée à la borne (+) de la batterie, et cela pour lui fournir
la tension d’alimentation nécessaire. Les masses du module, de la batterie et de l’Arduino
doivent être communes.
Comme les autres modules GSM, le SIM800L communique via les commandes AT.
L’Arduino envoie ces commandes en série au SIM800L et ce dernier répond via le même port
série.
38 | P a g e
Commandes AT Infos
AT Handshake.
pour vérifier es-ce que le module fonctionne
correctement.
AT+CBC Vérifier le voltage de la batterie
AT+CREG ? Forcer l’enregistrement au réseau quand le
module continu à perdre le signal et prend
trop de temps à scanner le réseau.
AT+COPS ? Donne le statut du réseau
AT+COPS= ? Donne le réseau auquel le GSM est connecté.
AT+CMGF=1 Configurer le module en mode SMS
AT+CMGS= ‘’+ZZxxxxxxxxxx’’ Pour envoyer un SMS
+ZZ : le code du pays
xx : numéro de téléphone
AT+CSQ Donne la qualité du signal
Tableau 7 : AT commands
39 | P a g e
III.8. Coût du matériel
Composants Prix
Arduino Mega 2560 4500 Da
GSM SIM800L 1500 Da
Capteur de gaz MQ2 750 Da
Capteur de flamme 2x 350 Da
Capteur PIR 450 Da
Shield L293D 2x 200 Da
Ventilateur 600 Da
Servo moteur 800 Da
prix total :
9700 Da
III.9. Conclusion
Dans ce troisième chapitre, nous avons le schéma global de notre système ainsi que le schéma
synoptique, nous avons expliqué son principe de fonctionnement et nous avons donné
l’organigramme du programme que nous avons réalisé pour le bon fonctionnement de notre
système.
40 | P a g e
Conclusion générale
C’est dans ce contexte que ce projet a été réalisé, et qui nous a permis d’approfondir nos
connaissances dans la réalisation pratique de circuits électroniques, la programmation de
microcontrôleurs et à apprendre les bases de la conception domotique et les différentes
technologies employées dans la conception des maisons intelligentes ou connectées.
Parmi les contraintes qu’on a rencontrées lors de la réalisation de ce projet est le manque
de temps pour pouvoir approfondir ce travail, le manque de matériels et l’absence à l’accès à
internet, car au final ce projet ne s’arrête pas là, et comporte plusieurs tâches qui peuvent être
améliorées. En effet, pour les passionnés de domotique, les possibilités sont nombreuses, tant
au niveau des équipements disponibles que les opérations à effectuer.
41 | P a g e
Annexes
Programme globale du système:
#include <SoftwareSerial.h>
SoftwareSerial sim800l(19, 18); // RX, TX
int LEDV = 6; // LED verte pin6
int LEDR = 7; // LED rouge pin7
int buzzer = 8; // buzzer pin 8
int gaz_sensor = A0; // Analog pin 0 will be called 'gaz_sensor'
int sensorValue = 0; // Set the initial sensorValue to 0
float gaz;
// Flame
const int flamePin = 4;
int flamePinAn = A1;
int Flame = HIGH;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
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
//before we assume all motion has stopped
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int pirPin = 12; //the digital pin connected to the PIR sensor's output
// motor one : fan
int enA = 44; // PWM
int in1 = 22;
int in2 = 23;
// motor two : motor
int enB = 45;
int in3 = 24;
int in4 = 25;
42 | P a g e
void setup()
{
pinMode(buzzer, OUTPUT);
pinMode(LEDR, OUTPUT);
pinMode(LEDV, OUTPUT);
pinMode(gaz_sensor, INPUT);
pinMode(flamePin, INPUT);
pinMode(pirPin, INPUT);
digitalWrite(pirPin, LOW);
[Link](9600);
[Link](9600);
delay(500);
//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);
// Set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
// Turn off motors - Initial state
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
43 | P a g e
void loop()
{
// Read the input on analog pin 0 (named 'gaz_sensor')
sensorValue = analogRead(gaz_sensor);
// Print out the value you read
[Link](sensorValue, DEC);
// si il y a détection de gaz :
if (sensorValue > 300) {
SendTextMessage();
[Link]("gas detected");
// Eteindre la LED verte
digitalWrite(LEDV, LOW);
//allumer la LED rouge
digitalWrite(LEDR, HIGH);
// déclanchement de l'alarme
tone (buzzer, 1000, 200);
delay(500);
// turn on both fan and motor
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
delay(500);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
// accelerate from zero to maximum speed
for (int i = 0; i < 50; i++)
{
analogWrite(enA, i);
analogWrite(enB, i);
}
}
if ([Link]()){
[Link]([Link]());
}
else {
44 | P a g e
[Link]("No gas detected");
// Eteindre la LED rouge
digitalWrite(LEDR, LOW);
// Alumer la LED verte
digitalWrite(LEDV, HIGH);
// eteindre l'alarme
noTone(buzzer);
// turn off the fan and the motor
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
// fermeture des fenetres
digitalWrite( in3, HIGH);
digitalWrite( in4, LOW) ;
}
//pir
if(digitalRead(pirPin) == HIGH){
digitalWrite(LEDR, HIGH); //the led visualizes the sensors output pin state
[Link]("motion");
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);
// call the house owners
DialVoiceCall();
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW){
45 | P a g e
digitalWrite(LEDR, LOW); //the led visualizes the sensors output pin state
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);
}
}
if ([Link]()){
[Link]([Link]());
}
//FLAME
Flame = digitalRead(flamePin);
if (Flame== HIGH)
{
[Link]("Flame detected...! take action immediately.");
SendTextMessage();
// Eteindre la LED verte
digitalWrite(LEDV, LOW);
//allumer la LED rouge
digitalWrite(LEDR, HIGH) ;
// déclanchement de l'alarme
tone (buzzer, 1000, 200);
delay(500);
// turn on both motor and fan :
46 | P a g e
// Set motors to maximum speed
// For PWM maximum possible values are 0 to 255
// turn on motor
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
// accelerate from zero to maximum speed
for (int i = 0; i < 50; i++)
{
analogWrite(enB, i);
}
}
if ([Link]()){
[Link]([Link]());
}
else
{
//[Link]("No flames detected");
// Eteindre la LED rouge
digitalWrite(LEDR, LOW);
// Alumer la LED verte
digitalWrite(LEDV, HIGH);
// eteindre l'alarme
noTone(buzzer);
// turn off motor and fan
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
delay(500);
// fermeture des fenetres
digitalWrite( in3, HIGH);
digitalWrite( in4, LOW) ;
}
}
void DialVoiceCall()
{
47 | P a g e
[Link]("ATD+213696312114;");//dial the number, must include country code
delay(100);
[Link]();
}
void SendTextMessage()
{
[Link]("Sending Text...");
[Link]("AT+CMGF=1\r"); // Set the module to SMS mode
delay(100);
[Link]("AT+CMGS=\"+213696312114\"\r");
delay(200);
[Link]("DANGER ! Your house is in danger ");
[Link]("\r"); //the content of the message
delay(500);
[Link]((char)26);//the ASCII code of the ctrl+z is 26 (required according to the
datasheet)
delay(100);
[Link]();
[Link]("Text Sent.");
delay(500);
}
48 | P a g e
Bibliographie :
[ [Link] ]
seen 07/05/2021
[1] : [ [Link] ]
[3] [ [Link] ]
[5] : [ [Link] ]
[6] : [ [Link]
[7] : [ [Link] ]
[8] : [[Link] ]
49 | P a g e