Raspberry Pi Cảm biến Nhiệt độ OLED

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng Raspberry Pi để thu thập nhiệt độ từ cảm biến một dây DS18B20 và sau đó hiển thị nó trên màn hình OLED.

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×SSD1306 I2C OLED Display 128x64
1×SSD1306 I2C OLED Display 128x32
1×Cảm biến Nhiệt độ DS18B20 (CÓ Adapter)
1×Cảm biến Nhiệt độ DS18B20 (KHÔNG CÓ Adapter)
1×Điện trở 4.7 kΩ
1×breadboard (bo mạch thí nghiệm)
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ề OLED và Cảm biến Nhiệt độ DS18B20

Nếu bạn chưa quen thuộc với OLED và Cảm biến Nhiệt độ DS18B20 (bao gồm pinout, cách hoạt động, lập trình, v.v.), các hướng dẫn sau có thể giúp bạn:

Sơ Đồ Kết Nối

sơ đồ kết nối Raspberry Pi ds18b20 cảm biến nhiệt độ oLED

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ết nối đi kèm để có một thiết lập hoàn hảo. Adapter này bao gồm một điện trở tích hợp, loại bỏ nhu cầu sử dụng thêm điện trở trong quá trình kết nối.

Code Raspberry Pi - Lấy nhiệt độ từ Cảm biến DS18B20 và hiển thị trên OLED

Các Bước Nhanh

  • Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích nào khác trên Raspberry Pi của bạn.
  • Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng nội bộ 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 một số 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 tích hợp 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 diện 1-Wire trên Raspberry Pi. Xem Cách kích hoạt giao diện 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 Adafruit-SSD1306
  • Tạo một file script Python DS18B20_OLED.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-oled import time from w1thermsensor import W1ThermSensor import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont # Set up the DS18B20 sensor DS18B20 = W1ThermSensor() # Set up the SSD1306 OLED display RST = None OLED = Adafruit_SSD1306.SSD1306_128_64(rst=RST) OLED.begin() OLED.clear() OLED.display() # Set up fonts and drawing width = OLED.width height = OLED.height image = Image.new('1', (width, height)) draw = ImageDraw.Draw(image) font = ImageFont.load_default() while True: # Read temperature from DS18B20 sensor temperature = DS18B20.get_temperature() # Clear the OLED display draw.rectangle((0, 0, width, height), outline=0, fill=0) # Display temperature on OLED draw.text((5, 5), f'Temperature: {temperature:.2f} C', font=font, fill=255) # Update the OLED display OLED.image(image) OLED.display() # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: # Clean up code before exiting the script OLED.clear() OLED.display() print("\nExiting the script.")
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 DS18B20_OLED.py

Script chạy trong một 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 trên nước nóng và nước lạnh, hoặc cầm nó trong tay.
  • Kiểm tra kết quả trên màn hình OLED.