随着生活水平日益提升,舵机看似距离我们的生活十分遥远,其实存在于生活的方方面面,被广泛运用于各个领域,各种行业,满足着人们的生活需求。本节内容,让我们一起来了解一下生活中的舵机吧!
生活中的舵机(上)——停车场升降杆
停车场升降杆是指按键被按下时,栏杆在舵机的控制下逐渐升起,按键松开时在舵机的控制下逐渐下降。通过编程,借助外接硬件舵机和按键,运用掌控板来挑战停车场升降杆的制作吧!
材料清单
- 硬件 掌控板、USB数据线、舵机、按键传感器
- 软件 mPython 3
硬件连接
动手编程序
升降杆的完成需要4个步骤:
1、设置舵机以及按键初始化状态;
2、当按键按下则舵机作正向匀速运动;
3、当按键松开则舵机作反向匀速运动;
4、实时检测按键当前状态。
一、设置舵机及按键初始化状态
运用引脚模块中的设置舵机角度语句,根据硬件连接的位置选择对应的引脚“P0”,设置舵机的初始化角度为0。
☺小贴士
舵机作为动作输出,连接电源时,通过发送信号,它可以接受控制精确旋转到指定的角度,但不可以连续旋转。转向角度于0°到180°之间可调,可正反向偏转。
同理,设置按键对应的引脚为“P2”,并运用引脚模块中的读取引脚数字值语句,读取按键当前状态。
按键作为数字输入,只有0和1两种状态。当按键被按下,其数值为1,当按键被松开,其数值为0。需要运用读取引脚数字值语句,读取按键当前状态。
二、当按键按下则舵机作正向匀速运动
1、使用“如果…执行…”语句判断按键当前是否被按下,当按键被按下,即“P2”引脚读取的当前状态为1时。
2、新建变量“i”用于存储舵机的“偏转角度”。
※指令我先知
1、有限循环语句,表示从起始数到结尾数取出变量的值,按照指定的间隔,执行相应的程序。
2、使用有限循环语句来表示循环的次数,改变变量“i”的数值,舵机从0°到90°,每隔10,执行1次相应的程序,共执行9次。每次取出变量“i”的值,赋值给舵机的偏转角度,让舵机在按键按下时由0°逐渐旋转到90°作正向匀速运动,实现升降杆升起的效果。
☺小贴士
为了防止舵机偏转速度太快,使用“等待100毫秒”语句对程序进行隔断,达到缓冲效果。
三、当按键按下则舵机作反向匀速运动
1、同理,当按键被松开,即“P2”引脚读取的当前状态为0时。
2、改变变量“i”的数值,舵机从90°到0°,每隔-10,执行1次相应的程序,共执行9次。让舵机由90°逐渐旋转到0°作反向匀速运动,实现升降杆下降的效果。
四、实时检测按键当前状态
因为要实时检测按键的状态,所以运用重复执行语句,重复判断按键当前的状态。
参考程序
脑洞大开
通过本节内容的学习,你知道停车场的智能开闸功能、实时记录空余车位功能如何实现吗?想一想,赶紧挑战一下吧!