สำรวจวงจรเครื่องวัดอุณหภูมิ Arduino อย่างง่าย 2 แบบ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในบทความนี้เราจะสร้างวงจรวัดอุณหภูมิ Arduino ง่ายๆสองสามตัวซึ่งสามารถใช้เป็น LED ได้ วงจรเทอร์โมมิเตอร์ในห้อง .

วงจรถูกออกแบบมาเพื่อแสดงค่าที่อ่านได้ในไฟ LED แบบจุด / บาร์ โครงการนี้สามารถนำไปใช้กับการใช้งานที่อุณหภูมิโดยรอบมีบทบาทสำคัญหรืออาจสร้างขึ้นเพื่อเป็นโครงการสนุก ๆ สำหรับบ้านของคุณก็ได้



1) ใช้ DTH11 เป็นเซ็นเซอร์อุณหภูมิ

หัวใจและสมองของโครงการเครื่องวัดอุณหภูมิเครื่องแรกคือเซ็นเซอร์ DTH11 และ Arduino ตามลำดับ เราจะดึงเฉพาะข้อมูลอุณหภูมิจากเซ็นเซอร์

arduino จะสรุปข้อมูลและรีเฟรชอุณหภูมิที่แสดงทุกๆสองสามวินาที



เราจะใช้ความละเอียด 12 ประการของ เซ็นเซอร์อุณหภูมิ กล่าวอีกนัยหนึ่งเราจะใช้ช่วงอุณหภูมิที่อุณหภูมิโดยรอบมักจะแตกต่างกันไป

หากคุณต้องการเพิ่มความละเอียด / LED เพิ่มเติมคุณจะต้องใช้ arduino mega เพื่อใช้ประโยชน์จากสเปกตรัมอุณหภูมิทั้งหมดของเซ็นเซอร์ด้วยโปรแกรมที่แก้ไข

DTH11 เป็นเซนเซอร์วัดอุณหภูมิ

เค้าโครงภาพประกอบด้านบนอาจถูกนำมาใช้เพื่อให้เหมาะกับการตั้งค่าของคุณมากที่สุด

ผู้ใช้เพียงแค่ต้องป้อนช่วงอุณหภูมิต่ำสุดของห้อง อาจเป็นค่าคร่าวๆซึ่งสามารถเปลี่ยนแปลงได้ในภายหลังเมื่อการตั้งค่าฮาร์ดแวร์เสร็จสมบูรณ์

หากช่วงอุณหภูมิต่ำกว่าค่าเกณฑ์ที่ผู้ใช้ป้อนจะไม่มีไฟ LED ติดสว่างและหากอุณหภูมิเกินช่วงสูงสุด (ต่ำสุด + 11) LED ทั้งหมดจะติดสว่าง

หากมีปัญหาในการเชื่อมต่อเซ็นเซอร์ไฟ LED ทั้งหมดจะกะพริบทุกวินาทีพร้อมกัน

การออกแบบ:

การเดินสายวงจรมิเตอร์วัดอุณหภูมิ LED Arduino นั้นง่ายมากชุด LED ที่เชื่อมต่อกับหมุด GPIO ตั้งแต่ 2 ถึง 13 พร้อมตัวต้านทาน จำกัด กระแสและเซ็นเซอร์ DHT11 เสียบเข้ากับพิน I / O แบบอะนาล็อกซึ่งตั้งโปรแกรมให้จ่ายไฟให้กับเซ็นเซอร์ ตลอดจนอ่านข้อมูล

วงจรวัดอุณหภูมิห้อง LED

ดังนั้นการตั้งค่าวงจรเทอร์โมมิเตอร์ LED ของคุณจึงเสร็จสมบูรณ์และพร้อมที่จะอัปโหลดรหัส ขอแนะนำให้ทดสอบวงจรบนแผงขนมปังก่อนทำให้ถาวรเสมอ

เคล็ดลับ: ใช้ LED สีอื่นเพื่อระบุช่วงอุณหภูมิที่แตกต่างกัน คุณอาจใช้ไฟ LED สีน้ำเงินสำหรับช่วงอุณหภูมิที่ต่ำกว่าสีเขียวหรือสีเหลืองสำหรับช่วงอุณหภูมิกลางและ LED สีแดงสำหรับอุณหภูมิที่สูงขึ้น สิ่งนี้จะทำให้น่าสนใจยิ่งขึ้น

ต้นแบบของผู้แต่ง:

ต้นแบบการทำงานของวงจร LED Room Thermometer

หมายเหตุ: โปรแกรมต่อไปนี้เข้ากันได้กับเซ็นเซอร์ DHT11 เท่านั้น

ก่อนดำเนินการต่อโปรดดาวน์โหลดไฟล์ไลบรารีจากลิงค์ต่อไปนี้:

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

รหัสโปรแกรม:

//-------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------//

หมายเหตุ 1:

ในโปรแกรม:

int temp = 25 // ตั้งช่วงอุณหภูมิ
แทนที่“ 25” ด้วยอุณหภูมิต่ำสุดที่คุณเคยพบในอดีตด้วยเทอร์มอมิเตอร์อื่น ๆ หรือคาดคะเนค่าคร่าวๆ
หมายเหตุ 2: โปรดตรวจสอบการอ่านค่าอุณหภูมิจากจอภาพอนุกรมและการตั้งค่า LED

