WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation de la commande à  distance d’une maison intelligente à  base d’Arduino.


par David SADIKI
INITELEMATIQUE - Baccalauréat en ingénierie 2019
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

5. Spécifications techniques

Parmi ses caractéristiques matérielles, on trouve :

Tableau 2Présentation des caractéristiques de la carte Arduino Uno

Catégorie

Valeur

Microcontrôleur :

ATmega328P

Tension de fonctionnement :

5V

Tension d'entrée :

7-12 V

Broches d'E /S numériques 

14

Broches E /S numériques PWM 

6

Broches d'entrée analogiques 

6

Mémoire flash 

32 Ko (ATmega328P)

SRAM

2 Ko

EEPROM

1 Ko

Vitesse de l'horloge 

16 MHz

LED_BUILTIN 

Connectée à la pin 13

Longueur

68.6 mm

Largeur

53.4 mm

Poids

25g

6.Fonctions générales des broches

a. Alimentation

L'Arduino Uno peut être alimentée via la connexion USB ou avec une alimentation externe.
Dans le premier cas, la source d'alimentation est automatiquement sélectionnée.
Externe (non-USB) alimentation peut provenir d'un adaptateur AC-DC ou batterie.

Les broches d'alimentation sont les suivants :

· Vin pour accueillir la tension d'entrée positive lorsque la carte Arduino est utilisée avec une source detension externe.

· 5V,Cette broche délivre une tension de 5V régulée utilisée pour faire fonctionner le microcontrôleur et les autrescomposants de la carte.

· 3.3V, il s'agit d'une alimentationfournie par le circuit intégré FTDI (circuit intégré faisant l'adaptation du signal entre le port USB de votre ordinateur et le port série del'ATmega) de la carte. L'intensité maximale disponible sur cette broche est de 50mA.

b. Mémoire

La carte Arduino Uno a 32 Ko de mémoire FLASH pour stocker le programme. Elle a également 2 ko de mémoire SRAM (volatile) et 1 Kod'EEPROM (non volatile - mémoire qui peut être lue à l'aide de la librairie EEPROM.h).

c. Entrées et sorties numériques

Chacune des 14 broches numériques de la carte Arduino Uno peut être utilisée comme entrée numérique ou sortie numérique à l'aide des fonctions pinMode () et digitalRead () du langage Arduino.Ils fonctionnent en 5 volts.Chaque broche peut fournir ou recevoir un maximum de 20 mA d'intensité dans les conditions de fonctionnement recommandées et possède une résistance de tirage interne (déconnectée par défaut) de 20 à 50 000 ohms (20-50KÙ). Cette résistance interne s'active sur une broche en entrée à l'aide de la fonction digitalWrite (broche, HIGH).

De plus, certaines broches ont des fonctions spécialisées:

Tableau 3 Différentes broches entrées/Sorties numériques

Communication Série

ü Port serie serial 0 : 0 (RX) ;

ü Port serie serial 1 : 1 (TX).

Utilisé pour recevoir (RX) et transmettre (TX) des données séries de niveau TTL.

Les broches 0 (RX) et 1 (TX) sont connectées aux broches correspondantes du circuit intégré ATmega8U2 programmé en convertisseur USB-vers-Serie de la carte.

Interruptions externes

ü Broche 2

ü Broche 3.

Ces broches peuvent être configurées pour déclencher une interruption sur une valeur basse, un front montant ou descendant ou un changement de valeur. (Voir la fonction attachInterrupt ()).

