Агуулгын хүснэгт:

Гэрийн автоматжуулалт: Температур нь босго утгаас дээгүүр байх үед дохиолол, дэлгэцийг LCD дэлгэц дээр харуулна: 5 алхам
Гэрийн автоматжуулалт: Температур нь босго утгаас дээгүүр байх үед дохиолол, дэлгэцийг LCD дэлгэц дээр харуулна: 5 алхам

Видео: Гэрийн автоматжуулалт: Температур нь босго утгаас дээгүүр байх үед дохиолол, дэлгэцийг LCD дэлгэц дээр харуулна: 5 алхам

Видео: Гэрийн автоматжуулалт: Температур нь босго утгаас дээгүүр байх үед дохиолол, дэлгэцийг LCD дэлгэц дээр харуулна: 5 алхам
Видео: DS18B20 Температура ESP8266 ESP 01 WIFI-модуль | ESP-01 Домашняя автоматизация | УдаленныйXY |ФЛПрог 2024, Арваннэгдүгээр
Anonim
Гэрийн автоматжуулалт: Температур нь босго утгаас дээгүүр байх үед дохиолол өгч, LCD дэлгэц дээр харуулна
Гэрийн автоматжуулалт: Температур нь босго утгаас дээгүүр байх үед дохиолол өгч, LCD дэлгэц дээр харуулна

Энэхүү блог нь гэрийн автоматжуулалтын системийг хэрхэн яаж хийхийг харуулах бөгөөд температур нь програмчлагдсан босго утгаас хэтэрсэн үед дохиолол өгч эхэлдэг. Энэ нь өрөөний одоогийн температурыг LCD дээр харуулах бөгөөд температур нь босго утгаас хэтэрсэн үед шаардлагатай арга хэмжээг (жишээлбэл: Температурыг бууруулах) харуулна. Энэхүү гарын авлагад би Analog Devices болон AG-1005G Buzzer-ийн үйлдвэрлэсэн AD22100 температур мэдрэгчийг ашиглаж байна. AD22100 бол дохио тохируулагчтай хүчдэлийн гаралтын температур мэдрэгч юм

Алхам 1: эд анги

Энэхүү үл эвдэх ажлыг эхлүүлэхийн өмнө танд эдгээр хэсгүүд хэрэгтэй болно

1. Arduino UNO -ийн удирдах зөвлөл

2. LCD дэлгэц (16x2)

3. Дуугар - 2 зүү (AC -1005G)

4. Температур мэдрэгч - 3 зүү (AD22100)

Алхам 2: Өөр өөр хэсгүүдийг Arduino UNO -той холбох

Arduino UNO самбар бүхий LCD холболт

LCD RS Pin (Pin 4) нь Arduino хавтангийн 7 -р зүүтэй

LCD нь Pin (6 -р зүү) -ийг Arduino хавтангийн 8 -р зүүгээр идэвхжүүлнэ

LCD D4 зүү (Pin 11) нь Arduino хавтангийн 9 -р зүүтэй

LCD D5 зүү (12 -р зүү) нь Arduino хавтангийн 10 -р зүүтэй

LCD D6 зүү (Pin 13) нь Arduino хавтангийн 11 -р зүүтэй

LCD D7 зүү (14 -р зүү) нь Arduino хавтангийн 12 -р зүүтэй

10 KΩ савыг +5v (Pot Pin 1) ба GND (Pot Pin 3) дээр нэмж, Дундаж зүү (Pot Pin 2) -ийг LCD V0 Pin (Pin 3) руу холбоно уу.

LCD VDD Pin (Pin 2) ба LCD A Pin (Pin 15) нь Arduino самбар дээрх +5v.

LCD VSS зүү (Pin 1) ба LCD K зүү (Pin 16) нь Arduino самбар дээр GND -тэй.

AD22100 Температур мэдрэгчийн холболт Arduino UNO зөвлөлтэй

AD22100 -ийн 1 -р зүү (V +) нь Arduino самбар дээрх +5 v -тэй холбогдсон байх ёстой.

AD22100 -ийн 2 -р зүү (Vo) нь Arduino самбар дээрх A1 зүүтэй холбогдсон байх ёстой.

AD22100 -ийн 3 -р зүү (GND) нь Arduino самбар дээрх GND -тэй холбогдсон байх ёстой

Buzzer (AC-1005G) Arduino UNO зөвлөлтэй холбох

