Raspberry Pi LED Matrix Display Điều Khiển qua Bluetooth

Hướng dẫn này sẽ chỉ bạn cách điều khiển màn hình LED matrix bằng smartphone thông qua Bluetooth hoặc BLE. Raspberry Pi có sẵn khả năng Bluetooth Low Energy (BLE) được tích hợp sẵn, vì vậy chúng ta không cần sử dụng module Bluetooth bên ngoài.

Để gửi tin nhắn từ smartphone đến màn hình LED matrix, chúng ta sẽ sử dụng Bluetooth Serial Monitor App. Khi tin nhắn được Raspberry Pi nhận, nó sẽ được hiển thị trên màn hình LED matrix.

Raspberry Pi LED matrix màn hình Bluetooth

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×HC-05 Bluetooth Module
1×(Thay thế) HM-10 BLE Module
1×LED matrix display
1×breadboard (bo mạch thí nghiệm)
1×dây jumper (dây nối)
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ề LED Matrix Display và Module Bluetooth

Trước khi bắt đầu hướng dẫn này, bạn nên có hiểu biết cơ bản về màn hình LED matrix và module Bluetooth, bao gồm sơ đồ chân, cách hoạt động và cách lập trình chúng. Nếu bạn chưa quen thuộc với những khái niệm này, vui lòng xem qua các hướng dẫn sau để biết thêm thông tin:

Sơ Đồ Kết Nối

  • Để điều khiển màn hình LED matrix với Classic Bluetooth, chúng ta cần sử dụng module HC-05 Bluetooth
Raspberry Pi hc-05 Bluetooth module LED matrix sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

  • Để điều khiển màn hình LED matrix với BLE, chúng ta cần sử dụng HM-10 BLE Module
Raspberry Pi hm-10 ble module LED matrix sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Code Raspberry Pi - Điều khiển LED matrix display qua Bluetooth/BLE

Code này có thể được sử dụng cho cả module HC-05 Bluetooth và module HM-10 BLE. Nó sẽ hoạt động hiệu quả trong cả hai trường hợp.

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

  • Đảm bảo bạn đã cài đặt Raspbian hoặc hệ điều hành tương thích với Raspberry Pi khác trên Pi của mình.
  • Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục 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 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
pip install luma.led_matrix
  • Cài đặt thư viện pyserial để giao tiếp với module bluetooth:
pip install pyserial
  • Tạo file script Python bluetooth_led_matrix.py và thêm 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-bluetooth-led-matrix from luma.led_matrix.device import max7219 from luma.core.interface.serial import spi, noop from luma.core.virtual import viewport, sevensegment from luma.core.legacy import show_message import serial from time import sleep CS_PIN = 25 # Replace with your actual CS pin BLOCK_NUM = 4 # Replace with your block number HEIGHT = 8 WIDTH = 8 * BLOCK_NUM # Define SPI interface serial = spi(port=0, device=0, gpio=noop(), cs=CS_PIN) # Define LED matrix device device = max7219(serial, cascaded=BLOCK_NUM, block_orientation=-90) # Define virtual device virtual = viewport(device, width=WIDTH, height=HEIGHT) # Create instance of sevensegment for text display ledMatrix = sevensegment(virtual) # Define serial port for Bluetooth communication bluetooth = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) def clear_display(): ledMatrix.text = " " sleep(1) # Main program try: bluetooth.flushInput() # Clear any existing data in the input buffer while True: bluetooth.write(b"Raspberry Pi here, command me!\n") if bluetooth.inWaiting() > 0: text = bluetooth.readline().decode('utf-8').strip() # Read until newline character clear_display() ledMatrix.text = text show_message(device, ledMatrix.text, fill="white", font=None, scroll_delay=0.1) # Send acknowledgment back to the smartphone app bluetooth.write(b"LED Matrix displayed: ") bluetooth.write(text.encode('utf-8')) bluetooth.write(b"\n") except KeyboardInterrupt: pass finally: device.cleanup() bluetooth.close()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 bluetooth_led_matrix.py
  • Tải Bluetooth Serial Monitor App về smartphone của bạn.
  • Khởi chạy Bluetooth Serial Monitor App trên smartphone của bạn.
  • Chọn Classic Bluetooth hoặc BLE, tùy thuộc vào module bạn đang sử dụng.
Bluetooth serial monitor app
  • Kết nối Bluetooth App với module HC-05 Bluetooth hoặc module HM-10 BLE.
Bluetooth serial monitor pairing
  • Gõ một tin nhắn, ví dụ "HELLO"
  • Và sau đó nhấn nút Send
  • để truyền nó đến Raspberry Pi.
Bluetooth serial monitor app
  • Hãy xem tin nhắn được hiển thị trên màn hình LED matrix và Bluetooth App.
  • Kiểm tra kết quả trên Android App.
Bluetooth serial monitor app

Nếu bạn thấy ứng dụng Bluetooth Serial Monitor hữu ích, vui lòng xem xét việc đánh giá 5 sao trên Play Store. Ý kiến của bạn rất được trân trọng! Cảm ơn bạ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.

Bài hướng dẫn liên quan