#DS18B20

Ứng dụng: Đo nhiệt độ, cảnh báo quá nhiệt, tự động hóa thiết bị nhiệt

Cảm biến nhiệt độ DS18B20 là cảm biến nhiệt độ kỹ thuật số 1 dây. Điều này có nghĩa là bạn có thể đọc nhiệt độ với thiết lập mạch rất đơn giản.

Thông số

Dưới đây, một số thông sốchính của cảm biến nhiệt độ DS18B20:

  • Giao tiếp 1 dây
  • Nhiệt độ hoạt động: -55ºC đến 125ºC
  • Độ chính xác +/- 0,5 ºC (trong khoảng từ -10ºC đến 85ºC)

Cảm biến nhiệt độ DS18B20 với Arduino

Trong ví dụ này, bạn sẽ đọc nhiệt độ bằng cảm biến DS18B20 và hiển thị trên Arduino serial Monitor.

Sơ đồ đấu dây

Chương trình mẫu

Đầu tiên bạn cần cài 2 thư viện sau:
https://github.com/PaulStoffregen/OneWire/archive/master.zip

https://github.com/milesburton/Arduino-Temperature-Control-Library/archive/master.zip
Giải nén và copy vào thư mục libraries của Arduino IDE

#include <OneWire.h>
#include <DallasTemperature.h>

// Chân đầu ra cảm biến đấu vào D4
#define ONE_WIRE_BUS 4

// Khởi động oneWire
OneWire oneWire(ONE_WIRE_BUS);

// Load thư viện với kiếu nối oneWire
DallasTemperature sensors(&oneWire);

void setup(void)
{
  Serial.begin(9600);
  // Begin cảm biến
  sensors.begin();
}

void loop(void){ 
  // gọi hàm sensors.requestTemperatures() để lấy nhiệt độ
  sensors.requestTemperatures(); 
  
  Serial.print("Nhiet do (do C): ");
  // Index 0 là oneWire cho thiết bị đầu tiên (vì có 1 cảm biến)
  Serial.print(sensors.getTempCByIndex(0)); 
  Serial.print("Nhiet do (do F): ");
  Serial.println(sensors.getTempFByIndex(0));
  delay(1000);
}
  • making đã trả lời bài viết này.
  • making đã thích điều này.

    motniemtin Cảm ơn bạn đã tham gia với making.vn