www.spelecshop.com เอสพี อิเล็คช๊อป.คอม

ปรอทวัดคนไข้ ดิจิตอล

Digital Thermometer

ศักดิ์ชัย ผางสำเนียง ผู้เขียน

 

 

 

 

โครงการนี้เกิดขึ้นจากเจตนารมณ์ สำหรับท่านที่จำเป็นต้องใช้เทอร์โมมิเตอร์ แต่ไม่สามารถหาได้ โดยสามารถ

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

 

รายการที่จำเป็นต้องใช้คือ

1.โปรแกรม Arduino IDE ฟรีแวร์ พร้อม Library <<โหลดได้ตรงนี้>>

2.บอร์ด Arduino ทุกเวอร์ชั่น (ตัวอย่างนี้ใช้ Arduino NANO )

3.เซ็นเซอร์วัดอุณหภูมิ DS18B20 ( ทั้งชนิดสานสำเร็จ และ แบบไอซี 3 ขา )

4.ตัวต้อนทาน 4.7k – 10k

5.หลอด LED / จอ LCD ชนิดต่างๆ ที่ท่านหาได้

 

 

 

 

 

 

 

 

 

DS18B20

 

 

 

 

 

 

 

ARDUINO NANO

 

BASIC การต่อใช้งานขึ้นพื้นฐาน

เลือกรูปแบบเซ็นเซอร์ อย่างใดอย่างหนึ่ง และต่อ ตามตัวอย่าง โดยกำหนด ดังนี้

 

เซ็นเซอร์ DS18B20 บอร์ด Arduino

GND -------------------------------------------GND

VDD ------------------------------------------- 5V ---------| Resistor 4.7-10k

DQ ------------------------------------------- D2 ---------| ต่อระหว่างขา D2 กับ 5V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

วิธีการอัพโหลดโปรแกรม https://www.youtube.com/watch?v=DBHnr5s-7JY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

โค๊ตโปรแกรม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ทำไมจึงใช้ DS18B20

 

เนื่องจาก DS18B20 เป็นเซ็นเซอร์วัดอุณหภูมิที่ใช้งานง่ายที่สุด และ แม่นยำที่สุดในเซ็นเซอร์ประเภท DIY

หรือ ทำใช้งานเอง ซึ่งมีความแม่นยำอยู่ที่ +/- 0.5 องศาเซลเซียส โดยมีความละเอียด 12บิตคือ 0.0625 องศา

หากเป็น RTD หรือ Thermister หรือ Thermocouple การสร้างวงจรค่อนข้างยุ่งยาก และ เซ็นเซอร์เหล่านี้

ให้ความถูกต้องมากก็จริง แต่ก็ขึ้นอยู่กับการประกอบวงจรที่ถูกต้องด้วย ดังนั้น ผมจึงตัดสินใจใช้ DS18B20

โดยจากที่ผมได้ทำการลดลอง พบว่า ความแม่นยำพอใช้ได้ทีเดียว จากการทดสอบ พบว่าอุณหภูมิจริงคือ

11.739 ‘C และ DS18B20 อ่านได้ 11.00 ‘C อ่านได้ต่ำกว่าความจริงอยู่ ประมาณ 0.739 C และนำค่านี้ไปใช้ในโปรแกรม ต่อไป อย่างไรก็ตามนี่เป็นค่าแก้ เฉพาะตัวที่ทดสอบ ไม่สามารถนำไปใช้กับตัวอื่นๆได้

ดังนั้น DS18B20 แต่ละตัว ต้องทำการทดสอบหาค่า Error เพื่อนำมาใช้ในโปรแกรมต่อไป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

จากการทดสอบอุณหภูมิ ข้างต้น เราจะได้ค่า Error มาแล้ว จากนั้น เราจะต้องนำค่านี้มาใส่ในโปรแกรม

ดยโปรแกรมจึงต้องใส่ค่าแก้เข้าไป + 0.793 ในบรรทัดนี้ของโปรแกรม

โปรแกรมจะนำไป ชดเชยค่า Error ที่เกิดขึ้น ถ้าค่ามากกว่าความเป็นจริง ให้ใส่ลบ เช่น - 0.025 เป็นต้น

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ะทำอย่างไรเมื่อไม่มีเครื่องมือทดสอบเหมือนผม มาถึงตอนนี้คงมีคำถามเกิดขึ้นกับผู้อ่าน มี 2 วิธีครับ

1.หาเทอร์โมมิเตอร์วัดไข้ หยิบยืม เพื่อน หรือ อนามัยใกล้บ้าน มาวัดตัวท่าน เทียบกับ DS18B20 ( แนะนำ )

