Contrôle de la température Arduino
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Applications et services en ligne
|
À propos de ce projet
Le projet
Nous voulons montrer le fonctionnement d'un système de contrôle de température utilisant l'hystérésis.
Composants
Les composants que nous avons utilisés étaient les suivants :
Contrôle de la température
Le projet fait un contrôle de température, nous modélisons la situation suivante :
Le système démarre et affiche la température, si la température atteint 25 degrés, alors la led verte s'active et la pièce commence à refroidir jusqu'à ce que la température descende à 23 degrés, le climatiseur s'éteint (led rouge) jusqu'à ce que la température remonte.
Et enfin nous avons une vidéo où vous pouvez voir le fonctionnement :
Code
- Contrôle de la température
Contrôle de la températureArduino
/*Par Alexis Santiago Allende *//*Dernière mise à jour :12/03/2017*/#include "DHT.h"//DHT sensor Library#include//LCD Library #define DHTPIN 12 //Définir la broche du capteur (broche 12)#define DHTTYPE DHT22 //Quel capteur utiliseDHT dht(DHTPIN, DHTTYPE); //Créer l'objet capteurLiquidCrystal lcd (8, 9, 4, 5, 6, 7); //Créer l'objet lcd en utilisant ces broches 8,9,4,6,7boolean a=LOW,b=HIGH;float h=0,t=0;const int ledPin =3; // Broches LED pour le contrôle de la température const int ledPin2 =2;long previousMillis =0;long interval =2000; //Lire le capteur toutes les 2 secondesvoid setup() {lcd.begin(16, 2); //Démarrer lcd lcd.setCursor(0,0); //Définir en position 0,0// définir la broche numérique comme sortie:pinMode(ledPin, OUTPUT);//Changer pour sortir mon pinspinMode(ledPin2, OUTPUT);dht.begin();//Démarrer DHT22 sensordigitalWrite(ledPin2 ,LOW);//Désactiver LEDdigitalWrite(ledPin,LOW);//Désactiver LEDlcd.print("Tempera:");// imprimer sur lcd ce mot lcd.setCursor(0,1) ;//Modifier la position du curseurlcd .print("Humedad:");// imprimer sur lcd ce mot }boucle vide (){ non signé long currentMillis =millis();//temps écoulé if(currentMillis - previousMillis> intervalle) //Comparaison entre le temps écoulé et l'heure à laquelle l'action doit être exécutée { previousMillis =currentMillis ; //"La dernière fois, c'est maintenant" h =dht.readHumidity();//valeur d'humidité t =dht.readTemperature();//valeur de température centigrades si vous voulez changer farenheit en //t =dht.readTemperature(true); //Ci-dessous est pour les capteurs de données d'impression dans lcd lcd.setCursor(10,0); lcd.print(t); lcd.setCursor(10,1) ; lcd.print(h); if(t>=25 &&a==LOW)//si température supérieure à 25 degrés { digitalWrite(ledPin,HIGH);//Climatiseur actif digitalWrite(ledPin2,LOW); a=ÉLEVÉ ; b=FAIBLE ; } else if(t<=23&&b==LOW)//si la température est inférieure à 23 degrés { digitalWrite(ledPin2,HIGH); digitalWrite (ledPin, LOW); // Éteindre le climatiseur a =LOW; b=ÉLEVÉ ; } }}
Schémas
Processus de fabrication