2) เครื่องวัดอุณหภูมิ Arduino โดยใช้ DS18B20

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

โมดูลการอ่านข้อมูลจอแสดงผล LCD แบบดิจิตอล

ไม่มีอะไรที่อธิบายได้มากเกินไปในการกำหนดค่านี้เนื่องจากทุกอย่างเป็นไปตามโมดูลและเพียงแค่ต้องเชื่อมต่อหรือเสียบเข้าด้วยกันผ่านซ็อกเก็ตและตัวเชื่อมต่อหญิงชายที่มีให้

ต้องใช้ฮาร์ดแวร์

ต้องใช้วัสดุพื้นฐานสี่อย่างในการสร้างวงจรวัดอุณหภูมิ Arduino LCD ที่ถูกต้องซึ่งอาจศึกษาได้ตามที่ระบุไว้ใน:

1) บอร์ด Arduino UNO

2) ก โมดูล LCD ที่เข้ากันได้

3) ชิปเซ็นเซอร์อุณหภูมิแบบอะนาล็อกเช่น DS18B20 หรือของเราเอง LM35 ไอซี .

ข้อมูลจำเพาะของเครื่องวัดอุณหภูมิดิจิตอล DS18B20

DS18B20 เครื่องวัดอุณหภูมิดิจิตอล รับประกันข้อมูลจำเพาะอุณหภูมิ 9 บิตถึง 12 บิตเซลเซียสและมีคุณสมบัติการเตือนภัยพร้อมองค์ประกอบการเปิดใช้งานที่สูงขึ้นและต่ำกว่าที่ตั้งโปรแกรมได้ DS18B20 สื่อสารผ่านบัสสายเดียวโดยคำอธิบายต้องการสายข้อมูลเดียว (และกราวด์) สำหรับการเชื่อมต่อกับไมโครโปรเซสเซอร์หลัก

ประกอบด้วยช่วงอุณหภูมิในการทำงาน -55 ° C ถึง + 125 ° C ซึ่งแม่นยำถึง± 0.5 ° C ในช่วง -10 ° C ถึง + 85 ° C

นอกจากนี้ DS18B20 ยังเปิดใช้งานเพื่อรับพลังงานโดยตรงจากสายข้อมูล ('พลังปรสิต') โดยกำจัดความจำเป็นของ
rel = ' ไม่ปฏิบัติตาม 'แหล่งจ่ายไฟภายนอก.

DS18B20 แต่ละตัวมีรหัสซีเรียล 64 บิตที่แตกต่างกันโดยอนุญาตให้ DS18B20 หลายตัวทำงานบนบัส 1 Wire เดียวกัน ด้วยเหตุนี้จึงใช้งานง่ายและไม่ซับซ้อนเพียงไมโครโปรเซสเซอร์ตัวเดียวในการจัดการโหลดที่เกี่ยวข้องกับ DS18B20 ที่เปิดตัวในสถานที่ที่แพร่หลาย

โปรแกรมที่สามารถใช้ประโยชน์จากแอตทริบิวต์นี้ได้อย่างง่ายดายเกี่ยวข้องกับการกำหนดค่าระบบนิเวศของ HVAC อุปกรณ์เฝ้าระวังอุณหภูมิภายในสถานประกอบการเครื่องมือหรือเครื่องมือและระบบควบคุมดูแลและควบคุมกระบวนการ

รายละเอียด Pinout

ข้อมูลจำเพาะของเครื่องวัดอุณหภูมิดิจิตอล DS18B20

4) อะแดปเตอร์ A 9V, 1 แอมป์ AC เป็น DC

ตอนนี้เป็นเพียงแค่การดันตัวเชื่อมต่อเข้าด้วยกันทำการตั้งค่าเล็กน้อยผ่านปุ่มกด LCD คุณจะได้เครื่องวัดอุณหภูมิ LCD แบบดิจิตอลที่มีความเที่ยงตรงเต็มรูปแบบตามที่คุณต้องการ

คุณสามารถวัดอุณหภูมิห้องด้วยการตั้งค่านี้หรือยึดเซ็นเซอร์ให้เหมาะสมกับอุปกรณ์ปล่อยความร้อนใด ๆ ที่ต้องได้รับการตรวจสอบเช่นเครื่องยนต์รถยนต์ห้องฟักไข่น้ำพุร้อนหรือเพียงเพื่อตรวจสอบการกระจายความร้อนจากอุปกรณ์ขยายกำลัง

วิธีการต่อเครื่องวัดอุณหภูมิ Arduino

รูปต่อไปนี้แสดงการตั้งค่าการเชื่อมต่อโดยที่บอร์ด Arduino อยู่ที่ด้านล่างโดยเสียบจอภาพ LCD ไว้ด้านบนและเซ็นเซอร์อุณหภูมิจะเชื่อมต่อกับบอร์ด LCD

แต่ก่อนที่คุณจะใช้การตั้งค่าข้างต้นคุณจะต้องตั้งโปรแกรมบอร์ด Arduino ด้วยโค้ดตัวอย่างต่อไปนี้

มารยาท : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




ก่อนหน้านี้: การเปิด / ปิดโหลดสำรองสองรายการด้วย IC 555 ถัดไป: วงจรสวิตช์รีเลย์ SPDT โดยใช้ Triac