尚硅谷Java培训

温湿度闹钟

视频介绍

嵌入式项目:温湿度闹钟,是一套基于STM32主控芯片,软硬件结合的完整教程,使用了FreeRTOS操作系统,完成复杂的闹钟业务逻辑。

教程共分为四部分组成:
一部分,完成硬件打板工作,得到一个功能齐全的开发板;
第二部分,软件开发环境的部署,核心的Keil_MDK编译烧录软件和优化代码编写体验的VSCode,同时使用STM32CubeMX来实现项目的构建;
第三部分,进行FreeRTOS操作系统的移植工作;
最后一部分,实现温湿度闹钟功能的开发。

教程前置知识:需要掌握STM32基础,FreeRTOS等内容教程中会做讲解。

视频目录 选集

  • 01_温湿度闹钟课程介绍
  • 02_温湿度闹钟市场产品调研
  • 03_硬件_主控芯片介绍
  • 04_硬件_嘉立创EDA安装和激活
  • 05_硬件_嘉立创EDA基础功能页面介绍
  • 06_原理图_原理图器件总结
  • 07_原理图_如何查找主控芯片电路
  • 08_原理图_最小电路晶振电路
  • 09_原理图_最小电路供电电路
  • 10_原理图_最小电路复位电路
  • 11_原理图_最小电路烧录控制
  • 12_原理图_电源管理接口
  • 13_原理图_电池保护芯片
  • 14_原理图_充电管理芯片
  • 15_原理图_降压稳压芯片
  • 16_原理图_开关模块
  • 17_原理图_声控检测
  • 18_原理图_实时时钟模块
  • 19_原理图_温湿度传感器
  • 20_原理图_音频播放
  • 21_原理图_灯管驱动芯片
  • 22_原理图_灯管供电连接管理
  • 23_原理图_LED灯管摆放上
  • 24_原理图_LED灯管摆放下
  • 25_原理图_配置主控芯片引脚
  • 26_PCB_绘制底板
  • 27_PCB_布局控制板正面器件
  • 28_PCB_布局控制板背面器件
  • 29_PCB_5V电源布线
  • 30_PCB_VCC供电和3.3V供电
  • 31_PCB_主控芯片最小电路布线
  • 32_PCB_开关布线
  • 33_PCB_声控模块布局
  • 34_PCB_实时时钟布线
  • 35_PCB_温湿度闹钟和串口引脚
  • 36_PCB_音频播放和LED板接口
  • 37_PCB_构建铺铜GND网络
  • 38_PCB_开发板美化
  • 39_PCB_下单打板
  • 40_PCB_LED灯板丝印
  • 41_PCB_将LED灯摆放到丝印为止
  • 42_PCB_摆放LED驱动芯片位置
  • 43_PCB_供电位置的布线
  • 44_PCB_供电控制的布线
  • 45_PCB_LED驱动芯片布线
  • 46_PCB_LED灯控制引脚布线
  • 47_PCB_LED灯控制引脚布线
  • 48_PCB_连接剩余的控制线
  • 49_PCB_连接供电布线
  • 50_PCB_完成LED灯板
  • 51_PCB_STM32开发软件选择
  • 52_软件开发环境_Keil_mdk安装
  • 53_软件开发环境_Keil_mdk配置
  • 54_软件开发环境_Keil注册机使用
  • 55_软件开发环境_VsCode安装
  • 56_软件开发环境_STM32Cubemx安装
  • 57_项目构建_使用Cube创建基础项目
  • 58_项目构建_串口通信原理介绍
  • 59_项目构建_串口发送数据演示
  • 60_公共层_日志输出打印实现和优化
  • 61_移植FreeRTOS_移植文件
  • 62_移植FreeRTOS_实现中断移植
  • 63_移植FreeRTOS_启动操作系统
  • 64_移植FreeRTOS_任务调度逻辑和注意事项
  • 65_开关驱动_硬件引脚设置
  • 66_开关驱动_按键短按驱动代码
  • 67_开关驱动_短按逻辑完成测试
  • 68_开关驱动_长按逻辑实现
  • 69_开关驱动_拨动开关驱动实现
  • 70_触摸驱动_实现触摸驱动逻辑
  • 71_声控模块_监听声音
  • 72_实时时钟模块_自定义协议读取数据
  • 73_实时时钟模块_自定义协议写数据
  • 74_实时时钟模块_核心设置时间和读取时间
  • 75_实时时钟模块_寄存器内容介绍
  • 76_实时时钟模块_配置实时时钟驱动引脚
  • 77_实时时钟模块_寄存器地址定义和延时函数
  • 78_实时时钟模块_读寄存器函数编写
  • 79_实时时钟模块_写寄存器函数编写
  • 80_实时时钟模块_驱动测试
  • 81_温湿度模块_DHT11基本功能逻辑介绍
  • 82_温湿度模块_DHT11完成读取流程介绍
  • 83_温湿度模块_DHT11读数据流程上
  • 84_温湿度模块_DHT11读数据流程下
  • 85_温湿度模块_DHT11测试
  • 86_音频播放模块_NVD音频芯片手册介绍
  • 87_音频播放模块_驱动编写
  • 88_音频播放模块_双线驱动测试
  • 89_音频播放模块_补全完善驱动
  • 90_LED灯板模块_引脚对照
  • 91_LED灯板模块_驱动芯片手册介绍
  • 92_LED灯板模块_基础驱动编写
  • 93_LED灯板模块_控制时钟小时的显示
  • 94_LED灯板模块_控制时钟的分钟的显示
  • 95_LED灯板模块_同时显示时钟逻辑介绍
  • 96_应用层_开发逻辑介绍
  • 97_应用层_采集任务结构逻辑介绍
  • 98_应用层_完成采集任务的编写
  • 99_应用层_完成时钟的展示
  • 100_应用层_完成温湿度组合展示
  • 101_应用层_补充LED灯展示
  • 102_应用层_补全灯控制
  • 103_应用层_优化LED灯展示
  • 104_应用层_触发类开关任务总结
  • 105_应用层_完成开关触发的基础逻辑
  • 106_应用层_展示基础闹钟加温湿度展示功能
  • 107_应用层_拨动LED总开关
  • 108_应用层_声控模式实现
  • 109_应用层_时间设置模式下的页面显示逻辑
  • 110_应用层_时间设置模式下的按键交互逻辑
  • 111_应用层_补全按键交互页面切换
  • 112_应用层_时间设置页面展示底层代码
  • 113_应用层_时间设置年份页面显示测试
  • 114_应用层_不同页面展示和时间设置
  • 115_应用层_时间设置基本功能实现
  • 116_应用层_在时间设置页面实现温湿度展示
  • 117_应用层_闹钟设置代码逻辑
  • 118_应用层_闹钟设置的按键逻辑
  • 119_应用层_闹钟设置实现
  • 120_应用层_闹钟任务实现
  • 121_应用层_闹钟优化实现和测试
  • 122_应用层_实现音量调节任务
  • 123_应用层_实现亮度调节
  • 124_温湿度闹钟项目总结