Arduino хавтангийн 6 -р ХОУХ -ны гаралтыг Buzzer -ийн +ve оролтод холбох ёстой.

Arduino Board -ийн GND нь Buzzer -ve оролттой холбогдсон байх ёстой

Алхам 3: Arduino кодууд

Үүнийг эмхэтгээд Arduino Board дээр байршуулаад гэрийн автоматжуулалтын системийн демог үзээрэй

// Хөтөлбөр эндээс эхэлнэ

int val;

int tempPin = A1;

int buzzer = 6;

#LiquidCrystal lcd (7, 8, 9, 10, 11, 12) оруулах;

хүчингүй тохиргоо () {

// нэг удаа ажиллуулахын тулд тохиргооны кодоо энд оруулна уу.

lcd.begin (16, 2);

lcd.clear ();

Цуваа эхлэх (9600);

pinMode (дуугаралт, гаралт);

}

void loop () {// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу.

val = analogRead (tempPin); // AD22100 нь A1 Pin дээр холбогдсон байна

/*

*25С -ийн хувьд val нь 900 гэсэн утгатай ирдэг

* 900 нь 1.9375 v -тэй тохирч байна

* Дамжуулах функц нь (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * AD22100 мэдээллийн хуудсыг уншина уу

*/

float cel = (((((1.9375/900) * val) - 1.375) /22.5) * 1000;

float farh = (cel*9)/5 + 32;

Цуваа.хэвлэх (үнэ);

Serial.println ();

Serial.print ("TEMPRATURE =");

Serial.print (cel); Serial.print (“*C”);

Serial.println ();

хэрэв (cel> 26) {

ая (дуугаралт, 1000);

lcd.clear ();

lcd.print ("Босго давсан температур");

lcd.setCursor (0, 1);

lcd.print ("Температурыг бууруулах");

}

өөр

{noTone (дуугаралт);

lcd.clear ();

lcd.print ("Температур хяналтанд байна");

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.хэвлэх (cel);

lcd.print ("degC");

}

саатал (500);

}

// Хөтөлбөр энд дуусна

Алхам 4: Хөтөлбөрийг нарийвчлан ойлгох

Би кодын цөөн хэсгийг тайлбарлахыг хичээх болно.

If/else мэдэгдэлтэй холбоотой функцууд

Хэрэв температур нь босго утгаас их байвал би дохиолол өгч дохиолол өгч, кодын доорх хэсэгт температурыг бууруулахын тулд LCD дэлгэц дээр харуулна.

хэрэв (cel> 26)

{ая (дуугаралт, 1000);

lcd.clear ();

lcd.print ("Босго давсан температур");

lcd.setCursor (0, 1);

lcd.print ("Температурыг бууруулах");

}

Хэрэв тийм биш бол температурын одоогийн утгыг LCD дэлгэц рүү илгээж, температурыг харуулах болно.

өөр

{noTone (дуугаралт);

lcd.clear ();

lcd.print ("Температур хяналтанд байна");

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.хэвлэх (cel);

lcd.print ("degC");

}

Buzzer -тэй холбоотой функцууд

ая (дуугаралт, 1000) - энэ функц нь 1 кГц дохиог Pin 6 гэж тодорхойлсон дуут дохио руу илгээдэг бөгөөд 6 дугаар зүү дээр соронзон дохио холбогдсон байдаг. Тиймээс дуугаралт зогсох болно

Температур мэдрэгчтэй холбоотой функцууд

Температурын уншилтын аналог утгыг градус C болгон хөрвүүлэх ажлыг AD22100 мэдээллийн хүснэгтээс доор бичсэнийг олж мэдэх боломжтой дамжуулах функцийг ашиглан гүйцэтгэнэ.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) ба ижил утгыг LCD дэлгэц дээр хэвлэнэ.

Алхам 5: Зааварчилгааны жагсаалт

Хөтөлбөрийг нэгтгэн Arduino UNO -ийн самбар дээр байршуулсны дараа

AD22100 температур мэдрэгчийн мэдрэх температурыг нэмэгдүүлэхийг оролдож, гэрийн автоматжуулалтын системийг эдлээрэй.

Мэдрэгчийн температурыг нэмэгдүүлэхийн тулд би лабораторид байгаа гагнуурын төмрөөр хүрч байна.

Та эндээс демо үзэх боломжтой.

Гэрийн автоматжуулалтын системийн демо

Зөвлөмж болгож буй: