经过几天的学习,基础LED控制已经掌握,Arduino入门比较简单,面向对象开发,使用现有的库文件,只需几行代码就能轻松实现功能,非常方便。
由于最近的项目需要使用简单的单片机来控制步进电机,因此专门研究步进电机的程序。
#include<Stepper.h> ///引用官方步进电机库文件 #define STEPS 100 //定义步进电机每转的步数(个人理解相当于每转的脉冲) Stepper stepper(STEPS,8,9,10,11); /// int previous = 0; ///定义变量记录上次读取模拟量 void setup() { stepper.setSpeed(200); //R/MIN) } void loop() { int val = analogRead(0); //定义变量val读取电位器AD值 stepper.step(val - previous); ///将速度设置为这次和上次读取的差值 previous = val; ///写下这个读取值,方便下次比较 }
代码很简单,因为调用了一个Stepper.h读取电位器的库文件AD控制步进电机的速度、步数和方向。
功能已经实现,但不了解原理,先记录,再深入研究。
本节重点:
define STEPS 100 每圈步数的定义相当于脉冲量。
stepper.setSpeed(200); 通过调整此参数,可以实现与电位器的同步启停。