Trang chủ / Bài viết

Hướng dẫn sử dụng DS18B20 cảm biến nhiệt độ với Arduino
Trong hướng dẫn này, tôi sẽ chỉ cho bạn làm thế nào để đọc được nhiệt độ với bộ cảm biến nhiệt độ DS18B20 với bảng Arduino.

Cảm biến nhiệt độ DS18B20 là một cảm biến nhiệt độ kỹ thuật số 1-wire. Điều này có nghĩa rằng bạn có thể đọc được nhiệt độ với một thiết lập mạch rất đơn giản. Bạn có thể kết nối nhiều thiết bị và đọc giá trị của họ chỉ cần sử dụng một pin kỹ thuật số của Arduino.

bộ cảm biến chỉ có ba chân như bạn có thể nhìn thấy trong hình dưới đây:

DS18B20

Tính năng, đặc điểm

Dưới đây là một số tính năng chính của bộ cảm biến nhiệt độ DS18B20:

  • giao tiếp bus Comunicates hơn 1 dây
  • nhiệt độ phạm vi hoạt động: -55ºC đến 125ºC
  • Độ chính xác +/- 0,5 ºC (giữa -10ºC phạm vi đến 85ºC)

Đọc nhiệt độ với bộ cảm biến nhiệt độ DS18B20 và Arduino

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

schematics

Các cảm biến có thể hoạt động ở hai chế độ:

  • Bình thường chế độ: kết nối 3-dây là cần thiết. Dưới đây là sơ đồ bạn cần phải làm theo:
mode_bb bình thường
  • Parasite chế độ: chỉ có 2 dây buộc, các dữ liệu và mặt đất. Các cảm biến có nguồn gốc sức mạnh của nó từ dòng dữ liệu. Trong trường hợp này, đây là sơ đồ bạn cần phải làm theo:
ký sinh trùng mode_bb
Bạn có thể đọc được nhiệt độ nhiều hơn một cảm biến cùng một lúc chỉ sử dụng một kỹ thuật số pin Arduino. Cho rằng, bạn chỉ cần kết nối với nhau tất cả các chân DQ cho bất kỳ pin Arduino kỹ thuật số.

Bạn sẽ cần phải cài đặt các thư viện OneWire và Thư viện DallasTemperature.

Cài đặt thư viện OneWire

  1. Nhấn vào đây để tải về thư viện OneWire . Bạn nên có một thư mục .zip trong Downloads của bạn
  2. Giải nén .zip thư mục và bạn sẽ nhận được OneWire-master thư mục
  3. Đổi tên thư mục của bạn từ OneWire-master để  OneWire
  4. Di chuyển OneWire  thư mục để cài đặt Arduino IDE của bạn  thư viện  thư mục
  5. Cuối cùng, lại mở Arduino IDE của bạn

Cài đặt  Thư viện DallasTemperature

  1. Nhấn vào đây để tải về thư viện DallasTemperature . Bạn nên có một thư mục .zip trong Downloads của bạn
  2. Giải nén .zip thư mục và bạn sẽ nhận được Arduino-Nhiệt-Control-Thư viện-masterthư mục
  3. Đổi tên thư mục của bạn từ Arduino-Nhiệt-Control-Thư viện-master đểDallasTemperature
  4. Di chuyển DallasTemperature  thư mục để cài đặt Arduino IDE của bạn  thư viện thư mục
  5. Cuối cùng, lại mở Arduino IDE của bạn

Sau khi cài đặt các thư viện cần thiết, tải lên các mã sau vào bảng Arduino của bạn.

/*********
  Rui Santos
  Complete project details at http://randomnerdtutorials.com  
  Based on the Dallas Temperature Library example
*********/


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

// Data wire is conntec to the Arduino digital pin 2
#defineONE_WIRE_BUS2

// Setup a oneWire instance to communicate with any OneWire devices
OneWireoneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature sensor
DallasTemperaturesensors(&oneWire);

voidsetup(void)
{
 
// Start serial communication for debugging purposes
 
Serial.begin(9600);
 
// Start up the library
  sensors
.begin();
}


voidloop(void){
 
// Call sensors.requestTemperatures() to issue a global temperature and Requests to all devices on the bus
  sensors
.requestTemperatures();
 
 
Serial.print("Celsius temperature: ");
 
// Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
 
Serial.print(sensors.getTempCByIndex(0));
 
Serial.print(" - Fahrenheit temperature: ");
 
Serial.println(sensors.getTempFByIndex(0));
  delay
(1000);
}
 
TRA CỨU MÃ VẬN ĐƠN VÀ HÀNH TRÌNH VẬN CHUYỂN
Hotline hỗ trợ vận đơn: 0985 084 693 (Hỗ trợ tra mã vận đơn chuyển phát)
Danh Mục

Đang xử lý...