一个基于ESP32和HUB75E LED矩阵的智能LED显示控制器项目,支持Android App远程控制,实现文字显示、图片绘制、GIF动画播放等功能。
🎬 观看完整演示视频
- 文字显示: 支持静态文字和滚动文字显示
- 图片绘制: 64x64像素画布,支持实时绘制
- GIF动画: 内置多种GIF动画,支持循环播放
- 亮度调节: 0-100%亮度调节
- 蓝牙控制: 通过BLE协议远程控制
- 直观界面: 简洁易用的用户界面
- 实时控制: 实时调节亮度和绘制
- 设备管理: 自动连接和重连功能
- 多语言支持: 中文界面
- 配置保存: 自动保存用户偏好设置
- ESP32主控: 强大的WiFi+蓝牙双模芯片
- HUB75E接口: 标准LED矩阵驱动接口
- 64x64分辨率: 4096个LED像素点
- 高刷新率: 流畅的显示效果
- 低功耗设计: 节能环保
ESP32 → HUB75E接口 → LED矩阵
↓
蓝牙BLE ← → Android App
- Arduino固件: ESP32端控制程序
- Android应用: 用户控制界面
- BLE协议: 设备通信协议
- 图形处理: 图像转换和显示算法
LEDController/
├── android/ # Android应用
│ └── MyLedApp/
│ ├── app/src/main/
│ │ ├── java/ # 应用代码
│ │ ├── res/ # 资源文件
│ │ └── AndroidManifest.xml
│ └── build.gradle # 构建配置
├── arduino_esp32/ # ESP32固件
│ └── myled_hub75e/
│ ├── myled_hub75e.ino # 主程序
│ ├── config.h # 配置文件
│ └── *.cpp/*.h # 功能模块
├── archives/
│ └── app-release.apk #android apk
│ ├── myled_hub75e.ino #esp32 固件
├── art/ # 项目图片
│ ├── app_main.png # 应用主界面
│ ├── app_paint.png # 绘图界面
│ ├── app_gif_list.png # GIF列表
│ ├── esp32_board.png # ESP32开发板
│ └── led_display.jpg # LED显示效果
└── README.md # 项目说明
- ESP32开发板 × 1
- HUB75E LED矩阵 (64x64) × 1
- 连接线 若干
- 电源适配器 (5V/3A)
- Arduino IDE 或 PlatformIO
- Android Studio (用于编译Android应用)
- Android设备 (Android 6.0+)
esp32和hub75e屏幕
R1 -> 25 G1-> 26
B1 -> 27 GND-->GND
R2 ->14 G2->12
B2 ->13 E-> 32
A ->23 B-> 22
C -> 5 D->17
CLK-> 16 LAT->4
OE-> 15 GND->GND
- 打开Arduino IDE
- 选择ESP32开发板
- 打开
arduino_esp32/myled_hub75e/myled_hub75e.ino
- 编译并上传到ESP32
- 使用Android Studio打开
android/MyLedApp/
- 连接Android设备
- 编译并安装应用
- 打开Android应用
- 确保蓝牙已开启
- 点击"重连"按钮
- 等待设备连接成功
- 在"静态文字"输入框中输入文字
- 调节文字大小(小/中/大)
- 点击"发送"按钮
- 在"滚动文字"输入框中输入文字
- 调节文字大小和滚动速度
- 点击"发送"按钮
- 点击"绘图"按钮进入绘图界面
- 选择绘制模式(拖拽/填充)
- 在64x64画布上绘制图案
- 开启"实时更新"可实时显示到LED
- 点击"GIF"按钮进入GIF列表
- 选择要播放的GIF动画
- 点击播放按钮
- 在主界面调节亮度滑块
- 亮度范围:0-100%
- 设置会自动保存
在 arduino_esp32/myled_hub75e/config.h
中:
// LED矩阵配置
#define MATRIX_WIDTH 64
#define MATRIX_HEIGHT 64
#define MATRIX_PANELS 4
// 蓝牙配置
#define DEVICE_NAME "MyLED"
#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
在 android/MyLedApp/app/src/main/java/com/vincent/android/myled/utils/Constants.kt
中:
// 设备地址
const val LED_DEVICE_ADDRESS = "B0:A7:32:FD:02:9E"
// 服务UUID
const val LED_SERVICE_UUID = "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
Q: 设备连接失败 A: 检查蓝牙是否开启,设备是否在范围内,尝试重启应用
Q: LED显示异常 A: 检查硬件连接,确认电源电压稳定
Q: 应用崩溃 A: 检查Android版本兼容性,重新安装应用
Q: 绘图功能无响应 A: 确认设备已连接,检查实时更新开关
欢迎提交Issue和Pull Request!
- Arduino IDE 1.8.x 或 PlatformIO
- Android Studio 4.x+
- ESP32开发板
- Android设备
- 遵循Arduino和Android开发规范
- 添加适当的注释
- 保持代码简洁清晰
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
- ESP32 Arduino库
- HUB75E LED矩阵驱动库
- Android BLE库
- 所有贡献者和测试用户
- 项目主页: GitHub Repository
- 演示视频: Bilibili
- 问题反馈: Issues
⭐ 如果这个项目对您有帮助,请给我一个Star!
⭐ 如果您觉得我帮你节省了大量的开发时间,请扫描下方的二维码随意打赏,要是能打赏个 10.24 🐵就太👍了。您的支持将鼓励我继续进行分享。