第4课:超声波模块

让你的 GalaxyRVR 拥有用声音”看”的能力!

了解超声波传感器如何像蝙蝠的回声定位一样工作——发出声波并监听回声,以检测障碍物并测量距离。

让你的火星车探索得更智能、更安全!

学习目标

  • 了解超声波传感器如何利用声波测量距离

  • 学习使用 Mammoth Coding 应用读取距离测量值

  • 编程让 GalaxyRVR 利用超声波传感器避障

探索超声波模块

认识 HC-SR04 超声波传感器——你的火星车新的”超能力”,无需接触就能感知距离!就像蝙蝠利用声音导航一样,这个巧妙的设备可以检测2厘米到400厘米范围内的物体。

../_images/ultrasonic_pic2.png

认识四个重要引脚:

  • TRIG ——“启动按钮”,告诉传感器发出声波

  • ECHO ——监听从物体反射回来的回声

  • VCC ——电源连接(需要5V电源)

  • GND ——接地连接(构成回路)

工作原理——回声游戏:

../_images/ultrasonic_prin2.jpg
  1. 开始 ——传感器发出8个快速的声波(频率太高,我们听不到!)

  2. 监听 ——它开始计时,等待回声反射回来

  3. 计算 ——利用回声时间计算:距离 = (时间 × 声速) ÷ 2

可以想象在峡谷中大喊一声,然后数多久能听到回声。等待的时间越长,墙壁就越远!

现在,让你的火星车拥有这个神奇的超能力吧!

测试超声波传感器

  1. 首先,请执行 连接应用到 GalaxyRVR 的步骤。

  1. 在 GalaxyRVR 分类中找到”距离(厘米)”积木块,并勾选其复选框。

    ../_images/6_ultrasonic_value.png
  2. 传感器的读数将实时显示在舞台上。

    ../_images/6_ultrasonic_value2.png
  3. 在超声波传感器前挥动你的手,观察数值的变化——它正在测量距离,单位是厘米!

创建一辆避障火星车

让我们编程让 GalaxyRVR 使用超声波传感器自动避障。

  1. 以绿旗积木块开始。

    ../_images/6_ultrasonic_flag.png
  2. 设置一个合适的速度(我们建议30%)用于测试。

    ../_images/6_ultrasonic_speed.png
  3. 添加一个”前进”积木块,使火星车在路径通畅时持续前进。

    ../_images/6_ultrasonic_forward.png
  4. 使用 当距离 < 15 厘米 积木块检测附近的障碍物。

    ../_images/6_ultrasonic_when.png
  5. 当有物体靠得太近时,让火星车停下来并后退。

    ../_images/6_ultrasonic_backward.png
  6. 然后让它稍微转向(左转或右转——你自己选择!)。

    ../_images/6_ultrasonic_turn.png
  7. 最后,让它沿新的方向继续前进。

    ../_images/6_ultrasonic_forward_again.png

现在把 GalaxyRVR 放在地板上,看它动起来!它会一直向前行驶,直到检测到障碍物,然后智能地改变方向,继续探索。

超声波传感器积木块

  • 事件触发积木块

    当在设定距离内检测到物体时启动代码。

    • 更改比较符号(< 或 >)

    • 调整距离阈值(单位:厘米)

    ../_images/ultra_when.png
  • 等待直到积木块

    暂停程序,直到传感器在指定距离检测到物体。

    • 选择 < 或 > 进行距离比较

    • 设置你需要的距离值

    ../_images/ultra_wait_until.png
  • 条件判断积木块

    根据距离检测返回真(TRUE)或假(FALSE)。非常适合与 if 语句搭配使用。

    • 根据需要切换 < 和 >

    • 设置距离限制

    ../_images/ultra_condition.png
  • 距离值积木块

    显示超声波传感器当前的距离读数,单位为厘米。

    ../_images/ultra_value.png