- 代码编译 - CLion
- 自行搜索:clion 开发 stm32
- 开发板 - STM32F446RC
- 链接:【淘宝】https://m.tb.cn/h.5CJXeVUz83zlGUm?tk=SRL0WoMApgi CZ0012 「神器工具开发板比赛STM32F446达妙科技DM_MC01小米电机电赛机器人」 点击链接直接打开 或者 淘宝搜索直接打开
- 树莓派4B
- 链接:【淘宝】https://m.tb.cn/h.gbH1X1HDpsrB7PX?tk=vHVsWsDZ7jL CZ0012 「树莓派4代B型 RaspberryPi4 4B 8GB 开发板编程AI入门套件 Python」 点击链接直接打开 或者 淘宝搜索直接打开
- 仿真器 - JLink
- 电控
- STM32
- HelloWorld! & PWM By Delay
- Example By SysTick
- PWM 初步应用
- 串口使用
- 树莓派
- 混合
- 树莓派与 STM32 的串口通信(正确接线即可正常使用)
- 树莓派定时拍摄并获取信息发送到 STM32
- 定时拍摄
- 信息获取
- 定时发送与接收
- 完整启停控制流程(即上面三个内容的拼接)
- 参考文档
- 完整流程控制:树莓派控制启停、开发板控制运动
- STM32
- 原理
- 结构
- 最初版结构
- 3D 打印外壳,结构更新(菠萝狗)
- 第一次实验 - PWM 控制 4 电机 - 仅前移
- 结果:无法行动
- 问题:
- 电机仅顺时针转动,导致左右腿反向 -> 电机调向
- 太沉,电机力量不够,带不动 -> 换 12v 电源尝试
- 电线发热 -> 需要更好的线以及焊接转接板
- 第二次实验 - 4 电机直接供电 - 仅前移
- 结果:未前移,机器人起来了,腿飞了
- 问题:
- 飞腿:新的固定方法
- 电机疯转未前移:改舵机
- 舵机带不动
- 大型化:大舵机
- 小型化:小电池(重点在12v)、小电机(无需太大力,水下推动即可)
- 第三次实验 - 8 舵机 - 仅站立/手持
- 结果:腿未改变状态/舵机未转动,舵机颤抖 -> 舵机想动没转动
- 问题:舵机力量不够 -> 电池驱动不够 -> 换电池
- 第四次实验 - 8 舵机 - 坐立 & 行走推演
- 结果:成功坐立
- 问题:顺拐 -> 重构身躯,问题解决
- 第五次实验 - 8 舵机 - 坐立 & 行走
- 结果:坐立、跪走
- 问题:腿力量不够 -> 换舵机
- 第六次实验 - 8 舵机 & 加脚掌 - 坐立 & 行走
- 结果:很难坐立,但是行走正常(虽然脚步怪怪的)
- 优化:调整代码,与树莓派结合
- 总体设计
- STM32F446RC
- 数据手册
- 官网
- 本地 方便使用而下载到本地,基本都来自官网
- 其他资源
- 相关文档
- 数据手册
- 树莓派
- 官网
- 资料全集
- 初始化文档
- 我喜欢的 Linux 配置 - 来自 AcWing Linux 基础课
- 配置方法:将 该文件 解压缩后里面的内容上传到树莓派中
- 上传方法:百度搜索 - Linux scp 使用
- 这里的 .bashrc 文件就不要用了,但是可以参考其中的 tmux 设置
- 我喜欢的 Linux 配置 - 来自 AcWing Linux 基础课
- 串口使用
- 摄像头使用
- 寻常拍照及录像:
- python 库调用 - 暂未成功
- picamera 库
- OpenCV(cv2 库)
- 视频截取帧:
ffmpeg
命令
- 定时使用脚本
- 最低使用间隔:1min -> 可通过循环命令和
sleep
命令解决 - cron 服务启、停、状态查看
- 注意:
- 调用的脚本中一定要使用绝对路径,或在内部自行定义路径,一定不要直接使用全局的环境变量,否则既不会报错,也不会正常运行
- cron 命令调用生成的内容有时候会自带写保护,影响不大
- 最低使用间隔:1min -> 可通过循环命令和
- 开机启动使用
- 自启动服务应在
/etc/systemd/system/
文件夹下,但为了方便,服务文件在被自启动的文件所在文件夹也有一份备份,请在该备份中更改,并在更改后将其复制到应在的文件夹,如sudo cp distance_measurement.service /etc/systemd/system/distance_measurement.service
- 自启动服务应在
- python 使用
- 虚拟环境使用
- 我的环境路径:
$HOME/.env
- 更换国内源
- 串口使用
- 特定图形(颜色块)测距
- CV2 读取图片文件
- 查看包版本
- 其他使用
- Clion开发STM32添加文件后报错“No such file or directory“
- 解决IDEA配置.gitignore不生效的问题
- STM32F4xx_HAL_Driver 结构未定义(标红)/函数无法使用(淡黄字色)问题
- 解除 stm32f4xx_hal_conf.h 中对应定义的注释
- 缺少驱动文件
- 官网下载 自行添加到 STM32F4xx_HAL_Driver 文件夹中
- 系统时钟问题
- 树莓派为 py 安装依赖的包时 error: externally-managed-environment
- 树莓派使用 pip 安装太慢解决
- 树莓派 py 使用串口不好使
- 自写代码添加到 Users 文件夹中使用