Chapter 7 of KitiBot for Micro:bit

来自丢石头百科
Admin讨论 | 贡献2019年11月14日 (四) 09:35的版本 (创建页面,内容为“==第七章 让机器人摇头== 这个章节我们学习如何控制舵机,让机器人摇头 ===第一节=== 舵机是一种驱动器,机器人的头部就是…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

第七章 让机器人摇头

这个章节我们学习如何控制舵机,让机器人摇头

第一节

舵机是一种驱动器,机器人的头部就是安装了一个舵机,他可以转动一定的角度。

Servo.png

舵机的 控制积木就是下面这个。

Servo control blcok.png

90 度的时候,机器人往前看;

0 度的时候,机器人往右看;

180 度的时候,机器人往左看。

Servo control code.gif

下载程序后机器人往前看,如果不是面向正前方,可以重新安装调整一下角度,使机器人面向正前方。 修改参数重新下载舵机会转动。

第二节

下面修改程序实现按下A键时机器人往左边看,按下B键时机器人往右边看。两个按键同时按下时往正前方看。

Servo control by key.gif

Servo control by key2.png

第三节

机器人每次都转动这么快,可不可以让他转动慢一点,让他在任意角度停呢?答案当然是可以的。

Servo angle control.gif

Servo angle control 2.png

程序说明

我们将 0~180 度平均分成若干份,如果按键没有释放就每次转到一个很小的角度,直到转到最大角度或者最小角度,当按键释放舵机立刻停止。这样我们就可以遥控机器人转动到任意角度了。

Parameters.png

首先设置 pos, step 两个变量,pos 表示舵机当前的角度位置。step 表示每次转动的角度。正数表示左转,负数表示右转。

Parameters setting at begin.png

程序开始首先设置 pos 设置为 90 度,并让舵机转到 90 度 的位置,即机器人面向正前方。

然后程序进入无限循环,判断A B键是否按下。

如果A键按下,则将step设置为 5,即表示机器人面向左转,每次转5度角。

如果B键按下,则将 step 设置为-5,即表示机器人面向左转,每次转5度角。

如果 A B键都没有按下,则step 设置为0,即表示机器人停止不动。

Parameters setting at begin2.png

将当前角度 pos 增加 step。即下一步要转动的角度。

注意:如果 step 为正数则 pos 的值增加,如果 step 为负数则 pos 的值减小。

Parameters setting at begin3.png

另外舵机的转动范围为0~180度,所以pos的值不能大于180 或者小于 0。

Parameters setting at begin4.png

最后不要忘记将舵机转到最新的角度,只有这个积木才是真正让机器人扭头的。 修改停止时间可以改变舵机转动速度。

其他章节