IOT > Internet of Thing ESP32 | ESP8266 : การเขียนโปรแกรมอ่านค่าอุณหภูมิจาก DS18B20

การเขียนโปรแกรมอ่านค่าอุณหภูมิจาก 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");
}

ผลการรันจากโปรแกรมตัวอย่าง

ความคิดเห็น