- Đã chỉnh sửa
#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
và
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);
}