Đã khám phá 2 mạch đồng hồ đo nhiệt độ Arduino đơn giản

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài viết này, chúng tôi sẽ xây dựng một vài mạch đo nhiệt độ Arduino dễ dàng cũng có thể được sử dụng như một đèn LED mạch nhiệt kế phòng .

Mạch được thiết kế để hiển thị các kết quả đọc dưới dạng đèn LED thanh / vạch. Dự án này có thể được thực hiện cho các ứng dụng mà nhiệt độ môi trường xung quanh đóng một vai trò quan trọng hoặc nó có thể được xây dựng như một dự án thú vị khác cho ngôi nhà của bạn.



1) Sử dụng DTH11 làm Cảm biến nhiệt độ

Trái tim và bộ não của dự án máy đo nhiệt độ đầu tiên lần lượt là cảm biến DTH11 và Arduino. Chúng tôi sẽ chỉ trích xuất dữ liệu nhiệt độ từ cảm biến.

Arduino sẽ suy ra dữ liệu và làm mới nhiệt độ hiển thị sau mỗi vài giây.



Chúng tôi sẽ đưa ra 12 độ phân giải của cảm biến nhiệt độ , nói cách khác, chúng ta sẽ tính phạm vi nhiệt độ mà nhiệt độ môi trường thường thay đổi.

Nếu bạn muốn thêm độ phân giải / đèn LED, bạn sẽ cần arduino mega để tận dụng toàn bộ quang phổ nhiệt độ của cảm biến với chương trình đã sửa đổi.

DTH11 làm Cảm biến nhiệt độ

Bố cục minh họa ở trên có thể được áp dụng để tìm kiếm tốt nhất cho thiết lập của bạn.

Người dùng chỉ cần nhập khoảng nhiệt độ tối thiểu của phòng. Nó có thể là một giá trị thô, có thể được thay đổi sau khi hoàn tất thiết lập phần cứng đầy đủ.

Nếu phạm vi nhiệt độ thấp hơn giá trị ngưỡng mà người dùng đã nhập, sẽ không có đèn LED nào phát sáng và nếu nhiệt độ vượt quá phạm vi tối đa (tối thiểu + 11) thì tất cả đèn LED sẽ phát sáng.

Nếu có bất kỳ sự cố kết nối cảm biến nào, tất cả đèn LED sẽ nhấp nháy đồng thời mỗi giây.

Thiết kế:

Dây mạch của đồng hồ đo nhiệt độ Arduino LED rất đơn giản, một loạt đèn LED được kết nối với các chân GPIO từ 2 đến 13 với điện trở hạn chế dòng điện, và cảm biến DHT11 được cắm vào các chân I / O analog, được lập trình để cấp nguồn cho cảm biến cũng như đọc dữ liệu.

Mạch nhiệt kế phòng LED

Như vậy, thiết lập mạch nhiệt kế LED của bạn đã hoàn tất và sẵn sàng để tải mã lên. Bạn luôn nên kiểm tra mạch điện trên bảng mạch bánh mì trước khi làm cho nó hoạt động vĩnh viễn.

Mẹo: Sử dụng đèn LED màu khác nhau để chỉ ra các dải nhiệt độ khác nhau. Bạn có thể sử dụng đèn LED xanh lam cho dải nhiệt độ thấp hơn, xanh lục hoặc vàng cho dải nhiệt độ trung bình và đèn LED đỏ cho nhiệt độ cao hơn. Điều này sẽ làm cho hấp dẫn hơn.

Nguyên mẫu của tác giả:

nguyên mẫu làm việc của mạch nhiệt kế phòng LED

LƯU Ý: Chương trình sau chỉ tương thích với cảm biến DHT11.

Trước khi tiếp tục, hãy đảm bảo tải xuống tệp thư viện theo liên kết sau:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Mã chương trình:

//-------Program developed by R.Girish------//
#include
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int p=A0
int data=A1
int n=A2
int ack
dht DHT
int temp=25 // set temperature range.
void setup()
{
Serial.begin(9600) // may be removed after testing.
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,HIGH)
digitalWrite(n,LOW)
}
void loop()
{
// may be removed after testing.
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
//till here
ack=0
int chk = DHT.read11(data)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if (ack==0)
{
if(DHT.temperature>=temp)digitalWrite(a,HIGH)
if(DHT.temperature>=temp+1)digitalWrite(b,HIGH)
if(DHT.temperature>=temp+2)digitalWrite(c,HIGH)
if(DHT.temperature>=temp+3)digitalWrite(d,HIGH)
if(DHT.temperature>=temp+4)digitalWrite(e,HIGH)
if(DHT.temperature>=temp+5)digitalWrite(f,HIGH)
if(DHT.temperature>=temp+6)digitalWrite(g,HIGH)
if(DHT.temperature>=temp+7)digitalWrite(h,HIGH)
if(DHT.temperature>=temp+8)digitalWrite(i,HIGH)
if(DHT.temperature>=temp+9)digitalWrite(j,HIGH)
if(DHT.temperature>=temp+10)digitalWrite(k,HIGH)
if(DHT.temperature>=temp+11)digitalWrite(l,HIGH)
delay(2000)
goto refresh
}
if (ack==1)
{
// This may be removed after testing.
Serial.print('NO DATA')
Serial.print(' ')
// till here
delay(500)
digitalWrite(a,1)
digitalWrite(b,1)
digitalWrite(c,1)
digitalWrite(d,1)
digitalWrite(e,1)
digitalWrite(f,1)
digitalWrite(g,1)
digitalWrite(h,1)
digitalWrite(i,1)
digitalWrite(j,1)
digitalWrite(k,1)
digitalWrite(l,1)
refresh:
delay(500)
digitalWrite(a,0)
digitalWrite(b,0)
digitalWrite(c,0)
digitalWrite(d,0)
digitalWrite(e,0)
digitalWrite(f,0)
digitalWrite(g,0)
digitalWrite(h,0)
digitalWrite(i,0)
digitalWrite(j,0)
digitalWrite(k,0)
digitalWrite(l,0)
}
}
//-------Program developed by R.Girish------//

