“Chapter 7 of Alphabot2 for Micro:bit”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
 
第21行: 第21行:
 
当红外传感器检测到障碍物的时候右转,否则一直向前运动。
 
当红外传感器检测到障碍物的时候右转,否则一直向前运动。
  
===第三节===
 
机器人每次都转动这么快,可不可以让他转动慢一点,让他在任意角度停呢?答案当然是可以的。
 
 
[[File:servo angle control.gif]]
 
 
[[File:servo angle control 2.png|400px]]
 
 
'''程序说明'''
 
 
我们将 0~180 度平均分成若干份,如果按键没有释放就每次转到一个很小的角度,直到转到最大角度或者最小角度,当按键释放舵机立刻停止。这样我们就可以遥控机器人转动到任意角度了。
 
 
[[File:parameters.png|400px]]
 
 
首先设置 pos, step 两个变量,pos 表示舵机当前的角度位置。step 表示每次转动的角度。正数表示左转,负数表示右转。
 
 
[[File:parameters setting at begin.png|400px]]
 
 
程序开始首先设置 pos 设置为 90 度,并让舵机转到 90 度 的位置,即机器人面向正前方。
 
 
然后程序进入无限循环,判断A B键是否按下。
 
 
如果A键按下,则将step设置为 5,即表示机器人面向左转,每次转5度角。
 
 
如果B键按下,则将 step 设置为-5,即表示机器人面向左转,每次转5度角。
 
 
如果 A B键都没有按下,则step 设置为0,即表示机器人停止不动。
 
 
[[File:parameters setting at begin2.png|400px]]
 
 
将当前角度 pos 增加 step。即下一步要转动的角度。
 
 
注意:如果 step 为正数则 pos 的值增加,如果 step 为负数则 pos 的值减小。
 
 
[[File:parameters setting at begin3.png|400px]]
 
 
另外舵机的转动范围为0~180度,所以pos的值不能大于180 或者小于 0。
 
 
[[File:parameters setting at begin4.png|400px]]
 
 
最后不要忘记将舵机转到最新的角度,只有这个积木才是真正让机器人扭头的。
 
修改停止时间可以改变舵机转动速度。
 
  
 
{{Content of Alphabot2 for micro:bit User Manual}}
 
{{Content of Alphabot2 for micro:bit User Manual}}

2018年10月12日 (五) 11:24的最新版本

第七章 红外避障

本章节我们学习使用红外感应传感器,并且利用红外感应传感器来实现机器人避障效果。 红外感应传感器分为发射和接收两部分,发射端发送红外光,当遇到障碍物时部分红外光背反射回来,当接收端接收到红外光则检测到障碍物。小车前方有两个绿色LED灯,正常情况下两个绿色的LED灯是不亮的,检测前方有物体时才会亮。

第一节

使用下面这个积木就可以读取红外传感器的状态了,返回的是一个真假值,当红外检测到障碍物时返回真,没有障碍物时返回假。积木可以选择左右红外传感器

AlphaBot2 for microbit 5-19.png

下面通过一个简单是示例程序演示如何使用红外传感器,使用显示字符串积木显示当前的两个传感器的状态。

AlphaBot2 for microbit 5-20.png

当左右两个传感器都检测到障碍物时显示“A”,当只有左侧红外传感器检测到障碍物时显示“L”,当只有右侧红外传感器检测到障碍物时显示“R”

第二节

下面我们通过红外传感器来实现避障的功能。

AlphaBot2 for microbit 5-21.png

当红外传感器检测到障碍物的时候右转,否则一直向前运动。


使用手册