2.ถ้าหาไม่ได้จริงๆ ใช้ตัวท่านที่ปรกติเป็นมาตรฐาน (Reference) อ่าน DS18B20 แล้วเทียบกับ อุณหภูมิตัวท่าน

หากท่าปรกติ ไม่มีไข้ อุณหภูมิควรจะอยู่ที่ 36.5 - 37.5 °C ข้อมูลจาก WIKI : CLICK

 

 

 

 

 

Thermometer V2 LED Display

เทอร์โมมิเตอร์ เวอร์ชั่น 2

 

 

 

 

 

 

 

 

 

 

 

 

เวอร์ชั่นนี้ ไม่ต้องต่อคอมพิวเตอร์ตลอดเวลา สามารถต่อกับ พาวเวอร์แบงค์ ของโทรศัพท์มือถือและ

มอนิเตอร์หลอด LED เหลืองเขียว แดง ได้ แต่วิธีนี้ จะแสดงผลไม่ละเอียด เนื่องจาก วัดเป็นช่วง

 

D3--------LED สีแดง ติดเมื่ออุณหภูมิมากกว่า 37.5 °C มีไข้

D4--------LED สีเขียว ติดเมื่ออุณหภูมิมากกว่า 36.5 °C ถึง 37.5 °C อุณหภูมิปรกติ

D5--------LED สีเหลือง ติดเมื่ออุณหภูมิน้อยกว่า 36.5 °C อุณหภูมิต่ำ

 

โค๊ดโปรแกรม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Thermometer V3 i2c Display

เทอร์โมมิเตอร์ เวอร์ชั่น 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

วอร์ชั่นนี้จะใช้จอ I2C LCD แบบ 16 ตัวอักษร 2 บรรทัดครับ และต่อขาดังนี้

 

SCL --------- A4

SDA --------- A5

GND --------- GND

VCC ---------- 5V

 

และเนื่องจากจอแบบนี้ ใช้ตัวเลข Address ในการเรียกใช้งาน แต่ละรุ่น Address ก็จะต่างไป ดังนั้น

วิธีที่ีง่ายที่สุดให้ทำการเขียนโปรแกรม Scan Address ดูก่อนว่า จอ Address อะไร ดังนี้

 

โปรแกรม Scan Address

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

จากตัวอย่างจะได้ Address มาคือ 0x27 เราจะนำไปกำหนดในโปรแกรมต่อไป

 

 

 

 

 

 

 

 

 

 

 

 

โค๊ดโปรแกรม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Thermometer V4 NOKIA5110 Display

เทอร์โมมิเตอร์ เวอร์ชั่น 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ารต่อสาย

 

Arduino 5110LCD

GND----------------------------GND

3V3-----------------------------VCC

D6-------------------------------LIGHT

D8-------------------------------CLK

D9-------------------------------DIN

D10-----------------------------DC

D11-----------------------------CE

D12-----------------------------RST

 

 

โค๊ดโปรแกรม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Thermometer V4.1 NOKIA5110 Display+Alarm

เทอร์โมมิเตอร์ เวอร์ชั่น 4.1

ารต่อสาย

 

Arduino 5110LCD

GND----------------------------GND

3V3-----------------------------VCC

D6-------------------------------LIGHT

D8-------------------------------CLK

D9-------------------------------DIN

D10-----------------------------DC

D11-----------------------------CE

D12-----------------------------RST

 

Arduino Buzzer

GND-----------------------BLACK/GND

D7 ------------------------- RED Wire / +

 

 

 

 

 

โค๊ดโปรแกรม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Testing ( simple calibrate )

การทดสอบเทอร์โมมิเตอร์ และการปรับตั้งค่า

 

เมื่อประกอบเสร็จทุกอย่างแล้ว เราต้องหาเทอร์โมมิเตอร์ที่ทราบค่าแน่นอน ( Calibrate แล้ว ถ้าหาได้)

เติมน้ำอุ่นลงในแก้ว ให้ได้อุณหภูมิร่างกายปรกติ คือช่วง 36.5 – 37.5 ร้อน (ไ ปเติมน้ำเย็นแล้วคน )

เราจะทราบค่า Error ของเครื่อง เทอร์โมมิเตอร์ ดังภาพตัวอย่าง

Mater อ่านได้ 36.2

DS18B20 อ่านได้ 35.8

36.2 – 35.8 = 0.4 ดังนั้น เพื่อที่จะให้วัดอุณหภูมิได้ถูกต้อง จะต้องใส่ค่า correction ในโปรแกรม = 0.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

จากนั้น ทำการวัดใหม่ เมื่อตรงแล้ว สามารภนำไปใช้งานได้เลยครับ

 

 

 
Online:  2
Visits:  1,158,117
Today:  188
PageView/Month:  10,658