LƯU Ý 1:

Trong chương trình:

int temp = 25 // dải nhiệt độ cài đặt.
Thay thế “25” bằng nhiệt độ môi trường tối thiểu mà bạn đã gặp trong quá khứ bằng các nhiệt kế khác hoặc dự đoán một giá trị thô.
LƯU Ý 2: Vui lòng xác minh các số đọc nhiệt độ từ màn hình nối tiếp và thiết lập đèn LED.

2) Đồng hồ đo nhiệt độ Arduino sử dụng DS18B20

Trong thiết kế thứ hai này, chúng ta tìm hiểu một cảm biến nhiệt độ Arduino đơn giản nhưng cực kỳ chính xác khác với mạch Chỉ báo, sử dụng mô-đun đọc màn hình LCD kỹ thuật số tiên tiến.

mô-đun đọc màn hình LCD kỹ thuật số.

Thực ra không có gì giải thích được quá nhiều trong cấu hình này, vì mọi thứ đều dựa trên mô-đun và chỉ cần kết nối hoặc cắm với nhau thông qua các ổ cắm và đầu nối nam nữ được cung cấp.

Yêu cầu phần cứng

Bốn vật liệu cơ bản được yêu cầu để xây dựng mạch đo nhiệt độ LCD Arduino chính xác này, có thể được nghiên cứu như sau:

1) Bảng Arduino UNO

2) A Mô-đun LCD tương thích

3) Một chip cảm biến nhiệt độ tương tự, chẳng hạn như DS18B20 hoặc của chính chúng tôi IC LM35 .

Thông số kỹ thuật nhiệt kế kỹ thuật số DS18B20

DS18B20 nhiệt kế kỹ thuật số đảm bảo thông số kỹ thuật nhiệt độ từ 9 bit đến 12 bit độ C và mang tính năng cảnh báo với các yếu tố kích hoạt cao hơn và thấp hơn có thể lập trình cho người tiêu dùng không bay hơi. DS18B20 giao tiếp qua một Bus dây duy nhất mà theo mô tả yêu cầu một đường dữ liệu duy nhất (và mặt đất) để kết nối với bộ vi xử lý chính.

Nó bao gồm phạm vi nhiệt độ làm việc từ -55 ° C đến + 125 ° C, chính xác đến ± 0,5 ° C so với loại -10 ° C đến + 85 ° C.

Cùng với đó, DS18B20 được kích hoạt để lấy điện trực tiếp từ đường dữ liệu (“sức mạnh ký sinh”), loại bỏ sự cần thiết của một
quan hệ = ' Không theo 'cung cấp điện bên ngoài.

Mỗi một DS18B20 mang một mã nối tiếp 64 bit đặc biệt, cho phép nhiều DS18B20 hoạt động trên cùng một bus dây. Do đó, nó thân thiện với người dùng và không phức tạp khi chỉ cần một bộ vi xử lý để quản lý tải liên quan đến DS18B20 được khởi chạy trên một địa điểm rộng rãi.

Các chương trình có thể dễ dàng tận dụng thuộc tính này liên quan đến cấu hình sinh thái HVAC, thiết bị giám sát nhiệt độ bên trong cơ sở, thiết bị hoặc công cụ và hệ thống giám sát và điều tiết quá trình.

Chi tiết sơ đồ chân

Thông số kỹ thuật nhiệt kế kỹ thuật số DS18B20

4) Một bộ chuyển đổi 9V, 1 amp AC sang DC

Bây giờ chỉ cần đẩy các đầu nối vào với nhau, thực hiện một chút cài đặt thông qua các nút ấn trên màn hình LCD và bạn sẽ có được một đồng hồ đo nhiệt độ LCD kỹ thuật số chính xác, chính xác theo ý của bạn.

Bạn có thể đo nhiệt độ phòng với thiết lập này hoặc kẹp cảm biến một cách thích hợp với bất kỳ thiết bị tỏa nhiệt nào cần được giám sát như động cơ ô tô, buồng ấp trứng, mạch nước phun hoặc đơn giản để kiểm tra tản nhiệt từ các thiết bị khuếch đại công suất.

Cách kết nối đồng hồ đo nhiệt độ Arduino

Hình dưới đây cho thấy kết nối được thiết lập, nơi bảng Arduino ở dưới cùng, với màn hình LCD được cắm trên nó và cảm biến nhiệt độ được nối với bảng LCD.

Nhưng trước khi thực hiện thiết lập ở trên, bạn cần lập trình bảng Arduino với mã mẫu sau.

Lịch sự : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Trước: BẬT / TẮT hai tải thay thế bằng IC 555 Tiếp theo: Mạch chuyển tiếp SPDT sử dụng Triac