尚硅谷Java培训

四轴无人机项目

视频介绍

备受期待的四轴无人机项目正式开源啦!教程囊括硬件打板和软件开发的全套内容,带你从0到1自己DIY无人机!

本套教程仅需STM32基础和C语言基础,即可上手,其他相关技术会在讲解中介绍。项目的硬件设计与软件架构全部开源,便于你做二次开发与功能扩展。并且,整机材料成本不足四百元,性价比非常高。

教程涵盖嵌入式所需掌握的核心技术:从硬件原理图绘制,到PCB布线打板,手把手搭建软件开发环境,经典通信协议串口、I2C、SPI等。单芯片SoC技术包含:激光传感器、陀螺仪传感器等数据采集模块,以及SI24R1等2.4G无线通信模块,飞控部分不仅有基础的电机驱动控制,还有全套的PID建模理论和PID参数调节教学……

总之,一套教程满足你的全部技术学习需求,快来制作一台自己的DIY无人机!

视频目录 选集

  • 01_无人机课程介绍
  • 02_认识无人机_市面无人机介绍
  • 03_认识无人机_如何进行飞行
  • 04_认识单片机_动力系统电机介绍
  • 05_认识无人机_电源系统介绍
  • 06_认识无人机_飞控和通讯硬件介绍
  • 07_认识无人机_完成无人机的拆装
  • 08_认识无人机_遥控器的硬件结构
  • 09_认识无人机_PID控制思路介绍
  • 10_硬件_嘉立创EDA安装和激活
  • 11_硬件_嘉立创EDA基础功能页面介绍
  • 12_原理图_STM32主控芯片
  • 13_原理图_绘制主控芯片最小电流
  • 14_原理图_MPU6050
  • 15_原理图_2.4G通信芯片
  • 16_原理图_激光测高
  • 17_原理图_充电管理芯片
  • 18_原理图_锂电池接口
  • 19_原理图_降压稳压芯片
  • 20_原理图_电机控制电路
  • 21_原理图_信号灯原理图
  • 22_原理图_电源电压监控完成DRC校验
  • 23_PCB_绘制板框
  • 24_PCB_元器件布局
  • 25_PCB_供电芯片的布线
  • 26_PCB_主控芯片最小电路
  • 27_PCB_陀螺仪布线
  • 28_PCB_测量电池电压和电机布线
  • 29_PCB_激光测距和下部分布线
  • 30_PCB_2.4G通讯芯片布线
  • 31_PCB_完成最终接口布线
  • 32_PCB_天线布线
  • 33_PCB_GND网络铺铜
  • 34_PCB_开发板美化
  • 35_PCB_下单打板介绍
  • 36_原理图_遥控器主控电源通讯
  • 37_原理图_OLED屏幕
  • 38_原理图_摇杆绘制
  • 39_原理图_按键绘制
  • 40_PCB_遥控器绘制板框层
  • 41_PCB_摆放元器件
  • 42_PCB_供电布线
  • 43_PCB_主控芯片最小电路布线
  • 44_PCB_通讯芯片布线
  • 45_PCB_OLED屏幕布线
  • 46_PCB_OLED按键布线
  • 47_PCB_摇杆布线
  • 48_PCB_最终布线
  • 49_PCB_构建GND网络
  • 50_PCB_美化开发板
  • 51_认识无人机_软件架构
  • 52_环境部署_开发工具介绍
  • 53_环境部署_Keil软件安装
  • 54_环境部署_vsCode安装部署
  • 55_环境部署_CubeMX部署
  • 56_项目构建_使用CubeMX构建初始项目
  • 57_项目构建_完成最初的日志打印
  • 58_项目构建_完成printf日志打印功能
  • 59_项目构建_完成日志打印的辅助功能
  • 60_移植FreeRTOS_添加需要的文件
  • 61_移植FreeRTOS_完成移植操作
  • 62_移植FreeRTOS_使用演示
  • 63_移植FreeRTOS_完成遥控器项目构建
  • 64_电源管理任务_管理芯片介绍
  • 65_电源管理任务_升压降压输出原理
  • 66_电源管理任务_实现自动开机效果
  • 67_电机控制任务_介绍电机控制逻辑PWM
  • 68_电机控制任务_完成定时器配置
  • 69_电机控制任务_软件代码控制电机转动
  • 70_电机控制任务_任务总结
  • 71_LED灯控任务_基础控制LED灯代码
  • 72_LED灯控任务_业务逻辑实现
  • 73_无线通信任务_技术产品选型
  • 74_无线通信任务_SI24R1芯片介绍
  • 75_无线通信任务_SPI通信介绍
  • 76_无线通信任务_SI24R1的工作模式和ARQ协议基带
  • 77_无线通信任务_使用SPI操控SI24R1的方式介绍
  • 78_无线通信任务_移植驱动内容介绍
  • 79_无线通信任务_完成基础SPI读写驱动编写
  • 80_无线通信任务_完成发送接收模式的配置
  • 81_无线通信任务_完成收发数据的函数编写
  • 82_无线通信任务_完成驱动的自测
  • 83_无线通信任务_完成遥控器的驱动编写
  • 84_无线通信任务_完成双端的通讯
  • 85_无线通信任务_任务总结
  • 86_按键任务_4个按键基础实现
  • 87_按键任务_区分长按和短按代码实现
  • 88_摇杆任务_配置ADC和DMA
  • 89_摇杆任务_实现硬件接口层
  • 90_摇杆任务_使用VOFA监控摇杆值
  • 91_应用层处理遥控数据_按键数据处理
  • 92_应用层处理数据_处理摇杆数据的相位和极性
  • 93_应用层处理数据_处理摇杆数据完成
  • 94_应用层处理数据_使用临界区解决线程安全问题
  • 95_应用层遥控数据发送_遥控数据的结构和长度
  • 96_应用层遥控数据发送_完成遥控数据发送
  • 97_应用层飞机接收遥控数据_完成飞机接收打印遥控数据
  • 98_应用层飞机处理遥控数据_处理连接状态
  • 99_应用层飞机处理遥控数据_处理关机指令
  • 100_应用层处理飞行状态_状态机实现
  • 101_应用层处理飞行状态_解锁逻辑实现
  • 102_采集运动数据_MPU6050陀螺仪介绍
  • 103_采集运动数据_MPU6050使用I2C协议简单介绍
  • 104_采集运动数据_MPU6050的I2C读写函数
  • 105_采集运动数据_MPU6050初始化配置
  • 106_采集运动数据_完成MPU6050的初始化
  • 107_采集运动数据_读取读取六轴数据
  • 108_采集运动数据_观察六轴数据的特点
  • 109_采集运动数据_解决原始数据零点漂移
  • 110_滤波处理数据_低通滤波处理角速度值
  • 111_滤波处理数据_卡尔曼滤波处理加速度
  • 112_姿态解算_互补解算介绍
  • 113_姿态解算_完成欧拉角计算
  • 114_姿态解算_移植四元数姿态解算展示
  • 115_PID控制_PID控制逻辑介绍
  • 116_PID控制_PID模型构建
  • 117_PID控制_PID算法实现
  • 118_PID控制_算法应用方式
  • 119_PID控制_输出值作用于电机
  • 120_PID调参_内环比例部分_
  • 121_PID调参_完成俯仰角调节
  • 122_PID调参_横滚角PID控制实现
  • 123_PID调参_偏航角PID控制实现
  • 124_PID调参_总结PID实现平稳飞行
  • 125_定高功能_实现原理介绍
  • 126_定高功能_驱动介绍
  • 127_定高功能_I2C底层驱动编写
  • 128_定高功能_激光测距仪展示
  • 129_定高功能_代码编写实现
  • 130_定高功能_PID调参展示
  • 131_故障状态处理_缓慢停止电机转动
  • 132_屏幕显示_芯片及驱动介绍
  • 133_屏幕显示_显示内容展示
  • 134_屏幕显示_展示标题和信道
  • 135_屏幕显示_展示遥控数据
  • 136_电量回传_测量锂电池电压
  • 137_电量回传_完成2.4G数据回传
  • 138_电量回传_解决FreeRTOS的时序问题
  • 139_电量回传_完成回传电压展示
  • 140_无人机总结