Raspberry Pi - Bluetooth LED Matrix

Deze handleiding legt uit hoe u een LED-matrixdisplay kunt bedienen met een smartphone via Bluetooth of BLE. De Raspberry Pi heeft ingebouwde Bluetooth Low Energy (BLE) functionaliteiten, waardoor een externe Bluetooth-module niet noodzakelijk is.

Om berichten van de smartphone naar het LED-matrixdisplay te sturen, gebruiken we de Bluetooth Serial Monitor App. Zodra het bericht door de Raspberry Pi is ontvangen, wordt het weergegeven op het LED-matrixdisplay.

Raspberry Pi LED matrix display Bluetooth

Hardware Benodigd

1×Raspberry Pi 5
1×HC-05 Bluetooth-Module
1×(Alternatief) HM-10 BLE Module
1×LED matrix display
1×Breadboard (experimenteerprint)
1×Jumper kabels (man-man)
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over LED matrix display en Bluetooth Module

Voordat u aan deze handleiding begint, is het aanbevolen dat u een basisbegrip heeft van LED matrix displays en Bluetooth modules, inclusief hun pinouts, werking en hoe ze geprogrammeerd worden. Als deze concepten niet bekend zijn, bekijk dan de volgende tutorials voor meer informatie:

Aansluitschema

  • Om het LED matrix display te bedienen met Classic Bluetooth, gebruiken we de HC-05 Bluetooth module
Raspberry Pi HC-05 Bluetooth Module LED matrix aansluitschema

This image is created using Fritzing. Click to enlarge image

  • Om het LED matrix display te bedienen met BLE, gebruiken we de HM-10 BLE Module
Raspberry Pi HM-10 BLE Module LED matrix aansluitschema

This image is created using Fritzing. Click to enlarge image

Raspberry Pi Code - LED matrix display bedienen via Bluetooth/BLE

De code kan gebruikt worden voor zowel de HC-05 Bluetooth module als de HM-10 BLE module. Het werkt in beide gevallen.

Snelle Stappen

  • Zorg dat u Raspbian of een ander compatibel besturingssysteem op uw Raspberry Pi heeft geïnstalleerd.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
  • Zorg dat uw Raspberry Pi verbonden is met internet als u extra libraries moet installeren.
  • Als u voor het eerst een Raspberry Pi gebruikt, zie dan hoe u Raspberry Pi instelt
  • Verbind uw pc via SSH met de Raspberry Pi, bijvoorbeeld met de ingebouwde SSH client op Linux/macOS of PuTTY op Windows. Zie hoe u pc verbindt met Raspberry Pi via SSH.
  • Controleer of de RPi.GPIO library geïnstalleerd is. Zo niet, installeer deze met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install luma.led_matrix
  • Installeer de pyserial library voor communicatie met de bluetooth module:
pip install pyserial
  • Maak een Python scriptbestand bluetooth_led_matrix.py aan en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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()
  • Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
python3 bluetooth_led_matrix.py
  • Download de Bluetooth Serial Monitor App op uw smartphone.
  • Start de Bluetooth Serial Monitor App op uw smartphone.
  • Kies Classic Bluetooth of BLE, afhankelijk van welke module u gebruikt.
Bluetooth Serial Monitor App
  • Verbind de Bluetooth App met de HC-05 Bluetooth module of de HM-10 BLE module.
Bluetooth Serial Monitor pairing
  • Typ een bericht, bijvoorbeeld “HELLO”
  • En druk daarna op de Send knop
  • Om het naar de Raspberry Pi te versturen.
Bluetooth Serial Monitor App
  • Bekijk het bericht dat wordt weergegeven op het LED matrix display en de Bluetooth App.
  • Controleer de output op de Android App.
Bluetooth Serial Monitor App

Als u de Bluetooth Serial Monitor app handig vindt, overweeg dan een 5-sterren beoordeling te geven in de Play Store. Uw mening wordt zeer gewaardeerd! Dank u wel!

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt bij de uitvoering van het stappenplan.

...

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!