espace_public:arduino_capteur_temp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
espace_public:arduino_capteur_temp [2020/08/19 15:43]
loickk [Installation de la librairie]
espace_public:arduino_capteur_temp [2021/03/10 18:06]
loickk supprimée
Ligne 2: Ligne 2:
  
 Dans le cadre de la construction du chauffage solaire aérothermique,​ un capteur de température et d'​humidité est utilisé pour [[espace_public:​electronique|piloter de manière électronique la ventilation de l'air dans le panneau]]. Dans le cadre de la construction du chauffage solaire aérothermique,​ un capteur de température et d'​humidité est utilisé pour [[espace_public:​electronique|piloter de manière électronique la ventilation de l'air dans le panneau]].
 +{{ :​espace_public:​photo_temp.jpg?​600 |}}
 ===== Fonctionnement du capteur ===== ===== Fonctionnement du capteur =====
  
-Nous allons ici utiliser un capteur de température DHT11(([[https://​www.velleman.eu/​downloads/​29/​vma311_a4v01.pdf|Notice d'​utilisation du capteur de température et d'​humidité DHT 11 de Velleman VMA311]])). Ce offre un bon rapport qualité-performance et est calibrée pour fonctionner sur une carte arduino car son alimentation est en 5V. Sa plage de température est d'​environ 0 à 50°C avec une erreur de +/-2°C. La plage de mesure de l'​humidité relative est de 20 à 90% avec une erreur de +/-5%. Il existe un modèle plus précis : le DHT22. Il est de la même marque mais est deux fois plus cher. Sa plage de mesure de température et d'​humidité s'​étend respectivement à (-40 à 80°C +/-0.5°C) et  à 0 à 100% HR (±2%)+Nous allons ici utiliser un capteur de température DHT11(([[https://​www.velleman.eu/​downloads/​29/​vma311_a4v01.pdf|Notice d'​utilisation du capteur de température et d'​humidité DHT 11 de Velleman VMA311]])). Ce offre un bon rapport qualité-performance et est calibrée pour fonctionner sur une carte arduino car **son alimentation est en 5V**Attention à ne pas alimenter ce capteur avec une tension d'​alimentation de 12V qui détériorerait le capteur. 
 + 
 +Sa plage de température est d'​environ 0 à 50°C avec une erreur de +/-2°C. La plage de mesure de l'​humidité relative est de 20 à 90% avec une erreur de +/-5%. Il existe un modèle plus précis : le DHT22. Il est de la même marque mais est deux fois plus cher. Sa plage de mesure de température et d'​humidité s'​étend respectivement à (-40 à 80°C +/-0.5°C) et  à 0 à 100% HR (±2%)
  
 {{ :​espace_public:​dht11.jpg?​400 |}} {{ :​espace_public:​dht11.jpg?​400 |}}
Ligne 30: Ligne 32:
 ==== Preambule du code ==== ==== Preambule du code ====
  
 +Ouverture de la librairie utilisée. Celle-ci comporte des commandes déjà configurées. La commande #include permet de charger la librairie dont le nom est compris entre les symboles <>
    #​include <​DHT.h>​    #​include <​DHT.h>​
 +Déclaration du nom attribué au port de lecture numéro 7. Ici, le nom utilisé est DHTPIN_1 mais on aurait pu utiliser toto ou n'​importe quoi d'​autre tant que l'​ensemble du code est cohérent.
    #​define DHTPIN_1 7    #​define DHTPIN_1 7
 +Définition du type de capteur utilisé. Ici c'est un capteur DHT11 mais l'on aurait pu utiliser un capteur DHT22.
    #​define DHTTYPE DHT11    #​define DHTTYPE DHT11
 +Commande qui attribue au nom dht_1 un capteur DHT de type DHTTYPE et branché sur le port DHTPIN_1.
    DHT dht_1(DHTPIN_1,​ DHTTYPE);    DHT dht_1(DHTPIN_1,​ DHTTYPE);
  
-  ​* La première ligne permet d'​appeler ​la librairie qui sera utiliséeCelle-ci comporte des commandes déjà configuréesLa commande #include permet ​de charger ​la librairie dont le nom est compris entre les symboles <> +==== Initialisation ==== 
-  * La seconde ligne déclare le nom attribué au port de lecture numéro 7Ici, le nom utilisé est DHTPIN_1 mais on aurait pu utiliser toto ou n'​importe quoi d'autre tant que l'ensemble du code est cohérent. +   ​void setup()  
-  * La troisième ligne définit ​le type de capteur ​utiliséIci c'est un capteur DHT11 mais l'on aurait pu utiliser un capteur DHT22+      { 
-  Enfin la quatrième ligne est une commande. ​Elle attribue au nom dht_1 un capteur DHT de type DHTTYPE et branché sur le port DHTPIN_1.+Définition du débit de données avec la commande Serial.begin en bits par seconde à une valeur de 9600 bits par secondes     
 +      Serial.begin(9600);​ 
 +Démarrage du capteur ​de température avec la commande dht_1.begin(). 
 +      dht_1.begin(); 
 +      } 
 + 
 +==== Boucle infinie ==== 
 +   void loop()  
 +      { 
 +Création ​d'une nouvelle variable nommée h_1 de type float (variable réelle avec une réelle dite flottante) et attribution de la valeur de l'humidité lue par le capteur ​avec la commande dht_1.readHumidity() ​  
 +     // Capteur #1 
 +     float h_1 = dht_1.readHumidity();​ 
 +Création d'une variable t_1 qui lit la température avec la commande dht_1.readTemperature();​ 
 +     float t_1 = dht_1.readTemperature();​ 
 +Affichage des valeurs dans la console avec la commande Serial.print 
 +Affichage du texte avec des apostrophes ("​Comme ceci") pour afficher ​**Comme ceci** dans la console. 
 +Affichage de la valeur des variables **t_1** et **h_1** avec les commandes Serial.print(t_1) et Serial.print(h_1) 
 +     ​Serial.print("​ Humidity #1: ");  
 +     ​Serial.print(h_1);​ 
 +     ​Serial.print("​ %\t"​);​ 
 +     ​Serial.print("​Temperature #1: ");  
 +     ​Serial.print(t_1);​ 
 +Pour sauter ​une ligne à la fin de la ligne utiliser la commande ​Serial.println à la place de Serial.print 
 +     ​Serial.println("​ *C "); 
 +La commande delay permet de définir ​un laps de temps de pause permettant de définir la fréquence de mesure entre deux mesuresIci nous utilisons 1000ms soit 1seconde. 
 +     ​delay(1000);​ 
 +  } 
 + 
 + 
 + 
 + 
 + 
  
-==== Setup ==== 
-   void setup() { 
-   ​Serial.begin(9600);​ 
-   ​dht_1.begin();​ 
-   } 
  
-  * La commande Serial.begin définit le débit de données en bits par seconde. Ici, nous utilisons un débit de 9600 bits par secondes. 
-  * La commande dht_1.begin() démarre le capteur de température 
  
-==== Boucle ​==== +===== Exécution du code ===== 
-   void loop() { +  ​* Vérifier/​Compiler le code 
-    +  ​* Téléverser le code 
-  // Capteur #1 +  * Afficher les mesures de température dans le Moniteur Série
-  float h_1 dht_1.readHumidity();​ +
-  float t_1 dht_1.readTemperature();​ +
-   +
-  ​Serial.print("​ Humidity #1: "​); ​ +
-  ​Serial.print(h_1);​ +
-  Serial.print("​ %\t"​);​ +
-  Serial.print("​Temperature #1: ");  +
-  Serial.print(t_1);​ +
-  Serial.println(" ​*C "); +
-  delay(1000);​ +
-}+
  
-  * On crée une nouvelle variable nommée h_1 de type float (variable réelle avec une réelle dite flottante). On attribue la valeur de l'​humidité lue par le capteur avec la commande dht_1.readHumidity() +{{ :​espace_public:​t_h.png?1000 |}}
-  * De même, on crée une variable t_1 qui lit la température avec la commande dht_1.readTemperature();​ +
-  * La commande Serial.print permet d'​afficher des valeurs dans la console.  +
-  * Pour afficher du texte, on utilise les apostrophes ("​Comme ceci") pour afficher **Comme ceci** dans la console. +
-  * Pour afficher la valeur des variables **t_1** et **h_1**, utiliser les commandes Serial.print(t_1) et Serial.print(h_1) +
-  * Pour sauter une ligne à la fin de la ligne utiliser la commande Serial.println à la place de Serial.print +
-  * La commande delay permet de définir un laps de temps de pause permettant de définir la fréquence de mesure entre deux mesures. Ici nous utilisons 1000ms soit 1seconde.+
  
 +Etape suivante: [[espace_public:​arduino_ventilateur|Régulation d'un ventilateur 12 volts avec une carte Arduino]]