สารบัญ:

ระบบอัตโนมัติภายในบ้าน: ส่งเสียงเตือนและแสดงผลบน LCD เมื่ออุณหภูมิสูงกว่าค่าเกณฑ์: 5 ขั้นตอน
ระบบอัตโนมัติภายในบ้าน: ส่งเสียงเตือนและแสดงผลบน LCD เมื่ออุณหภูมิสูงกว่าค่าเกณฑ์: 5 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติภายในบ้าน: ส่งเสียงเตือนและแสดงผลบน LCD เมื่ออุณหภูมิสูงกว่าค่าเกณฑ์: 5 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติภายในบ้าน: ส่งเสียงเตือนและแสดงผลบน LCD เมื่ออุณหภูมิสูงกว่าค่าเกณฑ์: 5 ขั้นตอน
วีดีโอ: CPE345 | Arduino [ระบบแจ้งเตือนเมื่อมีอุณหภูมิสูง โดยสามารถปรับค่าระดับอุณหภูมิที่จะแจ้งเตือนได้] 2024, พฤศจิกายน
Anonim
ระบบอัตโนมัติภายในบ้าน: ส่งเสียงเตือนและแสดงผลบน LCD เมื่ออุณหภูมิสูงกว่าค่าเกณฑ์
ระบบอัตโนมัติภายในบ้าน: ส่งเสียงเตือนและแสดงผลบน LCD เมื่ออุณหภูมิสูงกว่าค่าเกณฑ์

บล็อกนี้จะสาธิตวิธีการสร้างระบบ Home Automation ซึ่งจะเริ่มส่งเสียงเตือนเมื่อใดก็ตามที่อุณหภูมิสูงกว่าค่าเกณฑ์ที่ตั้งโปรแกรมไว้ มันจะแสดงอุณหภูมิปัจจุบันของห้องบน LCD และการดำเนินการที่จำเป็นต่อไป (เช่น: ลดอุณหภูมิ) เมื่ออุณหภูมิถึงมากกว่าค่าเกณฑ์ ในบทช่วยสอนนี้ ฉันใช้เซ็นเซอร์อุณหภูมิ AD22100 ซึ่งผลิตโดย Analog Devices และ AG-1005G Buzzer AD22100 เป็นเซ็นเซอร์อุณหภูมิแรงดันขาออกพร้อมการปรับสัญญาณ

ขั้นตอนที่ 1: อะไหล่

คุณต้องมีชิ้นส่วนเหล่านี้กับคุณก่อนที่จะเริ่มทำงานที่ไม่สามารถทำลายได้

1. บอร์ด Arduino UNO

2. จอ LCD (16x2)

3. Buzzer - 2 ขา (AC-1005G)

4. เซ็นเซอร์อุณหภูมิ - 3 ขา (AD22100)

ขั้นตอนที่ 2: การเชื่อมต่อชิ้นส่วนต่างๆ ด้วย Arduino UNO

การเชื่อมต่อ LCD กับบอร์ด Arduino UNO

LCD RS Pin (ขา 4) พร้อมขา 7 ของบอร์ด Arduino

LCD เปิดใช้งานพิน (พิน 6) พร้อมพิน 8 ของบอร์ด Arduino

LCD D4 ขา (ขา 11) พร้อมขา 9 ของ Arduino Board

LCD D5 Pin (พิน 12) พร้อม Pin 10 ของ Arduino Board

LCD D6 Pin (Pin 13) พร้อม Pin 11 ของ Arduino Board

ขา LCD D7 (ขา 14) พร้อมขา 12 ของบอร์ด Arduino

เพิ่มหม้อ 10 KΩ เป็น +5v (Pot Pin 1) และ GND (Pot Pin 3)

เชื่อมต่อพินกลางของหม้อ (พินหม้อ 2) เข้ากับพิน LCD V0 (พิน 3)

LCD VDD Pin (พิน 2) และ LCD A Pin (พิน 15) พร้อม +5v บนบอร์ด Arduino

LCD VSS Pin (พิน 1) และ LCD K Pin (พิน 16) พร้อม GND บนบอร์ด Arduino

AD22100 Temp Sensor เชื่อมต่อกับ Arduino UNO Board

Pin 1 (V+) ของ AD22100 ควรเชื่อมต่อกับ +5 v บน Arduino Board

Pin 2 (Vo) ของ AD22100 ควรเชื่อมต่อกับ Pin A1 บน Arduino Board

ขา 3 (GND) ของ AD22100 ควรเชื่อมต่อกับ GND บน Arduino Board

การเชื่อมต่อ Buzzer (AC-1005G) กับ Arduino UNO Board

พิน 6 เอาต์พุต PWM ของบอร์ด Arduino ควรเชื่อมต่อกับอินพุต + ของ Buzzer

GND ของ Arduino Board ควรเชื่อมต่อกับ -ve input ของ Buzzer

