Mục lục:

Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị: 5 bước
Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị: 5 bước

Video: Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị: 5 bước

Video: Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị: 5 bước
Video: Tự học lập trình Arduino Tập 25 | Hiển Thị Nhiệt Độ & Độ Ẩm Cảm Biến DHT11 Lên LCD |Auto PLC Arduino 2024, Tháng bảy
Anonim
Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị
Tự động hóa tại nhà: Âm thanh báo động và hiển thị trên màn hình LCD khi nhiệt độ trên ngưỡng giá trị

Blog này sẽ trình bày cách tạo Hệ thống tự động hóa gia đình sẽ bắt đầu phát ra âm thanh báo động bất cứ khi nào nhiệt độ đạt cao hơn giá trị ngưỡng được lập trình. Nó sẽ tiếp tục hiển thị nhiệt độ hiện tại của căn phòng trên màn hình LCD và hành động cần thiết (Ví dụ: Giảm nhiệt độ) khi nhiệt độ đạt đến hơn giá trị ngưỡng. Trong hướng dẫn này, tôi đang sử dụng cảm biến nhiệt độ AD22100 được sản xuất bởi Analog Devices và AG-1005G Buzzer. AD22100 là Cảm biến nhiệt độ đầu ra điện áp có điều hòa tín hiệu

Bước 1: Các bộ phận

Bạn cần những bộ phận này bên mình trước khi bắt đầu hoạt động không thể phá vỡ này

1. Bo mạch Arduino UNO

2. Màn hình LCD (16x2)

3. Buzzer - 2 Pin (AC-1005G)

4. Cảm biến nhiệt độ - 3 chân (AD22100)

Bước 2: Kết nối các bộ phận khác nhau với Arduino UNO

Kết nối LCD với bảng Arduino UNO

Pin RS LCD (Pin 4) với Pin 7 của Bảng Arduino

Pin Bật LCD (Pin 6) với Pin 8 của Bảng Arduino

Pin LCD D4 (Pin 11) với Pin 9 của Bảng Arduino

Pin LCD D5 (Pin 12) với Pin 10 của Bảng Arduino

Pin LCD D6 (Pin 13) với Pin 11 của Bảng Arduino

Pin LCD D7 (Pin 14) với Pin 12 của Bảng Arduino

Thêm Nồi 10 KΩ vào + 5v (Chân nồi 1) và GND (Chân cắm nồi 3), Kết nối Chân giữa của Nồi (Chân Nồi 2) với Chân V0 của LCD (Chân 3).

LCD VDD Pin (Pin 2) và LCD A Pin (Pin 15) với + 5v trên Arduino Board.

LCD VSS Pin (Pin 1) và LCD K Pin (Pin 16) với GND trên Arduino Board.

Kết nối cảm biến nhiệt độ AD22100 với Bo mạch Arduino UNO

Chân 1 (V +) của AD22100 nên được kết nối với +5 v trên Bảng Arduino.

Chân 2 (Vo) của AD22100 phải được kết nối với Chân A1 trên Bảng Arduino.

Chân 3 (GND) của AD22100 phải được kết nối với GND trên Bảng Arduino

Kết nối Buzzer (AC-1005G) với Bo mạch Arduino UNO

Đầu ra PWM chân 6 của bảng Arduino phải được kết nối với đầu vào + ve của Buzzer.

GND của Bảng Arduino phải được kết nối với đầu vào -ve của Buzzer

Bước 3: Mã Arduino

Biên dịch nó và tải nó lên Arduino Board và quan sát bản trình diễn Hệ thống tự động hóa tại nhà

// Chương trình bắt đầu tại đây

int val;

int tempPin = A1;

int buzzer = 6;

#include màn hình LCD LiquidCrystal (7, 8, 9, 10, 11, 12);

void setup () {

// đặt mã thiết lập của bạn ở đây, để chạy một lần:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (buzzer, OUTPUT);

}

void loop () {// đặt mã chính của bạn ở đây, để chạy nhiều lần:

val = analogRead (tempPin); // AD22100 được kết nối tại Pin A1

/*

* Đối với 25C, val đến bằng 900 có nghĩa là

* 900 tương ứng với 1,9375 v

* Chức năng chuyển là (V + / 5) * (1.375 + 22.5 mv / degC * 25 degC), * Đọc Datasheet củ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 (“TEMPRATURE =“);

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

Serial.println ();

if (cel> 26) {

âm báo (buzzer, 1000);

lcd.clear ();

lcd.print ("Nhiệt độ trên ngưỡng");

lcd.setCursor (0, 1);

lcd.print (“Giảm nhiệt độ”);

}

khác

{noTone (buzzer);

lcd.clear ();

lcd.print ("Nhiệt độ được kiểm soát");

lcd.setCursor (0, 1);

lcd.print (“Nhiệt độ =“);

lcd.print (cel);

lcd.print (“degC”);

}

chậm trễ (500);

}

// Chương trình kết thúc tại đây

Bước 4: Tìm hiểu chi tiết về chương trình

Tôi sẽ cố gắng giải thích một vài phần của mã.

Các hàm liên quan đến câu lệnh If / else

Nếu nhiệt độ lớn hơn giá trị ngưỡng, tôi sẽ gửi tín hiệu đến bộ rung để phát ra cảnh báo và hiển thị trên màn hình LCD để giảm nhiệt độ với phần bên dưới của mã

if (cel> 26)

{âm báo (buzzer, 1000);

lcd.clear ();

lcd.print ("Nhiệt độ trên ngưỡng");

lcd.setCursor (0, 1);

lcd.print (“Giảm nhiệt độ”);

}

Nếu không thì gửi giá trị hiện tại của nhiệt độ đến LCD và hiển thị nhiệt độ đó đang được kiểm soát.

khác

{noTone (buzzer);

lcd.clear ();

lcd.print ("Nhiệt độ được kiểm soát");

lcd.setCursor (0, 1);

lcd.print (“Nhiệt độ =“);

lcd.print (cel);

lcd.print (“degC”);

}

Các chức năng liên quan đến Buzzer

âm báo (buzzer, 1000) - chức năng này sẽ gửi tín hiệu 1 khz đến chân có tên buzzer được xác định là chân 6 và bộ rung từ được kết nối tại chân 6.noTone (buzzer) - sẽ ngừng gửi tín hiệu 1 khz. Do đó, chuông sẽ ngừng

Các chức năng liên quan đến Cảm biến nhiệt độ

Việc chuyển đổi giá trị Analog của việc đọc tạm thời sang giá trị độ C được thực hiện bằng cách sử dụng một hàm truyền có thể được tìm hiểu trong Biểu dữ liệu AD22100 như được viết bên dưới.

Vout = (V + / 5 V) × (1.375 V + 22.5 mV / ° C × TA) và cùng một giá trị được in trên màn hình LCD.

Bước 5: Demo của các tài liệu hướng dẫn

Sau khi chương trình được biên dịch và tải lên trên bảng Arduino UNO

chúng ta hãy cố gắng tăng nhiệt độ cảm nhận được bằng cảm biến nhiệt độ AD22100 và tận hưởng hệ thống Tự động hóa tại nhà.

Để tăng nhiệt độ của cảm biến, tôi đang chạm vào nó bằng mỏ hàn có sẵn trong Phòng thí nghiệm.

Bạn có thể xem bản demo tại đây..

Demo hệ thống tự động hóa gia đình

Đề xuất: