Arduino UNO R4 Cảm Biến Nhiệt Độ

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng cảm biến nhiệt độ DS18B20 1-wire với Arduino UNO R4. Cụ thể, chúng ta sẽ học:

Arduino UNO R4 cảm biến nhiệt độ

Phần Cứng Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×Cảm Biến Nhiệt Độ DS18B20 (CÓ Adapter)
1×Cảm Biến Nhiệt Độ DS18B20 (KHÔNG Adapter)
1×Dây Jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Cảm Biến Nhiệt Độ One Wire DS18B20

Sơ Đồ Chân

Cảm biến nhiệt độ DS18B20 có ba chân.

  • Chân GND: Kết nối với GND (0V).
  • Chân VCC: Kết nối với VCC (5V hoặc 3.3V).
  • Chân DATA: Đây là bus dữ liệu 1-Wire. Kết nối nó với một chân digital trên Arduino UNO R4.

Cảm biến có hai loại: dạng package TO-92 trông giống như transistor, và dạng probe chống nước. Trong hướng dẫn này, chúng ta sẽ sử dụng loại probe chống nước.

ds18b20 cảm biến nhiệt độ sơ đồ chân

Để kết nối cảm biến nhiệt độ DS18B20 với Arduino UNO R4, bạn cần một điện trở pull-up, điều này có thể phức tạp. Một số nhà sản xuất cung cấp adapter kết nối đã bao gồm điện trở pull-up và khối terminal ốc vít, giúp đơn giản hóa việc kết nối.

Sơ Đồ Kết Nối

  • Sơ đồ kết nối breadboard
Arduino UNO R4 cảm biến nhiệt độ sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ kết nối với wiring adapter
Arduino UNO R4 ds18b20 sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Chúng tôi khuyến nghị mua cảm biến DS18B20 với wiring adapter. Adapter này giúp kết nối đơn giản vì đã bao gồm điện trở, do đó bạn không cần thêm điện trở nào nữa.

Cách Lập Trình Cho Cảm Biến Nhiệt Độ DS18B20

  • Thêm thư viện:
#include <OneWire.h> #include <DallasTemperature.h>
  • Tạo đối tượng OneWire và đối tượng DallasTemperature cho chân kết nối với chân DATA của cảm biến.
OneWire oneWire(SENSOR_PIN); // Initialize a new OneWire instance on the sensor pin DallasTemperature DS18B20(&oneWire); // Create a DallasTemperature object linked to the OneWire instance
  • Thiết lập cảm biến:
DS18B20.begin(); // Start the sensor initialization process
  • Gửi lệnh để kiểm tra nhiệt độ:
DS18B20.requestTemperatures();
  • Kiểm tra nhiệt độ theo độ C.
temperature_C = DS18B20.getTempCByIndex(0);
  • (Tùy chọn) Chuyển đổi nhiệt độ Celsius sang Fahrenheit.
temperature_F = temperature_C * 9 / 5 + 32;

Code Arduino UNO R4

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 4 // The Arduino UNO R4 pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius float temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in Celsius Serial.print("°C"); Serial.print(" ~ "); // separator between Celsius and Fahrenheit Serial.print(temperature_F); // print the temperature in Fahrenheit Serial.println("°F"); delay(500); }

Các Bước Nhanh

Làm theo hướng dẫn từng bước:

  • Nếu đây là lần đầu bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Kết nối cảm biến nhiệt độ DS18B20 1-wire với Arduino Uno R4 theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi động Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Nhấp vào biểu tượng Libraries ở phía bên trái của Arduino IDE.
  • Tìm kiếm DallasTemperature và tìm thư viện của Miles Burton.
  • Nhấp nút Install để thêm thư viện DallasTemperature.
Arduino UNO R4 dallas temperature thư viện
  • Bạn cần cài đặt thư viện phụ thuộc
  • Nhấp nút Install All để cài đặt thư viện OneWire.
Arduino UNO R4 onewire thư viện
  • Sao chép code và mở nó trong Arduino IDE.
  • Nhấp nút Upload trong Arduino IDE để gửi code lên Arduino UNO R4.
  • Đặt cảm biến vào nước nóng và nước lạnh, hoặc cầm nó trong tay bạn.
  • Kiểm tra kết quả trên Serial Monitor.
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.