ขั้นตอนที่ 3: รหัส Arduino

รวบรวมและอัปโหลดบนบอร์ด Arduino และสังเกตการสาธิตระบบอัตโนมัติภายในบ้าน

//โปรแกรมเริ่มต้นที่นี่

ค่า int;

int tempPin = A1;

ออด int = 6;

#include LiquidCrystal LCD (7, 8, 9, 10, 11, 12);

การตั้งค่าเป็นโมฆะ () {

// ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว:

lcd.begin(16, 2);

lcd.clear();

Serial.begin(9600);

pinMode (ออด, เอาต์พุต);

}

void loop() {// ใส่รหัสหลักของคุณที่นี่เพื่อเรียกใช้ซ้ำ ๆ:

val = analogRead (tempPin); // AD22100 เชื่อมต่อที่ Pin A1

/*

*สำหรับ 25C วาลมีค่าเท่ากับ 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 = (เซล*9)/5 + 32;

Serial.print(val);

Serial.println();

Serial.print("อุณหภูมิ = ");

Serial.print(cel);อนุกรม.print(“*C”);

Serial.println();

ถ้า (เซล > 26){

โทนเสียง(ออด, 1,000);

lcd.clear();

lcd.print("อุณหภูมิเหนือเกณฑ์");

lcd.setCursor(0, 1);

lcd.print("ลดอุณหภูมิ");

}

อื่น

{noTone(เสียงกริ่ง);

lcd.clear();

lcd.print("อุณหภูมิภายใต้การควบคุม");

lcd.setCursor(0, 1);

lcd.print ("ชั่วคราว = ");

lcd.print (เซลล์);

lcd.print(“degC”);

}

ล่าช้า (500);

}

//สิ้นสุดโปรแกรมที่นี่

ขั้นตอนที่ 4: ทำความเข้าใจโปรแกรมโดยละเอียด

ฉันจะพยายามอธิบายบางส่วนของรหัส

ฟังก์ชั่นที่เกี่ยวข้องกับคำสั่ง if/else

หากอุณหภูมิมากกว่าค่าเกณฑ์ ฉันกำลังส่งสัญญาณไปที่ออดเพื่อส่งเสียงเตือนและแสดงบน LCD เพื่อลดอุณหภูมิด้วยส่วนด้านล่างของโค้ด

ถ้า (เซล > 26)

{โทน(ออด, 1,000);

lcd.clear();

lcd.print("อุณหภูมิเหนือเกณฑ์");

lcd.setCursor(0, 1);

lcd.print("ลดอุณหภูมิ");

}

ถ้าไม่เช่นนั้นให้ส่งค่าอุณหภูมิปัจจุบันไปที่ LCD และแสดงว่าอุณหภูมินั้นอยู่ในการควบคุม

อื่น

{noTone(เสียงกริ่ง);

lcd.clear();

lcd.print("อุณหภูมิภายใต้การควบคุม");

lcd.setCursor(0, 1);

lcd.print ("ชั่วคราว = ");

lcd.print (เซลล์);

lcd.print(“degC”);

}

ฟังก์ชั่นที่เกี่ยวข้องกับ Buzzer

tone(buzzer, 1000) - ฟังก์ชันนี้จะส่งสัญญาณ 1 khz ไปยัง pin ที่ชื่อ buzzer ซึ่งถูกกำหนดเป็น Pin 6 และ Magnetic buzzer เชื่อมต่อที่ Pin 6.noTone(buzzer) - จะหยุดส่งสัญญาณ 1 khz ดังนั้นเสียงกริ่งจะหยุด

ฟังก์ชันที่เกี่ยวข้องกับเซ็นเซอร์อุณหภูมิ

การแปลงค่าอนาล็อกของการอ่านอุณหภูมิเป็นค่า deg C ทำได้โดยใช้ฟังก์ชันการถ่ายโอนซึ่งสามารถหาได้จากเอกสารข้อมูล AD22100 ตามที่เขียนไว้ด้านล่าง

Vout = (V+/5 V) × (1.375 V + 22.5 mV/°C × TA) และพิมพ์ค่าเดียวกันบนจอ LCD

ขั้นตอนที่ 5: การสาธิตของ Instructables

เมื่อคอมไพล์และอัพโหลดโปรแกรมบนบอร์ด Arduino UNO แล้ว

ให้เราลองเพิ่มอุณหภูมิที่ตรวจจับด้วยเซ็นเซอร์อุณหภูมิ AD22100 และสนุกกับระบบ Home Automation

เพื่อเพิ่มอุณหภูมิของเซ็นเซอร์ ฉันกำลังสัมผัสมันด้วยหัวแร้งที่มีอยู่ในแล็บ

สามารถรับชมการสาธิตได้ที่นี่..

การสาธิตระบบโฮมออโตเมชั่น

แนะนำ: