[提案] 迷你项目梯度清单:7 个板载零采购 demo(system→闭环→Qt 触摸)
📌 背景
IMX-Forge 当前的「项目」层存在明显的梯度断层:
- ✅ 底层驱动教程已完成 23 个(chardev → led → gpio → key → i2c → spi → 触摸 → RTC → 音频),单点技能已铺满
- 🏗️ 旗舰项目 PROJ-001 / PROJ-002 均为 ⭐⭐⭐⭐⭐、30 天、展会级,且 PROJ-001 还需额外采购 AHT10/BMP280/MPU6050/BH1750
- ❌ 中间缺一层:能把多个已学技能串起来、1–4 天能出成品、有展示性的「迷你项目」
本 issue 提案用 7 个迷你项目填补这一层。全部使用 i.MX6ULL 板载外设,零额外采购,按 单传感器轻 GUI → 闭环小成品 → Qt 触摸综合 三档梯度铺开,GUI 复杂度逐级加码。
📊 总览
| 梯度 |
编号 |
项目 |
形态 |
主传感器 |
难度 |
周期 |
落点 |
| L1 单传感器轻GUI |
A1 |
light-meter 光距监测面板 |
Qt |
AP3216C |
⭐⭐ |
1–2天 |
examples/qt/light-meter |
| L1 单传感器轻GUI |
A2 |
level-tool 电子水平仪 |
Qt |
ICM20608 |
⭐⭐⭐ |
2天 |
examples/qt/level-tool |
| L2 闭环小成品 |
B1 |
nightlight 自感应小夜灯 |
Qt+逻辑 |
AP3216C |
⭐⭐⭐ |
2天 |
examples/project/nightlight |
| L2 闭环小成品 |
B2 |
knock-detector 敲击开关 |
Qt+逻辑 |
ICM20608 |
⭐⭐⭐ |
2天 |
examples/project/knock-detector |
| L3 触摸综合 |
C1 |
touch-paint 触摸画板 |
Qt |
GT9147 |
⭐⭐⭐ |
2天 |
examples/qt/touch-paint |
| L3 触摸综合 |
C2 |
voice-recorder 录音机 |
Qt |
WM8960 |
⭐⭐⭐⭐ |
3天 |
examples/qt/voice-recorder |
| L3 触摸综合 |
C3 |
sensor-dashboard 仪表盘 |
Qt |
全集成 |
⭐⭐⭐⭐ |
4天 |
examples/qt/sensor-dashboard |
🧱 设计原则
- 板载零采购 — 全部基于 AP3216C / ICM20608 / GT9147 / WM8960 / LED / KEY / 蜂鸣器 / LCD,假定板子齐全可用,无需额外硬件
- 最大化复用 — 直接调用已落地的驱动教程(03 led / 04 beep / 05–07 key / 08 ap3216c / 09 icm20608 / 11 goodix / 12 wm8960),userspace 通过
/dev、sysfs、/dev/input、ALSA 读取
- GUI 复杂度逐级加码 — L1 单控件仪表 → L2 状态面板+后台算法 → L3 多页交互综合
- 每个 1–4 天 — 可独立交付,也可作为旗舰项目前置练手
📋 项目需求详情
L1 · 单传感器轻 GUI
A1 · light-meter 光照/距离监测面板 ⭐⭐ · 1–2 天
- 目标:触摸屏一屏看环境光强与接近距离,带实时曲线
- 硬件:LCD + 触摸 + AP3216C
- 复用:08 ap3216c + qt/button_click 工程骨架
- 数据流:后端线程读 ALS/PS → 信号槽 → 前端 QCustomPlot 曲线 + 仪表数字
- 功能点:① 光照(lux)大数字 + 实时折线 ② 接近距离条状指示 ③ 超阈区域变红告警 ④ 一键导出 CSV
- 验收:手遮挡→距离条满 + 变红、曲线实时跳;CSV 可在 PC 绘图
A2 · level-tool 电子水平仪 ⭐⭐⭐ · 2 天
- 目标:触摸屏气泡水平仪,倾斜超阈蜂鸣
- 硬件:LCD + 触摸 + ICM20608 + 蜂鸣器
- 复用:09 icm20608 + 04 beep + Qt
- 数据流:SPI 读 accel → 倾角公式 → QPainter 渲染气泡十字 → |倾角| > Δ 蜂鸣
- 功能点:① 气泡水平仪可视化(十字 + 随倾移动气泡)② pitch/roll 数字读数 ③ 校准模式(放平置零)④ 超阈声光报警 ⑤ 灵敏度滑杆
- 验收:倾斜板子气泡跟手;校准后水平态 ≈ 0°;过阈响铃
L2 · 闭环小成品(后台算法 + 状态 GUI)
B1 · nightlight 自感应小夜灯 ⭐⭐⭐ · 2 天
- 目标:环境变暗自动亮灯、触摸调亮度,自动/手动可切
- 硬件:AP3216C + LED + 触摸/KEY
- 复用:08 ap3216c + 03/16 led + Qt
- 数据流:ALS 采光 → 滞回比较(防抖)→ LED 亮度(呼吸/分级)→ GUI 显示当前模式与亮度
- 功能点:① 光控自动开关(带滞回)② 手动调光滑杆 ③ 渐亮渐灭 ④ 自动/手动模式切换面板
- 验收:遮光即亮、见光即灭无抖动;滑杆连续调光
B2 · knock-detector 敲击开关 ⭐⭐⭐ · 2 天
- 目标:敲一下板子切换灯状态(拍手开灯式),GUI 滚动显示事件
- 硬件:ICM20608 + LED + 蜂鸣器
- 复用:09 icm20608 + LED + Qt
- 数据流:SPI 高频读 accel → 滑动方差/峰值检测 → 事件判定 → 翻转 LED → GUI 滚动事件日志
- 功能点:① 敲击检测(区分「敲」与「移动」)② 单击/双击可切 ③ 灵敏度可调 ④ 事件波形 + 日志面板
- 验收:敲一下切换、拿起板子不误触;GUI 实时滚事件
L3 · Qt 触摸综合应用
C1 · touch-paint 触摸画板 ⭐⭐⭐ · 2 天
- 目标:触摸手绘画板,换色/清屏/存 BMP
- 硬件:LCD + GT9147 触摸
- 复用:11 goodix + qt/button_click
- 数据流:触摸事件 → QPainter 在 QImage 画轨迹 → LCD → 存 BMP
- 功能点:① 多色画笔 + 粗细 ② 橡皮/清屏 ③ 存 BMP 到 SD/NFS ④ 撤销(可选)
- 验收:触摸跟手无断线;BMP 在 PC 能打开
C2 · voice-recorder 录音机 ⭐⭐⭐⭐ · 3 天
- 目标:录音 → 波形 → 存 WAV → 回放
- 硬件:WM8960 + LCD
- 复用:12 wm8960(capture 方向需另测)+ Qt
- 数据流:ALSA capture → 环形缓冲 → QImage 波形 → 写 WAV(加头)→ playback 回放
- 功能点:① 录/停/放 ② 实时波形 ③ 命名保存 ④ 电平指示
- 验收:录到的声音回放清晰;WAV 在 PC 可播;波形随声跳动
C3 · sensor-dashboard 传感仪表盘 ⭐⭐⭐⭐ · 4 天 · 🚩 旗舰前置
- 目标:触摸屏一屏集成 光照曲线 + 姿态球 + LED 控制 + 按键状态
- 硬件:AP3216C + ICM20608 + LED + KEY + LCD/触摸
- 复用:08 + 09 + 03/16 + 05–07 + 11 + button_click —— 一次串五个已学技能
- 数据流:后端线程轮询各
/dev → 信号槽 → 前端 QCustomPlot 曲线 / 3D 姿态球 / 开关卡片 / 多页 Tab
- 功能点:① 光照实时折线 ② 六轴姿态球(触摸可旋转)③ LED 灯控卡片 ④ 按键事件提示 ⑤ 多页切换
- 验收:四模块同屏实时刷新无卡顿;触摸切换正常
- 📌 战略价值:完成后即为 D3-001「Qt6 完整应用示例」 的最小可行版,PROJ-001 可直接复用其传感器 + Qt 层 60%+
[提案] 迷你项目梯度清单:7 个板载零采购 demo(system→闭环→Qt 触摸)
📌 背景
IMX-Forge 当前的「项目」层存在明显的梯度断层:
本 issue 提案用 7 个迷你项目填补这一层。全部使用 i.MX6ULL 板载外设,零额外采购,按
单传感器轻 GUI → 闭环小成品 → Qt 触摸综合三档梯度铺开,GUI 复杂度逐级加码。📊 总览
light-meter光距监测面板examples/qt/light-meterlevel-tool电子水平仪examples/qt/level-toolnightlight自感应小夜灯examples/project/nightlightknock-detector敲击开关examples/project/knock-detectortouch-paint触摸画板examples/qt/touch-paintvoice-recorder录音机examples/qt/voice-recordersensor-dashboard仪表盘examples/qt/sensor-dashboard🧱 设计原则
/dev、sysfs、/dev/input、ALSA 读取📋 项目需求详情
L1 · 单传感器轻 GUI
A1 ·
light-meter光照/距离监测面板 ⭐⭐ · 1–2 天A2 ·
level-tool电子水平仪 ⭐⭐⭐ · 2 天L2 · 闭环小成品(后台算法 + 状态 GUI)
B1 ·
nightlight自感应小夜灯 ⭐⭐⭐ · 2 天B2 ·
knock-detector敲击开关 ⭐⭐⭐ · 2 天L3 · Qt 触摸综合应用
C1 ·
touch-paint触摸画板 ⭐⭐⭐ · 2 天C2 ·
voice-recorder录音机 ⭐⭐⭐⭐ · 3 天C3 ·
sensor-dashboard传感仪表盘 ⭐⭐⭐⭐ · 4 天 · 🚩 旗舰前置/dev→ 信号槽 → 前端 QCustomPlot 曲线 / 3D 姿态球 / 开关卡片 / 多页 Tab