Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu blogda uydagi avtomatlashtirish tizimini qanday qilish kerakligi ko'rsatiladi, u harorat dasturlashtirilgan chegara qiymatidan oshganda signal berishni boshlaydi. LCD displeyda xonaning hozirgi harorati va harorati kerakli qiymatdan oshib ketganda (masalan, haroratni pasaytirish) ko'rsatiladi. Ushbu qo'llanmada men Analog Devices va AG-1005G Buzzer tomonidan ishlab chiqarilgan AD22100 harorat sensori ishlataman. AD22100 - bu signal konditsioneriga ega kuchlanishning chiqish harorati sensori
1 -qadam: qismlar
Bu buzilmaydigan ishni boshlashdan oldin siz bilan birga bu qismlar kerak bo'ladi
1. Arduino UNO kengashi
2. LCD displey (16x2)
3. Buzzer - 2 pinli (AC -1005G)
4. Harorat sensori - 3 pinli (AD22100)
2 -qadam: Arduino UNO bilan turli qismlarning ulanishi
LCD ulanish Arduino UNO platasi bilan
LCD RS pin (4 -pin) Arduino kartasining 7 -pinli
LCD Arduino kartasining 8 -pinli pinni (6 -pin) yoqish
LCD D4 pinli (Pin 11) Arduino kartasining 9 -pinli
LCD D5 pin (12 -pin) Arduino kartasining 10 -pinli
LCD D6 pin (13 -pin) Arduino kartasining 11 -pinli
LCD D7 pin (14 -pin) Arduino kartasining 12 -pinli
10 KΩ potni +5v (Pot 1 -pin) va GND (Pot 3 -pin) ga qo'shing, O'rta pinli qozonni (2 -gachasi pin) LCD V0 piniga (3 -pin) ulang.
LCD VDD pimi (2 -pin) va Arduino kartasida +5v bo'lgan A pinli pin (15 -pin).
LCD VSS pin (1 -pin) va LCD K pin (16 -pin) Arduino kartasida GND bilan.
AD22100 Arduino UNO kengashi bilan harorat sensori ulanishi
AD22100 1 -pin (V +) Arduino platasidagi +5 v ga ulangan bo'lishi kerak.
AD22100 ning 2 -pin (ovozi) Arduino kartasidagi A1 piniga ulangan bo'lishi kerak.
AD22100 ning 3 -pin (GND) Arduino kartasidagi GND ga ulangan bo'lishi kerak
Buzzer (AC-1005G) Arduino UNO kengashi bilan aloqa
Arduino kartasining 6 -pinli PWM chiqishi Buzzer -ning +va kirishiga ulangan bo'lishi kerak.
Arduino Board GND Buzzer -ve kiritishiga ulanishi kerak
3 -qadam: Arduino kodlari
Uni kompilyatsiya qiling va Arduino doskasiga yuklang va Uy avtomatlashtirish tizimining demosini ko'ring
// Dastur shu erda boshlanadi
int val;
int tempPin = A1;
int buzzer = 6;
#clude LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
bo'sh o'rnatish () {
// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying:
lcd.begin (16, 2);
lcd.clear ();
Serial.begin (9600);
pinMode (signal, OUTPUT);
}
void loop () {// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying:
val = analogRead (tempPin); // AD22100 A1 piniga ulangan
/*
*25C uchun val 900 degan ma'noni anglatadi
* 900 1.9375 v ga to'g'ri keladi
* O'tkazish funktsiyasi (V +/5) * (1.375 + 22.5 mv/degC * 25 gradus), * AD22100 ma'lumotlar jadvalini o'qing
*/
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 ();
agar (cel> 26) {
ohang (signal, 1000);
lcd.clear ();
lcd.print ("Harorat chegaradan yuqori");
lcd.setCursor (0, 1);
lcd.print ("Haroratni pasaytirish");
}
boshqa
{noTone (ovozli signal);
lcd.clear ();
lcd.print ("Harorat nazorat ostida");
lcd.setCursor (0, 1);
lcd.print ("Harorat =");
lcd.print (cel);
lcd.print ("degC");
}
kechikish (500);
}
// Dastur shu erda tugaydi
4 -qadam: Dasturni batafsil tushunish
Kodning bir nechta qismini tushuntirishga harakat qilaman.
If/else bayonoti bilan bog'liq funktsiyalar
Agar harorat chegara qiymatidan yuqori bo'lsa, men signalni signal berish uchun signalni yuboraman va kodning past qismida haroratni pasaytirish uchun LCD displeyda ko'rsataman.
agar (cel> 26)
{ohang (signal, 1000);
lcd.clear ();
lcd.print ("Harorat chegaradan yuqori");
lcd.setCursor (0, 1);
lcd.print ("Haroratni pasaytirish");
}
Agar shunday bo'lmasa, haroratning joriy qiymatini LCD -ga yuborish va uning haroratini ko'rsatish nazorat ostida.
boshqa
{noTone (ovozli signal);
lcd.clear ();
lcd.print ("Harorat nazorat ostida");
lcd.setCursor (0, 1);
lcd.print ("Harorat =");
lcd.print (cel);
lcd.print ("degC");
}
Buzzer bilan bog'liq funktsiyalar
ohang (buzzer, 1000) - bu funksiya 1 gigagertsli signalni yuboradi, u 6 -pin bilan belgilanadi va magnitli signal 6 -pinga ulanadi. Shunday qilib, qo'ng'iroq to'xtaydi
Harorat sensori bilan bog'liq funktsiyalar
Vaqtinchalik o'qishning analog qiymatini gradus C qiymatiga o'tkazish, uzatish funktsiyasi yordamida amalga oshiriladi, uni AD22100 ma'lumotlar jadvalida quyida yozish mumkin.
Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) va xuddi shu qiymat LCD displeyda bosiladi.
5 -qadam: Ko'rsatmalar ro'yxati
Dastur tuzilgach va Arduino UNO doskasiga yuklanadi
Keling, AD22100 harorat sensori orqali seziladigan haroratni oshirishga va uy avtomatlashtirish tizimidan bahramand bo'lishga harakat qilaylik.
Sensor haroratini oshirish uchun men uni laboratoriyada mavjud bo'lgan lehimli temir bilan tegizaman.
Demoni bu erda ko'rishingiz mumkin..
Uy avtomatlashtirish tizimining namoyishi