ผู้เขียน หัวข้อ: งานครั้งที่ 19 การเขียนโปรแกรมอ่านค่าอุณหภูมิจาก DS18B20  (อ่าน 3997 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
การเขียนโปรแกรมอ่านค่าอุณหภูมิจาก DS18B20

ไลบรารี่สำหรับ DS18B20  เนื่องจากโปรแกรม Arduino IDE ไม่ได้มีการติดตั้งมาให้ตั้งแต่เริ่มต้นจึงจำเป็นต้องมีการติดตั้งเพิ่มเติ่มเข้าไปในโปรแกรมซึ่งต้องใช้ไลบรารี่ 2 ตัวและอยู่คนละเวปไซต์ ขั้นตอนดังนี้

1. ดาวน์โหลดไฟล์ zip
-OneWire.h จากเวปไซด์https://github.com/PaulStoffregen/OneWire
-DallasTemperature.h จากเวปไซด์ https://github.com/milesburton/Arduino-Temperature-Control-Library




2. ทำการเพิ่มไลบรารี่ลงในโปรแกรม Arduino IDE โดยการเพิ่มจากไฟล์ zip แล้วทำการหาไฟล์ zip ที่ได้จากการดาวน์โหลดในข้อ 1


โจทย์โปรแกรม

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

วงจรที่ใช้ทดลอง
กรณีใช้บอร์ดรุ่น NodeMCU

กรณีใช้บอร์ดรุ่น WeMos D1 mini


ตัวอย่างโปรแกรม
โค๊ด: [Select]
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(D2);                 //Connect to D2
DallasTemperature sensors(&oneWire);
void setup(void)
{
  Serial.begin(115200);
  Serial.println("Dallas Temperature IC DS18B20");
  sensors.begin();
}
void loop(void)
{
  Serial.print(" Requesting temperatures...");
  sensors.requestTemperatures();            // Send the command to get temperatures
  Serial.println("DONE");
  Serial.print("Temperature is: ");
  Serial.print(sensors.getTempCByIndex(0));
  Serial.println(" Degrees C");
  Serial.print("Temperature is: ");
  Serial.print(sensors.getTempFByIndex(0));
  Serial.println(" Degrees F");
}

ผลการรันจากโปรแกรมตัวอย่าง
« แก้ไขครั้งสุดท้าย: มีนาคม 19, 2018, 03:39:25 PM โดย admin »