ESP8266 Cảm biến nhiệt độ LM35 và màn hình LCD

Bài hướng dẫn này chỉ cho bạn cách sử dụng ESP8266 để lấy nhiệt độ từ cảm biến LM35 và hiển thị nó lên LCD I2C 16x2.

ESP8266 NodeMCU lm35 cảm biến nhiệt độ lcd

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

1×ESP8266 NodeMCU ESP-12E
1×Recommended: ESP8266 NodeMCU ESP-12E (Uno-form)
1×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×LCD I2C
1×LM35 Temperature Sensor
1×breadboard
1×dây jumper
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP8266
1×(Khuyến nghị) Power Splitter for ESP8266 Type-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Thông tin về cảm biến nhiệt độ LM35 và LCD I2C

Nếu bạn chưa quen với Cảm biến Nhiệt độ LM35 và LCD I2C (bao gồm sơ đồ chân, chức năng, lập trình, v.v.), bạn có thể tìm hiểu thêm trong các bài hướng dẫn sau:

Sơ đồ đấu dây

sơ đồ nối dây ESP8266 NodeMCU lm35 cảm biến nhiệt lcd

This image is created using Fritzing. Click to enlarge image

Xem thêm Sơ đồ chân ESP8266Cách cấp nguồn cho ESP8266.

Mã ESP8266 - Cảm biến nhiệt độ LM35 - LCD I2C

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU 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/esp8266/esp8266-lm35-temperature-sensor-lcd */ #include <LiquidCrystal_I2C.h> // LCD I2C library #define ADC_VREF_mV 5000.0 // in millivolt #define ADC_RESOLUTION 1024.0 #define PIN_LM35 A0 // pin connected to LM35 temperature sensor LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD I2C address 0x27 (from DIYables LCD), 16 column and 2 rows void setup() { Serial.begin(9600); lcd.init(); // Initialize the LCD I2C display lcd.backlight(); // open the backlight } void loop() { int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in Celsius float temperature_C = milliVolt / 10; float temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print(temperature_C); // print the temperature in Celsius lcd.print("°C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print(temperature_F); // print the temperature in Fahrenheit lcd.print("°F"); // print the temperature to Serial Monitor Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); delay(500); }

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

Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:

  • Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
  • Nối các thành phần như được hiển thị trong sơ đồ.
  • Kết nối bo mạch ESP8266 với máy tính của bạn bằng một cáp USB.
  • Mở Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch ESP8266 phù hợp, chẳng hạn như (ví dụ: NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
  • Nhấp vào biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
  • Tìm kiếm “LiquidCrystal I2C” và tìm thư viện LiquidCrystal_I2C của Frank de Brabander.
  • Nhấp vào nút Cài đặt để cài đặt thư viện LiquidCrystal_I2C.
thư viện liquidcrystal i2c cho ESP8266 NodeMCU
  • Sao chép mã nguồn và mở nó trong Arduino IDE.
  • Nhấn vào nút Tải lên để gửi nó đến ESP8266.
  • Đặt cảm biến vào nước nóng và nước lạnh hoặc giữ nó trong tay.
  • Kiểm tra màn hình LCD và Serial Monitor để xem kết quả.

※ Lưu ý:

Địa chỉ của LCD có thể khác nhau tùy thuộc vào nhà sản xuất. Trong mã của chúng tôi, chúng tôi đã sử dụng 0x27, đây là địa chỉ được chỉ định bởi DIYables.

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.