今天本来打算给小车装上码盘后进行测速并试试看调PID,但是这个电机的性能实在不行,基本只有转和不转两种状态,看来调PID的愿望算是落空了,等有钱了买个好电机吧。
本来还想试试ros-arduino-brige调试,但是似乎我的硬件跟不上,我的编码器只有模拟接口,修改源代码对我还有点难度,我接下来还是自己做编码器和上位机的通讯吧(果然什么都要自己来,偷不得懒)
1 定时器
因为ArduinoIDE自带的计时函数中,millis()是计算从运行程序开始的时间,不能用于每秒检测一次的功能,delay()会导致程序堵塞,所以只能用定时中断。
我选择MsTimer2库,因为是Unbuntu所以要专门下载压缩包再解压到libraries文件中,如果开着ArduinoIDE记得关了重启。在这里下载MsTimer2.
1 程序
#include <MsTimer2.h>
int E1 = 10;//M1使能口
int M1 = 12;//M1PWM输出口
//int E2 = 11;//M2使能口
//int M2 = 13;//M2PWM输出口
int redpin1 = 2;//定义M1红外接口
//int redpin2 = 3;//定义M2红外接口
int m1=0