Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Acest blog vă va arăta cum să creați un sistem de automatizare la domiciliu care va începe să sune o alarmă ori de câte ori temperatura depășește valoarea pragului programat. Se va afișa în continuare temperatura curentă a camerei pe ecranul LCD și acțiunea necesară (de exemplu: Scăderea temperaturii) atunci când temperatura depășește valoarea pragului. În acest tutorial, folosesc senzorul de temperatură AD22100, care este fabricat de Analog Devices și AG-1005G Buzzer. AD22100 este un senzor de temperatură de ieșire de tensiune cu condiționare a semnalului
Pasul 1: Piese
Aveți nevoie de aceste piese cu voi înainte de a începe acest lucru indestructibil
1. Consiliul UN Arduino
2. Afișaj LCD (16x2)
3. Buzzer - 2 pini (AC-1005G)
4. Senzor de temperatură - 3 pini (AD22100)
Pasul 2: Conectarea diferitelor părți cu Arduino UNO
Conexiune LCD cu placa Arduino UNO
Pin LCD RS (pinul 4) cu pinul 7 al plăcii Arduino
Pin activare LCD (Pin 6) cu Pin 8 de pe placa Arduino
Pin LCD D4 (Pin 11) cu Pin 9 de pe placa Arduino
Pin LCD D5 (Pin 12) cu Pin 10 al plăcii Arduino
Pin LCD D6 (Pin 13) cu Pin 11 al plăcii Arduino
Pin LCD D7 (Pin 14) cu Pin 12 de pe placa Arduino
Adăugați un Pot de 10 KΩ la + 5v (Pot Pin 1) și GND (Pot Pin 3), Conectați pinul central al potului (pinul 2) la pinul LCD V0 (pinul 3).
Pin VDD LCD (Pin 2) și Pin LCD A (Pin 15) cu + 5v pe placa Arduino.
Pin LCD VSS (Pin 1) și Pin LCD K (Pin 16) cu GND pe placa Arduino.
Conexiune senzor de temperatură AD22100 cu placa Arduino UNO
Pinul 1 (V +) al AD22100 ar trebui să fie conectat la +5 v pe placa Arduino.
Pinul 2 (Vo) al AD22100 ar trebui să fie conectat la pinul A1 de pe placa Arduino.
Pinul 3 (GND) al AD22100 ar trebui să fie conectat la GND pe placa Arduino
Buzzer (AC-1005G) Conexiune cu placa Arduino UNO
Ieșirea Pin 6 PWM a plăcii Arduino ar trebui să fie conectată la + ve intrarea Buzzer.
GND al plăcii Arduino ar trebui să fie conectat cu intrarea -ve a buzzerului
Pasul 3: Coduri Arduino
Compilați-l și încărcați-l pe placa Arduino și observați demo-ul sistemului de automatizare la domiciliu
// Programul începe aici
int val;
int tempPin = A1;
int buzzer = 6;
#include LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
configurare nulă () {
// puneți codul de configurare aici, pentru a rula o dată:
lcd.inceput (16, 2);
lcd.clear ();
Serial.begin (9600);
pinMode (buzzer, OUTPUT);
}
void loop () {// puneți codul principal aici, pentru a rula în mod repetat:
val = analogRead (tempPin); // AD22100 este conectat la pinul A1
/*
* Pentru 25C, val vine ca 900, ceea ce înseamnă
* 900 corespunde cu 1,9375 v
* Funcția de transfer este (V + / 5) * (1,375 + 22,5 mv / degC * 25 degC), * Citiți foaia de date a 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 („TEMPRATURA =“);
Serial.print (cel); Serial.print („* C”);
Serial.println ();
if (cel> 26) {
ton (buzzer, 1000);
lcd.clear ();
lcd.print („Temp peste prag”);
lcd.setCursor (0, 1);
lcd.print („Scăderea temperaturii”);
}
altceva
{noTone (buzzer);
lcd.clear ();
lcd.print („Temp sub control”);
lcd.setCursor (0, 1);
lcd.print („Temp =“);
lcd.print (cel);
lcd.print („degC”);
}
întârziere (500);
}
// Programul se încheie aici
Pasul 4: Înțelegerea programului în detaliu
Voi încerca să explic câteva secțiuni din cod.
Funcții legate de declarația If / else
Dacă temperatura este mai mare decât valoarea pragului, trimit un semnal către buzzer pentru a suna o alarmă și se afișează pe LCD pentru a reduce temperatura cu secțiunea de mai jos a codului
dacă (cel> 26)
{ton (buzzer, 1000);
lcd.clear ();
lcd.print („Temp peste prag”);
lcd.setCursor (0, 1);
lcd.print („Scăderea temperaturii”);
}
În caz contrar, trimiterea valorii actuale a temperaturii pe ecranul LCD și afișarea acelei temperaturi sunt în control.
altceva
{noTone (buzzer);
lcd.clear ();
lcd.print („Temp sub control”);
lcd.setCursor (0, 1);
lcd.print („Temp =“);
lcd.print (cel);
lcd.print („degC”);
}
Funcții legate de Buzzer
ton (buzzer, 1000) - această funcție va trimite un semnal de 1 kHz la pinul numit buzzer, care este definit ca Pin 6, iar buzzerul magnetic este conectat la pinul 6.noTone (buzzer) - va înceta să trimită semnal de 1 kHz. Prin urmare, sunetul se va opri
Funcții legate de senzorul de temperatură
Conversia valorii analogice a citirii temp la valoarea deg C se face folosind o funcție de transfer care poate fi aflată în foaia de date AD22100 așa cum este scris mai jos.
Vout = (V + / 5 V) × (1,375 V + 22,5 mV / ° C × TA) și aceeași valoare este imprimată pe afișajul LCD.
Pasul 5: Demo-ul Instructables
Odată ce programul este compilat și încărcat pe placa Arduino UNO
să încercăm să creștem temperatura detectată de senzorul de temperatură AD22100 și să ne bucurăm de sistemul de automatizare la domiciliu.
Pentru creșterea temperaturii senzorului, îl ating cu un fier de lipit disponibil în Lab.
Puteți arunca o privire la demonstrație aici …
Demo de sistem de automatizare la domiciliu