🧃 自动售货机·嵌入式
从零起步
📚 30章 · 项目实战
01
项目全景与硬件选型
系统架构 · 主控STM32 · 电机驱动 · 传感器选型与成本分析
↗
02
开发环境搭建
Keil MDK安装配置 · CubeMX初始化 · 串口驱动安装调试
↗
03
GPIO基础与LED控制
GPIO模式 · 推挽/开漏 · 售货机状态指示灯
↗
04
按键输入与消抖
机械按键原理 · 软件消抖 · 状态机 · 选货按键编程
↗
05
定时器与PWM
SysTick · 通用定时器 · PWM控制电机转速
↗
06
外部中断
中断优先级 · EXTI · 按键触发售货流程
↗
07
串口通信 (UART)
UART协议 · 收发 · printf重定向 · 上位机调试
↗
08
ADC与传感器
单次/连续转换 · 光敏/温度传感器 · 环境监测
↗
09
I2C总线与EEPROM
I2C时序 · AT24C02读写 · 存储价格与库存
↗
10
SPI总线与LCD显示
SPI协议 · 0.96寸OLED · 商品信息与二维码
↗
11
电机驱动 (直流/步进)
L298N直流 · ULN2003步进 · 出货机构控制
↗
12
舵机控制
PWM控制舵机角度 · 退币口挡板开合
↗
13
称重传感器 (HX711)
HX711原理 · 重量读取校准 · 检测商品取走
↗
14
RFID模块 (RC522)
读卡原理 · SPI驱动 · 刷卡支付模拟
↗
15
Wi-Fi模块 (ESP8266)
AT指令 · 连接云平台 · 远程监控售货机
↗
16
蓝牙模块 (HC-05)
蓝牙配对 · 手机APP控制售货机
↗
17
实时时钟 (DS1302/DS3231)
RTC驱动 · 时间同步 · 定时促销活动
↗
18
看门狗与低功耗
IWDG · WWDG · 待机模式降低功耗
↗
19
FreeRTOS基础
任务创建/删除 · 优先级 · 临界区保护
↗
20
FreeRTOS同步机制
信号量 · 互斥量 · 队列 · 事件标志组
↗
21
状态机设计
售货机主状态机 · 空闲/选货/支付/出货/找零
↗
22
文件系统 (FatFS)
SD卡初始化 · FatFS挂载 · 交易日志记录
↗
23
GUI设计 (LVGL)
LVGL移植 · 按钮/标签/进度条 · 触摸屏交互
↗
24
支付模块集成
微信/支付宝扫码 · 串口支付模块 · 回调处理
↗
25
故障检测与报警
电机堵转 · 温度超限 · 传感器自检
↗
26
远程升级 (OTA)
Bootloader · 固件分包 · STM32 IAP升级
↗
27
数据加密与安全
AES加密通信 · 防固件盗取 · 安全认证
↗
28
系统联调与测试
单元测试 · 集成测试 · 压力测试 · EMC
↗
29
生产与部署
PCB打样 · BOM清单 · 批量烧录 · 现场安装
↗
30
项目总结与进阶
常见问题复盘 · 性能优化 · 边缘计算与AI预测补货
↗