Thème: Master Academique
Thème: Master Academique
Thème
Réalisé par :
• CHAMI Ahmed Chaouki
• MOUSSAOUI Mohammed Ali
• NID Mohammed Bachir
Soutenu en juin 2019 devant le jury composé de :
Dr. HETTIRI Messaoud MCA Président
Dr. AJGOU Riadh MCA Examinateur
Dr. TIR Zoheir MCA Examinateur
Dr. GHENDIR Said MCA Directeur du mémoire
projet par des remerciements pour Allah d’abord et à ceux qui nous ont beaucoup appris au
cours de ce travail.
C’est avec plaisir que nous réservons ces quelques lignes en signe de gratitude et de
profonde reconnaissance à l’égard de tous ceux qui nous ont aidés à la réalisation de notre
Nous adressons nos meilleurs remerciements à notre encadreur Dr Ghendir Said qui nous
a tendu la main pour accomplir notre projet et nous lui souhaitons beaucoup de succès et
protection de consommateur Said Hayat qui fut assez visionnaire pour nous offrir tous les
moyens de réussite.
Nous remercions chaleureusement les membres du jury pour l’honneur qu’ils nous ont
Nous tienons à exprimer mes reconnaissances à tous mes amis et collègues pour le
Et enfin, nous remercions également tous ceux qui ont participé de près ou de loin à
l’élaboration de ce projet.
إهــــــــــــــــداء
إلهي ال يطيب الليل إال بشكرك و ال يطيب النهار إال بطاعتك ,لك الحمد حتى ترضى و لك الحمد إذا
رضيت ولك الحمد بعد الرضى
إلى من تجرع الكأس فارغا ليسقيني قطرة حب ,إلى من كلت أنامله ليقدم لنا لحظة سعادة ,إلى من
حصد األشواك عن دربي ليمهد لي طريق العلم ,إلى حكمتي وعلمي ,إلى أدبي وحلمي ,إلى طريقي
المستقيم ..أبي الغالي
إلى من أرضعتني الحب والحنان ,إلى رمز الحب وبلسم الشفاء ,إلى القلب الناصع بالبياض ,إلى من
كافحت وجاهدت لسعادتي و هنائي ,إلى من كان دعاؤها سر نجاحي ..أمي الغالية حماك هللا
أنتما قدوتي في الحياة ,فال شيء أعظم من امرأة عظيمة قامت بتربيتي وأب أفخر دائما عندما يختتم
إسمي بإسمه ,أرجوا من هللا أن يمد عمركما لتريا ثمارا قد حان قطافها بعد طول انتظار
إلى أمي الثانية ,إلى التي لم تبخل علي بشيء من أجل دفعي الى طريق النجاح ,إلى التي علمتني كيف
أرتقي سلم الحياة ,إلى قدوتي و سندي ..إلى جدتي دق اشي خديجة
إلى القلوب الطاهرة الرقيقة والنفوس البريئة ،إلى رياحين حياتي..
إخوتي هشام حمزة ليلى خولة وعبد الرحيم
إلى من أظهروا لي أجمل ما في الحياة ،إلى من كانوا مالذي وملجئي في أصعب اللحظات ،إلى من
عشت معهم أجمل الذكريات ،إلى من ساقهم هللا لي ،إلى أخوتي الذين لم تلدهم أمي..
إلى اصدق ائي محمد ،البشير ،الجيالني ،يوسف ،عبد الكريم وعبد الخالق.
إلى من جاهد معنا إلتمام مذكرتنا في أحسن حال ،إلى من تكرم بوقته الثمين وصبر علينا ،إلى من نورنا
بعلمه وتوجيهاته ..إلى مؤطري الدكتور غندير السعيد
إلى من علمونا حروفا من ذهب وكلمات من درر وعبارات من أسمى العبارات في العلم ،إلى من
صاغوا لنا علمهم حروفا وفكرهم منارة تنير لنا مسيرة العلم والنجاح ...إلى أساتذتنا الكرام
Résumé :
L’intoxication par le monoxyde de carbone, provoquée par la combustion incomplète de
systèmes de chauffage à gaz, a fait l’objet de nombreux accidents domestiques. Ces dernières
années en Algérie, environ 200 personnes se tombent sont mortes chaque année par
l’intoxication de ce gaz.
Nous avons donc étudié et mis au point un système de détection de monoxyde de carbone
afin de prévenir de tomber dans ce type d’accidents, où on a basé sur le microcontrôleur Arduino
et les détecteurs tout en exploitant le réseau mobile GSM.
Lorsque le système découvre que la concentration de monoxyde de carbone a dépassé un
certain seuil, le responsable sera averti par message au téléphone mobile d’administrateur ainsi
que trois autres aides qui ont été enregistrés suivant de son choix. Le système prend
automatiquement des mesures préventives en cas de danger en faisant actionner un ventilateur
pour réduire la concentration de gaz, ou déclencher l'électrovanne de l’accès de gaz.
Pour contrôler ce système, nous avons développé une application qui sera disponible dans
le play-store pour la laisser à la portée de tous les utilisateurs.
Introduction générale
I.1 Introduction 1
I.2 Cadre du projet 1
I .3 Cahier de charge propose 1
I .3.1 Le microcontrôleur Arduino 2
I .3.1.1 Entrées/Sorties 2
I .3.1.2 La communication serie avec Arduino 3
I.3.2 Les capteurs 4
I.3.2.1 Captur de gaz CO 4
Caractéristiques MQ7 5
Fonctionnement de capteur MQ7 6
Module de capteur MQ7 6
Schéma equivalent 7
Calibrer le module MQ7 7
Brochage du module MQ7 8
I.3.2.2 Module DHT11 8
Brochage du module DHT 11 9
Mode de fonctionnement DHT 11 10
Signal de départ 10
Signal de réponse 11
Données 40 BITS 11
Lire la température et l'humidité 12
I.3.3. Module GSM 12
Le SIM 900 de SIMCOM 13
Caractéristiques générales 13
Caractéristiques des données 14
Le module GSM SIM900A Shields Arduino 14
Les commandes AT 15
La norme GSM07.07 16
I.3.4 Afficheur LCD 16*2 I2C 18
I.3.4. Le Buzzer 18
I.3.5. Relay 19
I .4. Logiciels utilises 19
I .4.1 l’environnement de la programmation (IDE Arduino) 19
Structure générale du programme 20
I .4.2 Android studio 20
Comparaison entre l'Eclipse et l'Android Studio 22
Les outils utilisent 22
Conclusion 23
II.1 Introduction 24
II.2 Description générale 24
II.3 Le mode de fonctionnement de système 25
II.4 Les types de programmation 25
II.5 Organigrammes 26
II.5.1 Organigrammes Arduino 26
II.5.2 Organigramme principale 26
II.5.3 Organigramme sous-programme config 28
II.5.5 Organigramme sous-programme state 28
II.5.5 Organigramme sous-programme action 29
II.5.6 Organigramme sous-programme alarme 29
II.5.7 Organigramme sous-programme Clear 30
II.5.8 Organigramme application Android 30
II.6 Lecture SMS reçu à partir Arduino 31
II.7 Envoi SMS à partir Arduino vers portable 32
Conclusion 33
III.1 Introduction 34
III.2 Partie hardware 34
III.2.1 La réalisation électrique 34
III.2.1.1 Alimentation 35
III.2.1.2 Les capteurs 36
Le PPM (partie par million) 36
III.2.1.3 Afficheur LCD 37
III.2.1.4 Commande de relais 37
III.2.1.5 Commande de siren 38
III.2.1.6 Télécommande GSM 38
Schéma électrique globale 39
III.2.2 Travaux expérimentaux 40
III.2.2.1 Moniteur serie de Arduino ide 40
III.3 Partie software 41
Conclusion 45
Conclusion générale
Annexe
Références
Listes des Figures
Introduction générale
C’est dans ce cadre que se situe notre projet de fin d’études intitulé " Etude et
Réalisation d'un système d'alarme intelligent à base d'un smart phone contre l'intoxication due
au gaz CO dans la maison " Pour se faire, nous avons divisé le travail en trois parties.
Le premier chapitre sera consacré à une étude approfondie sur tous les outils de la carte
d’interface tel que l’Arduino, puis on a focalisé la lumière sur le module GSM, sa
construction, son environnement de programmation et son principe de fonctionnement avec
Arduino.
I.1 Introduction
L’objectif de ce chapitre introductif est de mettre notre travail dans son contexte
général. Tout d’abord, nous commençons par faire une présentation succincte du sujet en
détaillant son cadre et ses fonctionnalités. Ensuite, nous détaillons le cahier des charges
proposé pour la réalisation de notre projet.
Notre projet a été réalisé dans le but de répondre à un ensemble de besoins qui
spécifient précisément les services demandés et attendus par l’utilisateur ; ces services
concernent principalement la surveillance (surveille contre l’intoxication et commande à
distance et appareil domestique) , la sécurité (confidentialité d’utilisation par administrateur,
détection de la température et humidité), la surveillance à distance en récupérant à tout instant
l’état de système via l’envoi d’un SMS.
Dans le cadre du projet de fin d’étude, nous proposons de réaliser une carte électronique
de commande connectée via un port série avec un module GSM(SIM900) permettant la
surveillance et la commande à distance.
L’utilisation de cette carte est facile dont l’utilisateur pourra, à l’aide de son
Smartphone, commander, demander les états et les mesure ou surveiller l’intoxication de
gaz à travers un appel téléphonique ou par l’envoi d’un simple SMS code qui contient une
information ou un ordre, ou bien la réception d’un message de compte rendu qui lui informe
sur l’état du système
Les sorties
Carte de
command
e
Module
Les entrées GSM
1
Chapitre I Outils et Développement
Pour la réalisation de notre projet qui consiste à la « réalisation d'un système d'alarme
intelligent à base d'un smart phone contre l'intoxication due au gaz CO dans la maison ». Ce
projet est construit par une carte mère qui interface avec un smart phone. Cette carte mère est
basée sur un microcontrôleur de type ARDUINO, module GSM, capteurs de gaz CO et
température et humidité, afficheur LCD et autres composants électroniques pour indication et
alarme et une application portable créée à partir d’Androïde studio. Cette application doit être
téléchargeable et disponible dans Google Play (magasin d'applications).
I .3.1.1 Entrées/Sorties
Les entrées et sorties sont les moyens que possède le microcontrôleur pour communiquer
avec le monde extérieur. Typiquement, on appelle entrées / sorties les pattes métalliques qui
donnent cette forme familière aux puces électroniques. Ces pattes reçoivent ou émettent des
signaux logiques qui peuvent alors être interprétés par le microcontrôleur ou d’autres circuits.
Les cartes Arduino facilitent l’accès à ces entrées/sorties en les reportant sur le pourtour
du circuit. En utilisant des connecteurs femelles standards, d’un pas de 2,54 mm, il devient
très simple d’ajouter ou de retirer des composants sans devoir forcément passer par une étape
de soudure. C’est sur ces connecteurs que se branchent les shields et les différents circuits
additionnels employés.
2
Chapitre I Outils et Développement
La communication série est indispensable pour dialoguer avec Arduino puisque c'est le
mode de transmission utilisé pour communiquer avec la carte. En communication série, on
découpe l'information à transmettre en petits blocs de taille fixe avant de la transmettre. La
taille des blocs correspond au nombre des lignes disponibles pour la transmission des
données. Ce type de communication s'oppose à la communication parallèle. En
communication parallèle, il y a une ligne par bits à transmettre. Tous les bits sont donc
transmis en même temps. Pour une même fréquence de communication, la communication
parallèle est donc plus rapide. [02]
Le protocole USB
Le protocole I2C
3
Chapitre I Outils et Développement
Les capteurs sont des composants essentiels de la chaîne d'acquisition dans un système
fonctionnel. Ce sont les premiers éléments rencontrés dans une chaîne de mesure, ils
prélèvent une information sur le comportement de la partie opérative qui sera exploitée par la
partie commande ; c’est à dire qu’ils transforment les grandeurs que l’on veut mesurer.
Le monoxyde de carbone (CO) est un des composants oxygénés du carbone les plus
connus avec le dioxyde de carbone (CO2), plus communément appelé gaz carbonique. La
confusion entre ces deux gaz est fréquente bien qu’ils diffèrent totalement, surtout par leur
toxicité. Le CO est un gaz incolore et inodore à température et pression normale, avec une
densité voisine de celle de l’air. Il est le résultat d’une combustion incomplète, quel que soit le
combustible utilisé (bois, butane, charbon, essence, gaz naturel...). Mais l’une des principales
caractéristiques de ce gaz est sa toxicité dans un environnement confiné. Il agit comme un gaz
asphyxiant très toxique qui, absorbé en quelques minutes par l'organisme, se fixe sur
l’hémoglobine. [03]
Après une recherche approfondie dans le marché est consultation des sites internet pour
choisir un capteur de gaz CO (monoxyde de carbone) efficace et disponible pour notre projet,
on a trouvé le capteur MQ-7.
4
Chapitre I Outils et Développement
Caractéristiques MQ7 :
RH Température
Résistance au chauffage 33Ω±5%
ambiante
TH (H) Temps de chauffage (élevé) 60 ± 1 secondes
5
Chapitre I Outils et Développement
b. Conditions environnementales
Lorsque le dioxyde d'étain (particules semi-conductrices) est chauffé dans l'air à haute
température, l'oxygène est adsorbé à la surface. En air pur, les électrons donneurs du dioxyde
d'étain sont attirés par l'oxygène adsorbé à la surface du matériau à détecter. Cela empêche la
circulation du courant électrique. En présence de gaz réducteurs, la densité de surface de
l'oxygène adsorbé diminue à mesure qu'il réagit avec les gaz réducteurs. Les électrons sont
ensuite libérés dans le dioxyde d'étain, permettant ainsi au courant de circuler librement dans
le capteur. [06]
Puisque le capteur de gaz MQ7 n’est pas compatible avec notre montage, nous utilisons
le module MQ7. Il est très facile à utiliser et vient avec deux sorties différentes. Il fournit non
seulement une indication binaire de la présence de gaz combustibles, mais également une
représentation analogique de leur concentration dans l'air.
6
Chapitre I Outils et Développement
Schéma équivalent
Pour calibrer le capteur de gaz, vous pouvez le maintenir près du gaz CO et continuez à
tourner le potentiomètre jusqu'à ce que le voyant rouge du module commence à
briller. Tournez la vis dans le sens des aiguilles d'une montre pour augmenter la sensibilité ou
dans le sens contraire pour la diminuer. Le comparateur du module vérifie en permanence si
7
Chapitre I Outils et Développement
la broche analogique (A0) a atteint la valeur de seuil définie par le potentiomètre. Lorsqu'il
franchit le seuil, la broche numérique (D0) passe à l'état HIGH et le voyant de signal
s'allume.
parties une pour détection d'humidité ainsi qu'un capteur de température NTC (ou une
thermistance).
8
Chapitre I Outils et Développement
GND : Est la broche de terre et doit être connecté à la broche GND de l’Arduino.
9
Chapitre I Outils et Développement
Une fois que le capteur est mis sous tension, il faut jusqu'à 2 secondes pour devenir
stable. Pendant cette période, le capteur teste la température et l'humidité de l'environnement
et enregistre les données relatives. Une fois terminé, il entre automatiquement en mode veille.
La communication commence lorsque le maître (MCU) envoie un signal de
départ. Avec cela, le capteur sort du mode veille, passe en mode haute vitesse et envoie un
signal de réponse. Suite à cela, il génère une chaîne de données de 40 bits comprenant les
valeurs relatives de température et d'humidité. Une fois l'opération terminée, le capteur
repasse automatiquement en mode veille en attendant la prochaine communication. Le
chronogramme correspondant et présenté ci-dessous.
Signal de départ :
Pour demander une lecture, le microcontrôleur tire la ligne de données LOW pendant
plus de 800 µs (le temps de maintien typique est de 1 ms). Après ce temps assez long, la ligne
est à nouveau élevée, mais pour un temps beaucoup plus court de 20 µs. Cette séquence agit
comme un signal de démarrage et réveille le capteur de son état de repos.
10
Chapitre I Outils et Développement
Signal de réponse :
Une fois le signal de départ terminé, le capteur envoie un signal de réponse. Le capteur
tire la ligne de données LOW pendant 80 µs et de nouveau sur HIGH pendant 80 µs. Durant
cette période, le capteur teste à nouveau la température et l'humidité de l'environnement,
enregistre les données relatives et se prépare pour la transmission des données.
Données 40 bits
Lorsque le signal de réponse est terminé, le capteur commence à émettre des données
série de 40 bits en continu. Avant d’envoyer chaque bit, le capteur tire la ligne de données
LOW pendant environ 50µs. Ensuite, la durée de l'impulsion HIGH détermine l'état du bit, à
savoir 0 ou 1. Si la ligne est HIGH pendant 26-28 µs, elle indique le bit '0', tandis que
l'impulsion longue de 70 µs indique le bit '1'.
Une fois que tous les 40 bits ont été transmis, le capteur tire la ligne de données LOW
pendant 50 ms pour indiquer la fin et passe automatiquement en mode veille.
11
Chapitre I Outils et Développement
Maintenant, l’un des aspects les plus mystérieux du capteur comprendre la signification
des données 40 bits. Bien que l'humidité relative soit toujours un nombre non négatif, la
température peut être négative. Et n'oubliez pas la fraction décimale du nombre. Voyons si
nous pouvons résoudre ce mystère.
On trouve désormais sur le marché des téléphones GSM intégrés débarrassées de leurs
interfaces homme-machine, ne subsiste que la partie interface machine-machine (M2M), qui
correspond physiquement à un connecteur multibroche quelconque ou encore à un connecteur
DB9 facilitant la connexion à un PC. Ces modules sont universels puisqu’ils supportent les
normes GSM07.07 et GSM07.05 permettent de ce fait l’échange de données, de SMS,
d’emails et même de télécopies (fax) via le réseau de téléphonie mobile. Leur simplicité de
mise en œuvre ouvre des perspectives très intéressantes concernant la réalisation de montages
électroniques sans fil. Il est spécialement conçu pour la réalisation d’applications de contrôle
de commande à distance.
En Algérie, les module GSM son des équipement sensibles et l’exploitation des
équipements sensibles sont soumis à un agrément délivré par le Ministre de l'Intérieur et des
Collectivités Locales ; ce qui nous rend difficile de trouver ce type de module GSM dans le
marché algérien pour résoudre ce problème ou na commandé une à l’étranger. [08]
12
Chapitre I Outils et Développement
Parmi les différents modèles proposés par SIMCOM, notre choix s’est porté sur le
SIM900 fabriqué par la société SIMCOM. Comportant une interface industriellement
compatible, le SIM900 fournit la représentation de GSM/GPRS 850/900/1800/1900MHz. Il
est capable de fonctionner dans les modes voix, données, fax et surtout, le plus intéressant
pour nous, dans le mode SMS.
Conçu avec un processeur d’un seul morceau très puissant intégrant le noyau
d’AMR926EJS, il nous permet de tirer bénéfice de petites dimensions et de solutions
rentables. Le module dispose d’un support destiné à recevoir l’indispensable carte SIM et un
connecteur MMCX permettant de relier une petite antenne RF également fournie par
SIMCOM. [08]
Article Description
A Logo de SIM COM
B Nom de module
C Numéro de la pièce du module
D Numéro de série du module et code `à barres
E Module IMEI et code `à barres
F Identification authentifiée par FCC
G Logo authentifie par CE
Caractéristiques générales
Transmission Voix, données et SMS
Alimentation 3.4 V `à 4.5 V, typiquement 3.8 V
GSM 850 MHz, EGSM 900 MHz, DCS 1800 MHz, PCS
Bandes de fréquences
1900 MHz
GSM900 : 147 mA (900 mA max)
Courant absorbe GSM1800 : 127 mA (700 mA max)
GSM1900 : 113 mA (650 mA max)
13
Chapitre I Outils et Développement
Le module GSM/GPRS est une carte d'interface compatible Arduino. Elle permet
d'envoyer et recevoir des SMS, des données ou des communications vocales depuis le réseau
mobile. Le module est basé sur le circuit SIM900 de la société SIMCOM. Il est contrôlé via
les commandes AT depuis une carte Arduino. Un connecteur au dos de la platine est prévu
pour recevoir une carte SIM ainsi qu'une pile Lihtium CR1220 pour l’horloge temps réel. La
communication entre le module et une carte Arduino est réalisée par la liaison série
asynchrone UART ou une liaison série logicielle.
Les Shields Arduino sont des cartes qui se branchent sans soudure aux cartes Arduino
ou à d'autres Shields Arduino pour augmenter leurs capacités. Ces cartes ont des dimensions
sensiblement voisines de la carte Arduino et peuvent s'enficher directement sur les
connecteurs de celle-ci. Les Shields Arduino conservent l'esprit original d’Arduino, facile à
produire et à utiliser.
14
Chapitre I Outils et Développement
Les cartes Arduino, comme les Shields Arduino sont particulièrement adaptées pour le
monde des Makers et du DIY (Do It Yourself).
Les Ccommandes AT
15
Chapitre I Outils et Développement
téléphone portable à un modem sans fil, il est donc logique qu’il utilise des instructions
semblables au modem fixe qui équipe nos PC.
Les constructeurs se doivent de fabriquer des téléphones portables qui respectent ces
normes. La première baptisée GSM07.07 permet l’accès aux fonctions générales du
téléphone, la deuxième GSM07.05 concerne la gestion des SMS. Dans les textes officiels qui
traitent du GSM on retrouve les termes ME pour Mobile Equipement qui correspond par
exemple à un téléphone portable, TE pour Terminal Equipement qui physiquement peut être
un ordinateur ou un microcontrôleur et TA pour Terminal Adaptator qui assure la liaison entre
le ME et le TE, à ne pas confondre avec le câble série. [08]
Dans la pratique, il y a trois possibilités concernant la disposition des différents
éléments (figure [17]) :
• TA, ME et TE sont trois entités distinctes ;
• TA et ME forment une seule entité, ce qui est le cas le plus fréquent. Par exemple, un
téléphone portable standard ou un terminal GSM contient dans son boîtier à la fois le TA et le
ME. Le TE forme une entité à part, par exemple il peut s’agir d’un ordinateur de type PC qui
dispose d’un port série ou d’un circuit électronique basé sur un µC qui implémente un port
série. [08]
• TA, ME et TE forment une seule entité.
Figure 17 : AT commande.
La norme GSM07.07
16
Chapitre I Outils et Développement
Commandes Fonction
AT+CGMI Identification fabricant
AT+CGMM Identification modèle
AT+CGMR Identification version
AT+CGSN Identification numéro de série (IMEI)
Information d’identité internationale du
AT+CIMI
mobile (IMSI)
AT+CLIP Présentation du numéro
AT+CSCS Alphabet utilisé par le TE
AT+CPAS État d’activité du téléphone
AT+CPIN Entre le code PIN
AT+CBC État de charge batterie
AT+CREG Enregistrement sur le réseau
AT+CSQ Qualité du signal
AT+CIND Indicateurs de contrôle
AT+CPBS Sélectionne un répertoire téléphonique
AT+CPBR Lecture du répertoire téléphonique
Recherche une entité dans le répertoire
AT+CPBF
téléphonique
AT+CPBW Écriture dans le répertoire téléphonique
AT+CCLK Horloge
AT+CALA Alarme
AT+CMEE Signalisation d’une erreur
AT+CSMS Sélection du service de messagerie
Sélection de la zone mémoire pour le
AT+CPMS
stockage des SMS
AT+CMGF Sélection du format du SMS (PDU ou TEXT)
Définition de l’adresse du centre de
AT+CSCA
messagerie
Affiche en mode TEXT le paramétrage des
AT+CSDH
SMS
AT+CSAS Sauvegarde du paramétrage
AT+CRES Restauration du paramétrage par défaut
AT+CNMI Indication concernant un nouveau SMS
AT+CMGL Liste les SMS stockés en mémoire
AT+CMGR Lecture d’un SMS
AT+CMGS Envoie un SMS
AT+CMSS Envoie d’un SMS stocké en mémoire
AT+CMGW Écriture d’un SMS
AT+CMGD Efface un SMS
17
Chapitre I Outils et Développement
Les normes I2C (Inter-Integrated Circuit) et SPI (Serial Peripheral Interface) ont été
créées pour fournir un moyen simple de transférer des informations numériques entre des
afficheurs et des microcontrôleurs. Les deux connexions du bus I2C se nomment SCL (Serial
Clock Line) et SDA (Serial Data line). Elles sont disponibles sur une carte standard Arduino
en employant la broche analogique 5 pour SCL qui fournit un signal d’horloge, et la broche
analogique 4 pour SDA, qui s’occupe du transfert des données.
I.3.4. Le Buzzer
Pour simuler l’effet d’une sirène, un buzzer est utilisé pour générer une alarme sonore.
Un buzzer ou un bipper est un dispositif de signalisation audio, qui peut être mécanique,
électromécanique ou piézoélectrique.
Figure 19 : buzzer.
18
Chapitre I Outils et Développement
I.3.5. Relais
Un relais est un commutateur électrique qui peut être activé ou désactivé, laissant le
courant passer ou non, et pouvant être contrôlé avec des tensions faibles, comme le 5V fourni
par les broches Arduino.
Figure 20 : Relay.
Lors de notre réalisation, nous nous sommes basés sur deux logiciels, Arduino IDE et
Android Studio, et un autre logiciel pour le dessin du schéma électrique. Le premier nous a
servi à programmer et configurer notre carte Arduino pour le bon fonctionnement de notre
application. Le deuxième software nous a servi à une application mobile pour faciliter les
taches à distance de notre système.
19
Chapitre I Outils et Développement
Vérification du Ecran de
programme communication
Télévercement du menu
programme
Sauvegarder sketch
Nouveau sketch
Ouvert sketch
Void setup
console d'erreur
Void Loop
Aujourd’hui, les applications mobiles occupent une place importante dans notre vie
quotidienne grâce aux services offerts par ces outils qui couvrent une grande variété de
domaines.
Google propose un IDE appelé Android Studio pour la création d’applications Android.
Le premier IDE indispensable pour les développeurs Android, Android Studio est un
environnement de développement basé sur IntelliJ IDEA, qui avait pour objectif de supplanter
Eclipse [10].
20
Chapitre I Outils et Développement
Eclipse
Android studio
21
Chapitre I Outils et Développement
Comme on a vu sur la Tab [6], nous avons choisi l’environnement Android studio parmi
les autres outils de développement.
JAVA
C’est le langage utilisé sur la plateforme Androïde studio. Java est un langage de
programmation. Ce langage a la particularité principale que les logiciels écrits avec ce dernier
sont très facilement portables sur plusieurs systèmes d’exploitation tels qu’Unix, Microsoft
Windows, Mac OS ou Linux avec peu ou pas de modifications. C’est la plate-forme qui
garantit la portabilité des applications développées en Java. [13]
22
Chapitre I Outils et Développement
Conclusion
Tout au long de ce chapitre, nous avons pu situer le cadre général de notre projet de fin
d’études, à savoir la présentation de ses objectifs, le cahier des charges proposé. Nous avons
décrit les bases théoriques développées dans notre projet, et pris une idée générale sur tous les
composants essentiels de notre carte électronique avec les logiciels utilisés.
23
Chapitre II
Architecture et Programme
Chapitre II Architecture et Programme
II.1 Introduction
Après avoir étudié les outils essentiels que nous avons utilisés dans notre projet, nous
allons, dans ce chapitre, décrire l’architecture et tous les organigrammes de programmation de
notre carte Arduino et notre application Android et avec le schéma bloc du système.
24
Chapitre II Architecture et Programme
II.3 Le mode de fonctionnement de système
25
Chapitre II Architecture et Programme
II.3 Les types de programmation
II.4 Organigrammes
26
Chapitre II Architecture et Programme
27
Chapitre II Architecture et Programme
II.4.3 Organigramme sous-programme CONFIG
28
Chapitre II Architecture et Programme
II.4.5 Organigramme sous-programme ACTION
29
Chapitre II Architecture et Programme
II.4.7 Organigramme sous-programme CLEAR
30
Chapitre II Architecture et Programme
II.5 Lecture sms reçu à partir d’ARDUINO
Notre système est basé généralement sur le traitement les SMS reçu. On va démontrer la
procédure et la forme de ces SMS.
Avant de lire le SMS réception par le module GSM, il faut activer une option sur le
module pour la détection des nouveau SMS reçu et non lu à partir de l’envoi de la commande
« AT+CMNI =2,2,0,0,0 » alors, lorsqu’un SMS est reçu au module, il envoi au
microcontrôleur un attention qu’un SMS reçu avec l’envoi des caractères suivants « +CMT ».
Le microcontrôleur prend l’attention pour lire et sauvegarder le contenu de SMS pour la
détection du numéro téléphone de l’expéditeur et le contenu donne un SMS envoyé à partir du
module GSM et le microcontrôleur est comme suit :
+CMT : "+213782218309 " ," ","19/05/20,22 :50 :28+04" Test Hello, this is from group
Detect CO .
Le contenu du premier champ "+213782218309 "est le numéro téléphone de
l’expéditeur.
La valeur du deuxième champ doit être une chaîne contenant le texte associé au
numéro de téléphone de l'expéditeur "+213782218309 " dans le répertoire. Dans
cet exemple, ce champ est vide.
La valeur du quatrième champ, "19/05/20, 22: 50: 10 + 04", indique que le SMSC
a reçu le message texte à 22:50:10 (GMT + 1) le 20 mai 2019. (Don n’oubliez pas
que l’unité de fuseau horaire est fois 4, "+04" signifie GMT +1 heures.)
La valeur du cinquième champ, " Test Hello, this is from group Detect CO ", Est
le corps du message SMS.
31
Chapitre II Architecture et Programme
II.6 Envoi sms à partir ARDUINO vers portable
32
Chapitre II Architecture et Programme
Conclusion
Sur le plan pratique, une manipulation adéquate avec le logiciel « Arduino » nous
permet alors d’utiliser un compilateur ; il s’agit de « IDE ». Ce dernier possède une capacité
de créer un code HEX, qui peut être injecté sur son microcontrôleur d’une part ; d’une autre
part, une simple élaboration de l’environnement androïde studio qui nous pousse à réaliser
une application « *.apk » sous smart phone capable de lier une carte Arduino et un smart
phone afin d’exécuter des ordres bien définis. On peut conclure que les résultats obtenus sont
satisfaisants compte tenu des limitations du matériel et des moyens dont nous disposons.
33
Chapitre III
Conception et Réalisation
Chapitre III Conception et Réalisation
III.1 Introduction
Apres avoir étudié les organigrammes essentiels que nous avons utilisé dans notre
projet, nous allons, dans ce chapitre, appliquer toutes les étapes nécessaires pour la réalisation
de notre projet qui se divise en deux grandes parties : la réalisation de la carte qui est basé sur
un microcontrôleur Arduino Uno pour contrôler toutes les fonctions du système et interfacer
tous les composants de ce système et la deuxième partie est une application Androïd créée à
partir le plateforme Androïd Studio qui va être publiée au Play store pour la télécharger et
l’installer dans le smart phone de l`utilisateur. Nous pouvons maintenant passer à la
réalisation physique du système.
Tout d’abord, nous allons rappeler le schéma fonctionnel et le schéma de bloc de notre
carte électronique avant de passer à présenter sa réalisation physique. En effet, dans la figure
12, notre carte électronique contient plusieurs modules de fonctions différentes que nous
avons déjà détaillées dans le chapitre "I". Ces modules sont :
Alimentation
34
Chapitre III Conception et Réalisation
La « Platine d'essai », où l'on voit les composants tels qu'ils sont dans la réalité et où l'on
construit le montage.
La « Vue schématique », représentant le schéma fonctionnel du circuit.
Le « Circuit imprimé », représentant la vue du circuit imprimé tel qu'il sera sorti en PDF
pour être imprimé.
III.2.1.1 Alimentation
Après avoir étudié les caractéristiques électriques de tous les composantes électroniques
nécessaires pour notre carte, on a utilisé une alimentation stabilisée, composée d’un
transformateur 220V/5V, qui transforme la tension de secteur 220 v alternative en tension
contenu de 5 volts avec 3000 mA d’intensité de courant.
Le capteur DHT11 nous donne à partir de sa boite DATA un signal numérique qui
contient les informations de température et humidité est relie directement à l’entrée
numérique de microcontrôleur D3.
Le PPM
Lors de la mesure de gaz tels que le dioxyde de carbone, le terme de concentration est
utilisé pour décrire la quantité de gaz en volume dans l'air. Les deux unités de mesure les plus
courantes sont les parties par million et la concentration en pourcentage.
Le nombre de parties par million (ppm en abrégé) est le rapport d’un gaz à un autre. Par
exemple, 1 000 ppm de CO signifie que si vous pouvez compter un million de molécules de
gaz, 1 000 d'entre elles seraient constituées de monoxyde de carbone et 999 000 molécules
seraient d'autres gaz.
36
Chapitre III Conception et Réalisation
Pour l’affichage des notifications des SMS, appel, mesure et alarme, on utilise
l’afficheur LCD 16*2 c'est-à-dire deux lignes de 16 caractères. Avec un module de protocole
I2C intégré qui nous facilite le travail car notre microcontrôleur comporte d’instructions
spécialement dédiées pour le pilotage de cette affichage et aussi moins le câblage de fils.
I2C est un bus série synchrone bidirectionnel half-duplex. Cette liaison est utilisable
avec seulement 2 broches (une broche de donnée et une broche d’horloge) et nécessite
l’utilisation de deux broches analogiques de l’Arduino (broche A4 et A5).
Le module Relay Arduino est connecté directement à la sortie D04 (voir figure ci-
dessous).
37
Chapitre III Conception et Réalisation
La gestion d’une sirène ou une alarme se fait avec un son de sirène de police. Pour ce
faire, on joue sur la fréquence d’entrée de buzzer qui est relié directement au proche D10 de
sorite de Arduino comme représente la figure 38.
La liaison entre le module GSM et le microcontrôleur Arduino est une liaison série
asynchrone UART.
38
Chapitre III Conception et Réalisation
39
Chapitre III Conception et Réalisation
Notre travail expérimental se base en premier temps sur le service monitor de Arduino
IDE et puis sur les tests au labo.
Arduino IDE nous fournit un outil qui nous permet d’envoyer et d’afficher les données
traitées via le port série. Cet outil s'appelle Serial Monitor et se trouve dans le menu Outils,
dans l'option "Serial Monitor". C'est le moyen le plus simple d'établir une communication
série avec Arduino.
À travers cette fenêtre, vous pouvez envoyer ou recevoir des informations via le port
série. Notez que pour ouvrir cette fenêtre, il est nécessaire que notre carte Arduino soit
connectée à notre PC via USB.
Pour démarrer la communication série avec Arduino à l'aide du moniteur série, vous
devez établir certaines commandes dans l'IDE Arduino, puis les télécharger sur le
microcontrôleur.
Pour nos besoins, nous utiliserons couramment une vitesse de symbole de 9600. Chaque
fois que nous allons communiquer avec Arduino via un port série, nous devons appeler
l'instruction Serial.begin (9600).
Si nous téléchargeons le code de notre programme sur Arduino, nous pouvons observer
le comportement de notre algorithme via le moniteur série avec l’appel de la fonction
Serial.println.
40
Chapitre III Conception et Réalisation
Dans cette partie, on va expliquer l'utilisation de l'application et comment faire saisir les
informations nécessaires, cela pour s’assurer que l’application fonctionne correctement.
Interface principale
41
Chapitre III Conception et Réalisation
42
Chapitre III Conception et Réalisation
Interface d’action
L’interface d`action présentée dans la Figure 44 vous permet de contrôler les appareilles
connecté.
Confirmation
Après avoir cliqué sur le bouton Effacer les paramètres<CLEAR SETTINGS>, un message
apparaît. Pour effacer les paramètres, on va cliquer sur < YES >.
Figure 45 : Confirmation.
43
Chapitre III Conception et Réalisation
Message reçu
Si vous voulez voir les valeurs de température, humidité et la concentration de gaz CO,
il vous suffit de cliquer sur l'icône d'appel téléphonique ou l'icône de message.
Ceci est un exemple pour un état recevoir.
44
Chapitre III Conception et Réalisation
Conclusion
Nous avons présenté dans ce chapitre, les phases de conception et réalisation de notre
carte électronique de son côté Hardware : le choix du matériel et les considérations pratiques,
et du coté software : le mode d’emploi d’application Android. L’expérience menée durant ce
chapitre nous a permis d’acquérir plusieurs concepts, et a permis la réalisation d’un système
efficace pour la détection, la mesure de concentration de gaz CO, de prévention et d’alarme à
base d’Arduino.
45
Conclusion générale
Conclusion générale
Dans ce contexte, nous avons réalisé un système d’alarme intelligent pour la détection
et la mesure de concentration de gaz toxiques (monoxyde de carbone et méthane), ainsi que
pour la prévention et l’alerte à distance. Ce système peut être aussi utilisé dans les
environnements domestiques et industriels.
Dans ce cadre, nous avons essayé de développer un système, qui permet aux utilisateurs
d’éviter de tomber dans des cas d’accidentes d’intoxication de gaz monoxyde de carbone CO.
Ce système vise à surveiller une maison à distance tout en réalisant un détecteur CO
conjointement avec les mesures de température et d’humidité. Ce détecteur fonctionne
parallèlement avec un module GSM pour l’envoi et la réception des SMS et des appels à
partir d’une application installée d’un smart phone.
Dans le cadre de ce projet de fin d’études, nous avons eu l’occasion d’avoir beaucoup
de savoir-faire et d’étudier les méthodes d’envoi et de réception des messages SMS, et l’entité
intervenante dans la transmission de données qui est le module GSM avec toutes ses
particularités. En plus, on avait l’occasion de maitriser le soft Android studio pour développer
l’application. Cela, sans oublier la bonne expérience avec le cerveau de notre carte
électronique qui est le microcontrôleur Arduino avec lequel différents composants
électroniques sont impliqués.
Une telle réalisation n’est pas dénuée de difficultés. Il est à noter que nous avons
confrontés plusieurs problèmes surtout dans la partie de la connexion de notre module GSM
avec le réseau mobile, sans citer le problème de l’indisponibilité de ce module en Algérie. Un
vrai défi a été confronté dans ce travail qui est la difficulté de création du gaz CO pour les
tests expérimentaux. Cependant, on peut dire que malgré ces difficultés et défis, les résultats
obtenus à travers cette étude qu’ils soient pratiques ou théoriques, permettent d’ouvrir la porte
à d’autres études. Nous espérons que ce mémoire sera une bonne référence aux personnes
désirant développer et réaliser des projets et systèmes à distance basé sur une carte Arduino.
Conclusion générale
Finalement, sous la lumière de tout cela, l’objectif que nous avons fixé au départ est
atteint. Néanmoins, nous regrettons de ne pas avoir eu assez de temps pour perfectionner
notre projet, c’est à dire rajouter de nouvelles fonctions ou bien de le mettre sur un support
finalisé.
Annexe
Symptomes et effets sur la sante du CO : intoxications aigue et chronique
(d`apres l`association puor la prevention de la pollution atmospherique www.appa.asso.fr)
List de prix
L`ARTICLE PRIX
ARDUINO 3500.00
MODULE GSM 900L 6500.00
MODULE DHT11 350.00
MODULE MQ7 700.00
MODULE RELAY 200.00
AFFICHEUR LCD I2C 2000.00
Références
[02] https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-
embarquee/744_la-communication-avec-arduino/3426_generalites-sur-la-voie-serie/
[03] https://www.interieur.gouv.fr/A-votre-service/Ma-securite/Conseils-pratiques/A-votre-
domicile/Monoxyde-de-carbone-attention-danger
[04] http://fr.hobbytronics.co.uk/mq7-carbon-monoxide-sensor
[05] https://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-7.pdf
[06] https://lastminuteengineers.com/dht11-dht22-arduino-tutorial/
[07] http://www.interieur.gov.dz/index.php/fr/mes-d%C3%A9marches-
administratives/activit%C3%A9s-r%C3%A9glement%C3%A9es/equipements-sensibles
03/05/2019.