Impulsion PWM (Modulation de la Largeur d'Impulsion MLI)

ü Broche 3,

ü Broche 5,

ü Broche 6,

ü Broche 9,

ü Broche 10 et

ü Broche 11

Peut fournir une sortie PWM 8 bits à l'aide de la fonction analogWrite ().

SPI (Interface Série Peripherique)

ü Broche 10 (SS),

ü Broche 11 (MOSI),

ü Broche 12 (MISO),

ü Broche 13 (SCK).

Ces broches prennent en charge la communication SPI à l'aide de la bibliothèque SPI.

I2C

ü Broche A4 (SDA) et

ü Broche A5 (SCL).

Supportent les communications de protocole I2C (ou interface TWI (2 fils), disponible en utilisant la libraire Wire/I2C (Twi :Two-Wire-Interface « 2 fils »).

LED

ü Broche 13

Il y a une LED intégrée dans la carte connectée à la broche numérique 13. Lorsque la broche est au niveau HAUT, la LED est allumée, lorsque la broche est au niveau BAS, la LED est éteinte.

d. Broches analogiques

La carte Arduino Uno dispose de 6 entrées analogiques portant l'indication de A0 à A5, offrant chacune une résolution de 10 bits à l'aide de la très utile fonction analogRead () du langage Arduino. Par défaut, ces broches mesurent entre la masse et le 5 volts, mais il est possible de modifier l'extrémité supérieure de leur plage de mesure à l'aide de la broche AREF et de la fonction analogReference () du langage Arduino.

Note : les broches analogiques peuvent être utilisées en tant que broches numériques.

e. Autres broches

Il y a trois autres broches disponibles sur la carte Arduino Uno :

· IOREF : Cette broche de la carte Arduino fournit la référence de tension avec laquelle le microcontrôleur fonctionne.Un blindage correctement configuré peut lire la tension des broches IOREF et sélectionner la source d'alimentation appropriée ou permettre aux convertisseurs de tension sur les sorties de fonctionner avec 5V ou 3,3V.

· AREF (référence analogique): Tension de référence pour les entrées analogiques (si différent du 5V). Utilisée avec la fonction analogReference ().

· RESET ou Réinitialiser : Mettre cette broche au niveau BAS entraine la réinitialisation (ou le redémarrage) du microcontrôleur. Généralement utilisée pour ajouter un bouton de réinitialisation sur le circuit qui bloque celui présent sur la carte.

f. Communication

La carte Arduino Uno dispose d'un certain nombre d'installations pour communiquer avec un ordinateur, une autre carte Arduino ou avec d'autres microcontrôleurs.L'ATmega328 fournit une communication série UART TTL (5V), disponible sur les broches numériques 0 (RX) et 1 (TX).

Un ATmega16U2 sur la carte canalise cette communication série sur USB et apparaît comme un port de communication virtuel pour le logiciel sur l'ordinateur.Le micrologiciel 16U2 utilise les pilotes COM USB standard et aucun pilote externe n'est nécessaire.Cependant, sous Windows, un fichier .inf est requis.

Le logiciel Arduino (IDE) comprend un moniteur série sur l'ordinateur et qui sert d'interface pour échanger de simples données textuelles vers et depuis la carte.Les voyants RX et TX de la carte clignotent lors de la transmission de données via le port USB vers série et la connexion USB à l'ordinateur (mais pas pour la communication série sur les broches 0 et 1).Une bibliothèque SoftwareSerial permet la communication série sur n'importe laquelle des broches numériques de l'Uno.

5.2.1. Module Ethernet Shield

Le ShieldArduinoEthernet est un module Arduino additionnel aux cartes Uno, DuemilanoveouMega qui permet de les rendre communicantes sur un réseau filaireEthernet.
On pourra ainsi créer une Interface Homme Machine (IHMou HMI) pour piloter à distance ou visualiser l'état de notre carte Arduinoen utilisant un câble réseau relié à une box internet.

Figure 4.2-2 le module Ethernet Shield HanRun HR11105A 17/32

Le module Ethernet est composé de :

· Un Port Ethernet.

· Une circuit intégréWiznet W5100 supportant le protocole TCP/IP et 4 connexionsen même temps.

· Un emplacement pour carte Micro SD pour y stocker ou envoyer des données.

· Des borniers embrochables déportés de votre carte Arduino.

· 7LEDs permettant d'afficher les informations :

o TX : s'allume lors d'une transmission de données,

o RX : s'allume lors d'une réception de données,

o COLL : s'allume lors d'une collision sur le réseau,

o FULLD : s'allume lorsque la connexion réseau est en Full duplex,

o LINK : s'allume lorsqu'un réseau est connecté et clignote lors de l'échange de données,

o 100M : s'allume lorsque la connexion est en 100Mbits/s.

o PWR : s'allume lorsque l'alimentation de la carte est présente.

5.2.2. Servomoteur

Pour motoriser la porte principale, on a pensé à utiliserun servomoteur vu de sa souplesse et sa simplicité de commande.

Les servomoteurs servent en principe à actionner les parties mobiles d'un système. Ils sont prévuspour être commandés facilement en position ou en vitesse. En effet, ils sont équipés d'un systèmed'asservissement basé sur un potentiomètre rotatif qui sert de capteur de rotation.
C'est un ensemble mécanique et électronique comprenant :

· Un moteur à courant continu de petite taille ;

· Un réducteur en sortie de ce moteur diminuant la vitesse maisaugmentant le couple.

· Un potentiomètre (faisant fonction de diviseur résistif) quigénère une tension variable, proportionnelle à l'angle de l'axede sortie ;

· Un dispositif électronique d'asservissement ;

· Un axe dépassant hors du boîtier avec différents bras ou roues de fixation.

Figure 4.2-3 servomoteur[9]

Ils sont faciles à utiliser car ils ne nécessitent qu'une source de tension continue et une sortie PWM du microcontrôleur.

Les servomoteurs sont commandés par l'intermédiaire d'un câble électrique à 3 fils qui
permettent d'alimenter le moteur et de lui transmettre des ordres de positions sous forme d'unsignal codé en largeur d'impulsion plus communément appelés PWM.

Comme le montre la figure 4.2-3, un servomoteur se pilote par l'intermédiaire d'un câble à 3 fils. Ce câble permet à la fois del'alimenter et de lui transmettre des consignes de position par le fil de signal :

· Le noir ou marron : La masse

· Le rouge : La tension d'alimentation continue (+)

· Le jaune, orange ou blanc : Le signal de commande PWM

5.2.3. Capteur de flamme

Le capteur de flamme KY-026 est un capteur qui permet de mesurer des longueurs d'onde sur une plage comprise entre 760 nm et 1100 nm. Ce capteur réagira donc en présence d'une flamme.

Figure 4.2-4 Capteur de flamme KY-026[10]

La sortie varie en présence d'une flamme (la photodiode est sensible au spectre lumineux généré par une flamme). Il a deux sorties :

· Sortie numérique (DO): un signal est émis si une flamme détectée.

· Sortie analogique (AO):  mesure directe du capteur. Signaux de tension de sortie sur la résistance thermique en tempsréel.

LED1: indique que le capteur est alimenté en tension.

LED2: indique qu'une flamme est détectée.

a. Caractéristiques du capteur

· Catégorie : module de détection

· Extrêmement sensible aux longueurs d'ondes entre 760-1100nm

· Plage d'angle de détection: environ 60 degrés

· Seuil de détection de flamme modifiable par un potentiomètre

· Tension d'alimentation:DC 3.3 à 5.5 V.

b. Fonctionnement du capteur

Ce module est composé de trois éléments fonctionnels. Le capteur situé à l'avant du module effectue la mesure, le signal analogique est ensuite envoyé sur l'amplificateur. Celui-ci amplifie le signal en fonction du gain déterminé par le potentiomètre et envoie le signal à la sortie analogique du module.

Il convient de noter que le signal est inversé: plus la valeur mesurée par le capteur est haute, plus la tension de sortie est faible.

La troisième partie est composée d'un comparateur qui commute la sortie numérique et la diode lorsque le signal tombe en dessous d'une certaine valeur. La sensibilité peut être ajustée au moyen du potentiomètre comme décrit ci-dessous:

Figure 4.2-5 potentiomètre pour ajuster la sensibilité du capteur.

Ce type de capteur ne délivre pas des valeurs absolues (par exemple, la température mesurée avec précision en ° C), mais des valeurs relatives. On définit une valeur limite par rapport à une valeur normale donnée et le module émet un signal si cette limite est dépassée.

c. Brochage

Figure 4.2-6 branchement sur le breadboard

· Signale numérique = [Pin X]

· +V = [Pin 5V]

· GND = [Pin GND]

· Signal analogique = [Pin A0]

5.2.4. Capteur d'humidité et température DHT11

Afin de garder de la fraîcheur au sein de l'habitat, on a intégré dans notre système domotique unsous-système d'acquisition de température et d'humidité avec le capteur DHT11.
Cette température acquise va être renvoyée vers l'utilisateur sur l'application SmartPhone ouson ordinateur d'une manière automatique.

Ce capteur possède 3 broches espacées de 2,45mm ce quipermet de le brancher facilement sur une breadboard.

Figure 4.2-7 capteur de température et humidité DHT11

a. Caractéristiques

· Alimentation en courant continu comprise entre 3.3V et 5V.

· Nombre de broches: 3 ou 4

· Période de collecte du signal : 2s

· Mesure de la température de 0 à 50°C.

· Mesure du taux d'humidité de 20 à 96% RH.

· Consommation : Comprise entre 0.5 mA et 2.5 mA

· Dimension (Longueur, largeur, Hauteur): 15.5mm, 12mm, 5.5mm.

· Précision pour la mesure de température: #177; 2° C

· Précision pour le taux d'humidité: #177; 5% RH

· Sensibilité pour la température : #177; 1% RH

· Sensibilité pour l'humidité : 1° C

b. Brochage du capteur

Les capteurs DHT11 communiquent avec le microcontrôleur via une unique broche d'E/S, dont on verra ensemble le principe de fonctionnement dans le point suivant.

Figure 4.2-8 brochage des pins du capteur sur Arduino [11]

Le brochage du capteur est le suivant :

· La broche n°1 est la broche d'alimentation (5 volts ou 3.3 volts).

· La broche n°2 est la broche de communication.

· La broche n°3 n'est pas utilisée et ne doit pas être câblée.

· La broche n°4 est la masse du capteur (GND).

c. Principe de fonctionnement du capteur

Le capteur DHT11 a la particularité de communiquer avec le microcontrôleur via une unique broche d'E/S. Bien que cela soit marqué "One Wire" un peu partout sur le document constructeur du capteur, il ne s'agit pas d'un véritable bus de communication 1-Wire. Il s'agit simplement d'un protocole de communication propriétaire, utilisant un seul fil et nécessitant des timings très précis.

La communication avec un capteur DHT11 se fait en 3 étapes :

· Tout d'abord, le microcontrôleur maître (la carte Arduino dans notre cas) réveille le capteur en plaçant la ligne de données à LOW pendant au moins 18ms. Durant ce laps de temps, le capteur va se réveiller et préparer une mesure de température et d'humidité. Une fois le temps écoulé, le maître va libérer la ligne de données et passer en écoute.

· Une fois la ligne de données libérée, le capteur répond au maître (pour montrer qu'il est bien réveillé) en maintenant la ligne de données à LOW pendant 80us puis à HIGH pendant 80us.

· Le capteur va ensuite transmettre une série de 40 bits (5 octets). Les deux premiers octets contiennent la mesure de l'humidité. Les deux octets suivants contiennent la mesure de la température et le cinquième octet contient une somme de contrôle qui permet de vérifier que les données lues sont correctes.

5.2.5. Ecran LCD

Les afficheurs LCD alphanumériques présentent une solution facile d'emploi et bon marché de dotervotre projet d'une interface indépendante de votre PC. Vu de l'extérieur, les écrans LCD alphanumériques sont essentiellement caractérisés par leur taille.

Figure 4.2-9 afficheur LCD 16x2

a. Le connecteur de l'afficheur LCD

Cet écran possède un connecteur 16 broches. Ceconnecteur véhicule plusieurs signaux dont une partie forme un bus de communication parallèle 4 ou8 bits selon la configuration choisie ainsi que les signaux permettant de contrôler la communicationentre l'Arduino et l'écran.

La figure 4.2-11 ci-dessous donne la nomenclature des broches de ce connecteur :

Figure 4.2-10 Connecteur de l'afficheur LCD

Ces broches ont le rôle suivant :

Tableau 4 Nomenclature du connecteur de l'afficheur LCD

Numéro de la broche

Désignation

Description

1

GND

Masse 0V

2

VCC

Alimentation +5V

3

VO

Tension de réglage du contraste

4

RS

Sélection du registre de données ou commande

5

RW

Lecture ou écriture

6

E

Activation pour un transfert (Enable)

7

D0

Bit 0 de la donnée/commande

8

D1

Bit 1 de la donnée/commande

9

D2

Bit 2 de la donnée/commande

10

D3

Bit 3 de la donnée/commande

11

D4

Bit 4 de la donnée/commande

12

D5

Bit 5 de la donnée/commande

13

D6

Bit 6 de la donnée/commande

14

D7

Bit 7 de la donnée/commande

15

A

Anode (+) du rétro-éclairage

16

K

Cathode (-) du rétro-éclairage

5.2.6. Buzzer

Un buzzer ou un bipeur est un élément électromécanique ou piézoélectrique qui produit un son caractéristique quand on lui applique une tension : le bip. Certains nécessitent une tension continue, d'autres nécessitent une tension alternative.

Figure 4.2-11 buzzer

5.2.7. Clavier matriciel 4*4

Afin d'assurer l'accès sécurisé à l`habitat, on a pensé à introduire dans notre système de commande, unsous-système permettant à l'utilisateur d'accéder chez lui tout en introduisant un code sécurisé.Pour cela on a besoin d'un clavier matriciel pour entrer le mot de passe d'ouverture de la porte.

a. Principe du clavier matriciel

Un clavier matriciel (dans notre cas 16 touches) dispose uniquement de 8 broches pour la gestion deses touches. L'organisation est de 4 colonnes et 4 lignes.

Figure 4.2-12 clavier matriciel et son schéma de principe

b. Bronchement avec Arduino Uno

Pour le bronchement du clavier matriciel avec la carte Arduino Uno, on a choisi les broches numériques de (D2 à D9) avec (D2 à D5 vers les colonnes et de D6 à D9 vers les lignes) :

Figure 4.2-13 connexion du clavier sur arduinoUno

5.2.8. LEDs

Nous avons utilisé les LEDs entant que lampes.Une diode électroluminescente (DEL, en anglais : Light-Emitting Diode LED), est un composant optoélectronique émettant de la lumière lorsqu'il est parcouru par un courant électrique dans le sens direct. Une LED est donc une diode qui émet de la lumière. Comme toute diode elle comporte une anode (borne +) qui est la patte la plus longue et une cathode (borne -) qui est la patte la plus courte. Il en existe de plusieurs types de couleur: rouge, jaune, orange, banche, bleu, verte, ...

Figure 4.2-14 types de led

Pour qu'une LED s'allume il faut obligatoirement relier sa patte négative à la borne négative de l'alimentation et sa patte positive à la borne positive de l'alimentation. Si la LED est branchée à l'envers elle ne s'allumera pas (le courant ne la traversera pas).

De plus elle ne doit pas être traversée par un courant trop fort, c'est pour cela qu'il est indispensable de brancher une résistance en série avec la LED. On notera qu'une résistance n'a pas de sens de branchement.

5.2.9. Point d'accès

Pour se connecter au réseau local du système domotique via le module Ethernet Shield HunRun, on a besoin d'une passerelle pour que l'utilisateur puisse accéderà l'application de commande.

Figure 4.2-15 point d'accès TP-Link.

Caractéristiques

· Borne d'accès sans fil

· Débit de transfert de données :300 Mb/s

· Bande de fréquence :2.4 GHz

· Normes de conformité: IEEE 802.11b, IEEE 802.11g, IEEE 802.11n

· Nombre d'antennes : 2.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"