Arduino Cảm biến nhiệt độ Màn hình LCD

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×LCD I2C
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 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 độ và màn hình LCD

Nếu bạn chưa biết về cảm biến nhiệt độ và LCD (bản đồ chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu chúng trong các bài hướng dẫn dưới đây:

Sơ đồ đấu dây

  • Sơ đồ nối dây
sơ đồ kết nối Arduino với cảm biến nhiệt độ và lcd

This image is created using Fritzing. Click to enlarge image

  • Dây điện thật
sơ đồ nối dây lcd cho Arduino ds18b20

This image is created using Fritzing. Click to enlarge image

Chúng tôi đề xuất mua một cảm biến DS18B20 đi kèm với một bộ điều hợp dây để dễ kết nối. Bộ điều hợp có một điện trở tích hợp, loại bỏ nhu cầu dùng một điện trở riêng trong dây dẫn.

Mã Arduino

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> const int SENSOR_PIN = 13; // Arduino pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows float tempCelsius; // temperature in Celsius float tempFahrenheit; // temperature in Fahrenheit void setup() { sensors.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { sensors.requestTemperatures(); // send the command to get temperatures tempCelsius = sensors.getTempCByIndex(0); // read temperature in Celsius tempFahrenheit = tempCelsius * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print(tempCelsius); // print the temperature in Celsius lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print(tempFahrenheit); // print the temperature in Fahrenheit lcd.print((char)223); // print ° character lcd.print("F"); delay(500); }

※ Lưu ý:

Địa chỉ I2C của LCD có thể khác nhau tùy theo nhà sản xuất. Trong mã, chúng ta đã sử dụng 0x27 được nhà sản xuất DIYables chỉ định.

Hướng dẫn từng bước

  • Kết nối Arduino với máy tính qua cáp USB
  • Mở Arduino IDE, chọn board và cổng đúng
  • Điều hướng tới biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
  • Tìm kiếm “DallasTemperature”, sau đó tìm thư viện DallasTemperature do Miles Burton.
  • Nhấp nút Cài đặt để cài đặt thư viện DallasTemperature.
thư viện Arduino dallas temperature
  • Bạn sẽ được yêu cầu cài đặt các phụ thuộc của thư viện
  • Nhấp nút Cài đặt Tất cả để cài đặt thư viện OneWire.
thư viện onewire cho Arduino
  • Tìm kiếm “LiquidCrystal I2C”, sau đó tìm thư viện LiquidCrystal_I2C do Frank de Brabander sáng tác
  • Nhấp vào nút Cài đặt để cài đặt thư viện LiquidCrystal_I2C.
thư viện liquidcrystal i2c cho Arduino
  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino
tải mã lên Arduino ide
  • Đặt cảm biến vào nước nóng và nước lạnh, hoặc nắm cảm biến bằng tay bạn
  • Xem kết quả trên màn hình LCD
sơ đồ nối dây Arduino ds18b20 với lcd

This image is created using Fritzing. Click to enlarge image

Nếu LCD không hiển thị gì, xem Khắc phục sự cố trên LCD I2C

Giải thích mã nguồn

Đọc giải thích từng dòng trong các chú thích của mã nguồn!

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.