Tự làm nhiệt kế & máy đo độ ẩm trong phòng với Arduino
Tạo thiết bị đo nhiệt độ/độ ẩm của riêng bạn có thể là một trải nghiệm thú vị và bổ ích. Sử dụng bộ vi điều khiển Arduino, dự án DIY này có thể được sử dụng để theo dõi nhiệt độ và độ ẩm trong phòng của bạn, đặc biệt là trong mùa hè nóng bức.
Hơn nữa, nó cũng có thể giúp bạn đánh giá hiệu suất của máy điều hòa không khí. Đối với cảm biến nhiệt độ và độ ẩm, chúng tôi sẽ sử dụng một cảm biến điện tử, cảm biến này sẽ được kết nối với một bộ vi điều khiển để lấy dữ liệu từ cảm biến và hiển thị trên màn hình.
Mục Lục
Những gì bạn cần
Đối với dự án DIY này, chúng tôi sẽ cần các thành phần sau:
- Bộ vi điều khiển Arduino Mega
- kết nối dây
- Cáp USB Type-A đến USB Type-B
- cảm biến DHT22
- Màn hình LCD 16×2
- Laptop hoặc máy tính có cài đặt phần mềm Arduino
- Breadboard (xem hướng dẫn sử dụng breadboard của chúng tôi)
- Điện trở hoặc chiết áp
Bước 1: Kết nối vi điều khiển Arduino Mega
Kết nối bo mạch Arduino với PC hoặc máy tính xách tay của bạn bằng cáp USB. Cáp này không chỉ cấp nguồn cho mô-đun Arduino và đóng vai trò là nguồn cấp điện cho nó, mà còn cho phép máy tính giao tiếp với bo mạch Arduino để thực thi mã và lệnh. Khi được kết nối qua cáp USB với máy tính, Arduino cho biết nó đang ở trạng thái hoạt động bằng cách bật đèn LED.
Từ thanh menu của Arduino IDE, đi tới Công cụ tab và chọn Arduino Mega từ Bảng tùy chọn. Tương tự, chọn cổng COM dưới cùng Công cụ chuyển hướng.
Bước 2: Chuẩn bị Cảm biến và LCD
Dự án sử dụng cảm biến nhiệt độ/độ ẩm DHT22 và màn hình LCD 16×2, bạn sẽ cần các thư viện Arduino IDE có liên quan.
Cảm biến DHT22
DHT11 và DHT22 là các cảm biến điện tử đo nhiệt độ và độ ẩm của môi trường. Chúng hoạt động trên các nguyên tắc tương tự, nhưng khác nhau về phạm vi đặc điểm kỹ thuật của chúng. Đối với dự án DIY này, chúng tôi đang sử dụng cảm biến DHT 22 (cụ thể là phiên bản AM2302 có dây). DHT22 là một lựa chọn tốt hơn về phạm vi rộng và độ chính xác cho cả cảm biến nhiệt độ và độ ẩm.
Mô-đun DHT22/AM2302 có ba chân với cấu hình sau:
|
Ghim |
Tên |
Chức năng |
|---|---|---|
|
1 |
Vcc |
+ Nguồn 5V |
|
2 |
Dữ liệu |
Dữ liệu về độ ẩm và nhiệt độ |
|
3 |
GND |
Điểm chung cho đường dẫn tín hiệu |
Cách dễ nhất để sử dụng cảm biến DHT với vi điều khiển Arduino là cài đặt DHT.h thư viện, có thể được sử dụng cho cả cảm biến DHT11 và DHT22. Thư viện này thường được cài đặt sẵn trong Arduino IDE. Nếu không có, bạn có thể cài đặt nó từ quản lý thư viện Bên dưới Công cụ chuyển hướng.
Màn hình LCD 16×2
Để hiển thị số đọc của cảm biến, chúng tôi đang sử dụng màn hình LCD 16×2 cho Arduino. Màn hình này có 16 chân phần cứng và cần một giao diện vi điều khiển để điều khiển chức năng của nó. Bảng sau đây cho thấy các chân phần cứng của LCD và chức năng của chúng.
|
Số PIN |
Tên |
Chức năng |
|---|---|---|
|
1 |
GND |
Mặt bằng chung |
|
2 |
Vdd |
+5VDC (Nguồn điện của LCD) |
|
3 |
Vee |
Điều chỉnh độ sáng |
|
4 |
RS |
Đăng ký Chọn |
|
5 |
R/W |
Đọc viết |
|
6 |
VI |
Cho phép vô hiệu hóa |
|
7 |
DB0 |
Chân Bus dữ liệu 0 |
|
số 8 |
ĐB1 |
Chân Bus dữ liệu 1 |
|
9 |
DB2 |
Chân Bus dữ liệu 2 |
|
10 |
DB3 |
Chân Bus dữ liệu 3 |
|
11 |
DB4 |
Chân Bus dữ liệu 4 |
|
12 |
DB5 |
Chân Bus dữ liệu 5 |
|
13 |
DB6 |
Chân Bus dữ liệu 6 |
|
14 |
DB7 |
Chân Bus dữ liệu 7 |
|
15 |
ĐÈN LED + |
Đèn LED nền (+5V) |
|
16 |
DẪN ĐẾN- |
LED nền (Điểm chung) |
Màn hình LCD 16×2 có thể hiển thị bằng bốn bus dữ liệu hoặc tám bus dữ liệu. Ở đây chúng tôi đang sử dụng bốn bus dữ liệu từ vi điều khiển đến LCD. Chỉ có bốn chân dữ liệu (DB4 đến DB7) của LCD 16×2 được kết nối với Arduino, cùng với các chân RS (Chọn đăng ký) và EN (Bật).
Ở chế độ 4 bit, dữ liệu/lệnh được gửi ở định dạng nibble 4 bit. Lúc đầu, nó gửi 4 bit cao hơn và sau đó gửi 4 bit dữ liệu/lệnh thấp hơn. Do các kết nối như vậy, chúng tôi có thể lưu bốn chân GPIO trên Arduino của mình để có thể sử dụng cho ứng dụng khác. Lưu ý rằng mục đích của Chân 15 và 16 (Đèn LED nền) là để chiếu sáng màn hình, chỉ để cải thiện khả năng hiển thị.
Bạn có thể dùng LiquidCrystal.h Thư viện Arduino để điều khiển LCD 16×2. Thư viện này thường được cài đặt sẵn. Nếu không có, bạn có thể cài đặt nó từ quản lý thư viện Bên dưới Công cụ tab trong Arduino IDE.
Bước 3: Xây dựng mạch kết nối Cảm biến và LCD
Sơ đồ kết nối sau đây được sử dụng cho mạch này.
|
Arduino MegaPin |
Chân LCD / DHT22 |
|---|---|
|
2 |
D4 của MÀN HÌNH LCD |
|
3 |
D5 của MÀN HÌNH LCD |
|
4 |
D6 của MÀN HÌNH LCD |
|
5 |
D7 của MÀN HÌNH LCD |
|
số 8 |
RS của màn hình LCD |
|
9 |
EN của LCD |
|
52 (ĐSCK) |
Chân ra dữ liệu của DHT22 |
Bảng mạch Arduino Mega cung cấp các kết nối nguồn cho cả màn hình LCD và cảm biến, vì chúng là các mô-đun công suất thấp và có thể dễ dàng quản lý thông qua bảng mạch này. Để kiểm soát độ sáng của LCD, chúng tôi đang sử dụng một bộ chia điện áp bằng điện trở, được đặt sao cho khoảng 0,1V đến 0,5V được cung cấp cho Chân 3 (VEE) của LCD để có độ sáng tối ưu. Ngoài ra, một chiết áp có thể được sử dụng thay cho bộ chia điện áp này. Chân 5 (R/W) của LCD được đặt thành Ground cho chức năng chỉ ghi.
Bước 4: Tải mã của bạn lên Arduino
Bây giờ là lúc tải mã của bạn lên bo mạch Arduino Mega để thực hiện tác vụ được yêu cầu, bao gồm lấy dữ liệu cảm biến từ DHT22 và hiển thị nó trên màn hình LCD.
Mã cho dự án này có sẵn từ repo GitHub này.
Mã được thiết kế theo các kết nối dây của mạch được hiển thị trong bước 3. Bây giờ, bạn có thể kiểm tra mã để đánh giá hiệu suất.
Thử nghiệm mô-đun
Để đảm bảo cảm biến hoạt động bình thường và phát hiện nhiệt độ cũng như độ ẩm, chúng tôi giữ cảm biến cao hơn vài inch so với cốc nước nóng (phát ra hơi nóng). Không nhúng cảm biến DHT 22 vào trong nước, vì nó có thể dẫn đến đoản mạch và gây hư hỏng vĩnh viễn cho cảm biến! Sau vài giây, có thể quan sát thấy phần trăm nhiệt độ và độ ẩm tăng lên, điều này cho thấy mô-đun đang hoạt động tốt.
Bạn đã chế tạo được máy đo nhiệt độ và độ ẩm của riêng mình
Bây giờ bạn đã chế tạo máy đo nhiệt độ và độ ẩm của riêng mình, bạn có thể mở rộng ý tưởng này hơn nữa bằng cách kết hợp theo dõi nhiệt độ và độ ẩm từ xa bằng cách truyền thông tin này đến một thiết bị khác bằng bộ điều hợp Wi-Fi hoặc Bluetooth. Bạn cũng có thể sử dụng dữ liệu cảm biến từ mô-đun này để cho phép điều hòa không khí trong phòng hoặc hệ thống ống xả tự động bật và tắt theo cài đặt mong muốn, nhằm duy trì nhiệt độ/độ ẩm bên trong phòng hoặc nơi làm việc của bạn.