# Arduino_innoLab
**Repository Path**: BruceLeng/Arduino_innoLab
## Basic Information
- **Project Name**: Arduino_innoLab
- **Description**: nnoLab科创课堂上,制作的程序项目。可用Ardino IDE上传到 UNO、ESP32、行空板K10等设备。
- **Primary Language**: C
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-09-12
- **Last Updated**: 2026-09-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Arduino_innoLab
innoLab 科创课堂上制作的程序项目。可用 Arduino IDE 上传到 UNO、ESP32、行空板 K10 等设备。
---
## 仓库结构
| 目录 | 内容 | 索引 |
|---|---|---|
| `Bruce/` | Bruce(冷航)本人的项目:ESP32 / ESP32-C3 / 行空板 K10 / Arduino / WS2812 / 学生作品演示 | [**Bruce/README.md**](Bruce/README.md) |
| `student/` | 学生的课堂作品,每个项目自带 README | 见各自 README |
| `docs/` | 仓库级的通用规范与操作手册 | [Git 协作流程操作手册](docs/Git协作流程操作手册.md) |
## 重点项目
| 项目 | 说明 | 状态 |
|---|---|---|
| **[Bruce/ESP32/AirGuard](Bruce/ESP32/AirGuard/README.md)** | ICC2026 参赛作品:室内空气质量守护装置
甲醛 + PM2.5 + 温湿度 采集 → 2.4″ TFT 显示 → WS2812 灯带 → 超阈值联动继电器 | 🚧 开发中
2026-11 初提交 |
| [Bruce/ESP32/ZE08-CH2O](Bruce/ESP32/ZE08-CH2O/README.md) | 甲醛检测 + 阈值继电器联动(AirGuard 的前身,已冻结为 v1 验证存档) | ✅ 已实测通过 |
---
## 通用约定
### 目录与文件命名
- **一个项目一个文件夹**,结构为 `<平台>/<项目名>/`
- **项目文件夹名必须与 `.ino` 文件名完全一致**(Arduino 硬性要求,且不能含空格)
- 文档放项目内 `docs/`,图片/截图放 `assets/`,AI 对话导出放 `history/`
- 不使用空格、反引号、全角括号等特殊字符做文件名(跨平台克隆/压缩易出错)
### Git 提交规范
提交信息格式:`<类型>(<范围>): <简短描述>`
| 类型 | 含义 |
|---|---|
| `feat` | 新功能(新增模块、新增显示页面) |
| `fix` | 修 bug |
| `docs` | 只改文档 |
| `refactor` | 重构(功能不变) |
| `style` | 格式调整 |
| `perf` | 性能优化 |
| `chore` | 杂项(.gitignore、目录整理、改名) |
示例:
```text
feat(tft): 接入 2.4 寸 ILI9341,TFT_eSPI 直刷显示甲醛与温湿度
fix(ch2o): 离线判定阈值 3s → 6s,消除丢 1 帧即误报
docs(pinmap): 补充引脚分配表与 5V/2A 供电预算
```
**三条硬规则**:一条提交只做一件事;提交前必须能编译通过;提交信息写「为什么」,不只是「做了什么」。
> 分支模型、完整操作步骤、回滚剧本见 **[docs/Git协作流程操作手册.md](docs/Git协作流程操作手册.md)**。
### 硬件通用禁忌(跨项目复用)
- **不碰 strapping 脚**:`GPIO0 / 2 / 5 / 12 / 15`
- **`GPIO12` 绝对禁用**:被拉高会把 VDD_SDIO 切到 1.8 V,Flash 读取失败、板子起不来
- `GPIO6~11` 被 Flash 占用;`GPIO1 / 3` 是 USB 串口;`GPIO34/35/36/39` 只能模拟输入
- ESP32 项目 Flash Mode 固定 **DIO**
- 串口输出用自行封装的 `serialOut()`,**不要用 `Serial.printf`**
- 多模块供电一律外接 **5V/2A**,继电器、WS2812 不要挂 3.3V
### 编译与上传
用 Arduino IDE 打开项目文件夹内的 `.ino`,选择对应开发板与端口后上传:
| 平台 | 开发板选择 |
|---|---|
| ESP32 | ESP32 Dev Module(Flash Mode: DIO) |
| ESP32-C3 | ESP32C3 Dev Module |
| 行空板 K10 | 见项目 README 内的板型说明 |
| Arduino UNO | Arduino Uno |
---
*—— 冷航 / innoLab*