Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Ce blog montrera comment créer un système domotique qui déclenchera une alarme chaque fois que la température dépasse la valeur seuil programmée. Il continuera d'afficher la température actuelle de la pièce sur l'écran LCD et l'action nécessaire (Ex: Diminuer la température) lorsque la température atteint plus que la valeur seuil. Dans ce tutoriel, j'utilise le capteur de température AD22100 fabriqué par Analog Devices et AG-1005G Buzzer. AD22100 est un capteur de température de sortie de tension avec conditionnement de signal
Étape 1: Pièces
Vous avez besoin de ces pièces avec vous avant de commencer à travailler avec cet indestructible
1. Carte Arduino UNO
2. Écran LCD (16x2)
3. Avertisseur sonore - 2 broches (AC-1005G)
4. Capteur de température - 3 broches (AD22100)
Étape 2: Connexion des différentes pièces avec Arduino UNO
Connexion LCD avec carte Arduino UNO
Broche LCD RS (broche 4) avec broche 7 de la carte Arduino
Broche d'activation de l'écran LCD (broche 6) avec la broche 8 de la carte Arduino
Broche LCD D4 (broche 11) avec broche 9 de la carte Arduino
Broche LCD D5 (broche 12) avec broche 10 de la carte Arduino
Broche LCD D6 (broche 13) avec broche 11 de la carte Arduino
Broche LCD D7 (broche 14) avec broche 12 de la carte Arduino
Ajoutez un Pot 10 KΩ à +5v (Pot Pin 1) et GND (Pot Pin 3), Connectez la broche centrale du pot (broche du pot 2) à la broche LCD V0 (broche 3).
Broche LCD VDD (broche 2) et broche LCD A (broche 15) avec +5v sur la carte Arduino.
Broche LCD VSS (broche 1) et broche LCD K (broche 16) avec GND sur la carte Arduino.
Connexion du capteur de température AD22100 avec la carte Arduino UNO
La broche 1 (V+) de l'AD22100 doit être connectée à +5 v sur la carte Arduino.
La broche 2 (Vo) de l'AD22100 doit être connectée à la broche A1 sur la carte Arduino.
La broche 3 (GND) de l'AD22100 doit être connectée à GND sur la carte Arduino
Connexion du buzzer (AC-1005G) avec la carte Arduino UNO
La sortie PWM de la broche 6 de la carte Arduino doit être connectée à l'entrée + ve du buzzer.
GND de la carte Arduino doit être connecté à l'entrée -ve du buzzer
Étape 3: Codes Arduino
Compilez-le et téléchargez-le sur la carte Arduino et observez la démonstration du système domotique
//Le programme commence ici
valeur int;
int tempPin = A1;
int buzzer = 6;
#inclure LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
void setup() {
// mettez votre code de configuration ici, à exécuter une fois:
lcd.begin (16, 2);
lcd.clear();
Serial.begin(9600);
pinMode(buzzer, SORTIE);
}
void loop() {// mettez votre code principal ici, à exécuter à plusieurs reprises:
val = analogRead(tempPin);//AD22100 est connecté à la broche A1
/*
*Pour 25C, val vient comme 900 cela signifie
* 900 correspond à 1.9375 v
* La fonction de transfert est (V+/5)*(1.375 + 22.5 mv/degC * 25 degC), * Lire la fiche technique de l'AD22100
*/
float cel = ((((1,9375/900) * val) – 1,375)/22,5)*1000;
float farh = (cel*9)/5 + 32;
Serial.print(val);
Serial.println();
Serial.print("TEMPRATURE = ");
Serial.print(cel);Serial.print(“*C”);
Serial.println();
si (cel > 26){
tonalité (buzzer, 1000);
lcd.clear();
lcd.print ("Temp au-dessus du seuil");
lcd.setCursor(0, 1);
lcd.print("Diminuer la température");
}
autre
{pas de tonalité (buzzer);
lcd.clear();
lcd.print("Temps sous contrôle");
lcd.setCursor(0, 1);
lcd.print("Temp= ");
lcd.print(cel);
lcd.print("degC");
}
retard (500);
}
//Le programme se termine ici
Étape 4: Comprendre le programme en détail
Je vais essayer d'expliquer quelques sections du code.
Fonctions liées à l'instruction If/else
Si la température est supérieure à la valeur seuil, j'envoie un signal au buzzer pour déclencher une alarme et j'affiche sur l'écran LCD pour diminuer la température avec la section ci-dessous du code
si (cel > 26)
{tone(sonnerie, 1000);
lcd.clear();
lcd.print ("Temp au-dessus du seuil");
lcd.setCursor(0, 1);
lcd.print("Diminuer la température");
}
Sinon, envoyer la valeur actuelle de la température à l'écran LCD et afficher cette température est sous contrôle.
autre
{pas de tonalité(buzzer);
lcd.clear();
lcd.print("Temps sous contrôle");
lcd.setCursor(0, 1);
lcd.print("Temp= ");
lcd.print(cel);
lcd.print("degC");
}
Fonctions liées au buzzer
tonalité (buzzer, 1000) - cette fonction enverra un signal de 1 khz à la broche nommée buzzer qui est définie comme la broche 6 et le buzzer magnétique est connecté à la broche 6.noTone (buzzer) - arrêtera d'envoyer un signal de 1 khz. Par conséquent, la sonnerie s'arrêtera
Fonctions liées au capteur de température
La conversion de la valeur analogique de la lecture de la température en valeur deg C est effectuée à l'aide d'une fonction de transfert qui peut être trouvée dans la fiche technique AD22100 comme indiqué ci-dessous.
Vout = (V+/5 V) × (1,375 V + 22,5 mV/°C × TA) et la même valeur est imprimée sur l'écran LCD.
Étape 5: Démo des Instructables
Une fois le programme compilé et téléchargé sur la carte Arduino UNO
essayons d'augmenter la température détectée par le capteur de température AD22100 et profitons du système domotique.
Pour augmenter la température du capteur, je le touche avec du fer à souder disponible en laboratoire.
Vous pouvez consulter la démo ici..
Démo du système domotique