这是平衡自行车三篇教程中的第二篇,这一篇对平衡自行车的算法进行理论分析,包括模型分析、姿态检测方法、PID算法,控制算法。

  

博主曾做过一个自平衡的自行车,

早就想写一个教程,一直拖了很长时间,这几天下定决心一定要战胜拖延症。

自行车平衡DIY分为3部分介绍:
第一部分也就是本文,介绍自行车平衡基本物理原理;
第二部分理论篇,对平衡自行车的算法进行理论分析,包括模型分析、姿态检测方法、PID算法,控制算法;
第三部分实践篇,具体介绍平衡自行车用到的元器件,动力、转向、电路及代码分析。

  

这里介绍stm32串口isp实现方法,包含st官方协议整理和实现代码。

  

在linux上层有一个操作i2c的通用接口——smbus,在这里我们不介绍smbus的使用,但要知道wiringPi的i2c接口就是在linux上层基于smbus封装的。
wiringPi封装的函数中,有byte和word的读写,但是没有封装block的读写。也就是说,没有提供一次写大块数据的方法。

  

前面介绍了python操作串口的方法,是通过通用的串口库实现的。
用c语言当然也可以通过通用串口接口实现,而wiringPi也提供了自己的一套串口操作函数,可以很方便地操作串口。
事实上,wiringPi就是在上层利用通用串口操作接口,封装了一套自己的库函数。