Raspberry Pi Cảm Biến Nhiệt Độ LCD

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi để đọc nhiệt độ từ cảm biến DS18B20 one-wire và hiển thị kết quả trên màn hình LCD I2C.

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×LCD I2C
1×Cảm Biến Nhiệt Độ DS18B20 (CÓ Adapter)
1×Cảm Biến Nhiệt Độ DS18B20 (KHÔNG Adapter)
1×Điện trở 4.7 kΩ
1×breadboard
1×Dây Jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi
1×(Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit
1×(Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi

Or you can buy the following kits:

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

Về Cảm Biến Nhiệt Độ và LCD

Nếu bạn chưa quen thuộc với cảm biến nhiệt độ và LCD (sơ đồ chân, cách hoạt động, cách lập trình ...), các hướng dẫn sau có thể giúp bạn:

Sơ Đồ Kết Nối

  • Sơ đồ kết nối sử dụng terminal adapter (được khuyên dùng).
sơ đồ kết nối Raspberry Pi ds18b20 cảm biến nhiệt độ lcd

This image is created using Fritzing. Click to enlarge image

Chúng tôi khuyên bạn nên mua cảm biến DS18B20 cùng với adapter kèm theo để có setup dễ dàng nhất. Adapter này đã tích hợp sẵn điện trở, giúp loại bỏ nhu cầu sử dụng điện trở bổ sung trong mạch.

Code Raspberry Pi

※ Lưu ý:

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

Các Bước Thực Hiện

  • Đảm bảo bạn đã cài đặt Raspbian hoặc hệ điều hành khác tương thích với Raspberry Pi.
  • Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng local với PC của bạn.
  • Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt các thư viện.
  • Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, hãy xem Raspberry Pi - Cài Đặt Phần Mềm
  • Kết nối PC của bạn với Raspberry Pi qua SSH bằng SSH client có sẵn trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC với Raspberry Pi qua SSH.
  • Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, hãy cài đặt bằng lệnh sau:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Trước khi sử dụng cảm biến nhiệt độ DS18B20 với Raspberry Pi, chúng ta cần kích hoạt giao tiếp 1-Wire trên Raspberry Pi. Xem Cách kích hoạt giao tiếp 1-Wire trên Raspberry Pi
  • Cài đặt thư viện cho cảm biến nhiệt độ DS18B20 bằng cách chạy lệnh sau:
pip install w1thermsensor
pip install lcddriver
  • Tạo file Python script temperature_lcd.py và thêm đoạn code sau:
# Mã Raspberry Pi này được phát triển bởi newbiely.vn # Mã Raspberry Pi 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/raspberry-pi/raspberry-pi-temperature-sensor-lcd import lcddriver import time from w1thermsensor import W1ThermSensor # Initialize the LCD lcd = lcddriver.lcd() # Find the connected DS18B20 sensor def find_ds18b20_sensor(): for sensor in W1ThermSensor.get_available_sensors(): if sensor.type == W1ThermSensor.THERM_SENSOR_DS18B20: return sensor return None # Read temperature from the sensor def read_temperature(sensor): temperature_celsius = sensor.get_temperature() return temperature_celsius # Find DS18B20 sensor ds18b20_sensor = find_ds18b20_sensor() if ds18b20_sensor is not None: print(f"DS18B20 Sensor found: {ds18b20_sensor.id}") try: while True: # Read temperature temperature_c = read_temperature(ds18b20_sensor) # Display temperature on LCD lcd.lcd_display_string(f"Temp: {temperature_c:.2f} C", 1) # Wait for a moment before reading again time.sleep(2) lcd.lcd_clear() except KeyboardInterrupt: pass else: print("DS18B20 Sensor not found.")
  • Lưu file và chạy Python script bằng cách thực hiện lệnh sau trong terminal:
python3 temperature_lcd.py

Script sẽ chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.

  • Đặt cảm biến vào nước nóng và nước lạnh, hoặc cầm nó trong tay.
  • Kiểm tra kết quả trên LCD.

Nếu LCD không hiển thị gì, hãy tham khảo Khắc Phục Sự Cố LCD I2C để được hỗ trợ.

Giải Thích Code

Hãy xem phần giải thích từng dòng được mô tả trong các comment của source code!

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.