第一部分:认识 DASH 机器人
在开始编程前,我们需要了解 DASH 的基本能力,Dash 是一款由 Wonder Workshop 公司开发的智能教育机器人,外形圆润可爱,功能强大。

(图片来源网络,侵删)
核心硬件与传感器:
- 轮式移动: 可以前进、后退、转弯。
- LED 眼睛: 可以显示表情、颜色,用于反馈。
- 扬声器: 可以播放声音、音乐。
- 传感器:
- 碰撞传感器: 检测是否被撞击或撞击到物体。
- 麦克风: 可以听到声音并做出反应。
- 光线传感器: 检测环境光线的强弱。
- 陀螺仪/加速度计: 检测自身的运动和方向。
- 距离传感器: 检测前方物体的距离,避免碰撞。
核心编程方式:
- Blockly (图形化编程): 适合初学者,通过拖拽积木块来编写程序,无需记忆代码语法。
- Wonder (App): 配套的移动应用,提供图形化编程界面,任务挑战和直接控制。
- Python (文本编程): 适合进阶用户,通过连接电脑,使用 Python 代码进行更底层的控制,实现复杂功能。
第二部分:编程任务示例(从易到难)
我们将使用 Blockly 作为主要编程环境,因为它最直观,每个任务都包含 任务目标、所需积木 和 编程思路。
基础动作 - 舞蹈家 Dash
- 任务目标: 让 Dash 跳一段简单的舞蹈。
- 所需积木:
当 [绿旗] 被点击(事件)移动 [向前] [1] 秒(运动)转向 [右转] [90] 度(运动)设置眼睛颜色为 [红色](外观)播放声音 [鼓声](声音)
- 编程思路:
- 开始: 点击绿旗开始程序。
- 动作组合: 将“移动”和“转向”积木组合起来,形成一个舞步序列,前进 -> 右转 -> 后退 -> 左转。
- 视觉和听觉反馈: 在关键动作(如转身)时,用“设置眼睛颜色”和“播放声音”积木来增强效果。
- 循环: 将整个舞蹈序列放入一个
重复执行 [5] 次循环积木中,让 Dash 重复跳舞。
传感器应用 - 追光者 Dash
- 任务目标: 让 Dash 能够像向日葵一样,朝着光线最强的方向前进。
- 所需积木:
当 [绿旗] 被点击重复执行(控制)[光线传感器值 > 50] 那么(传感器)移动 [向前] [0.5] 秒(运动)[光线传感器值 <= 50] 那么(传感器)转向 [右转] [30] 度(运动)等待 [0.5] 秒(控制)
- 编程思路:
- 主循环: 整个程序在一个无限循环中运行,让 Dash 不断检测环境。
- 判断条件:
- 条件1(有光): 如果光线传感器检测到的值大于一个阈值(比如50,需要根据实际环境调整),说明前方有光,就让 Dash 向前移动一小步。
- 条件2(无光): 如果光线值小于等于阈值,说明前方没有光,就让 Dash 小幅度转向(如30度),然后等待一小段时间再检测。
- 等待: 加入
等待积木可以给 Dash 反应时间,避免它转得太快而错过光源。
逻辑与循环 - 绕桩 Dash
- 任务目标: 让 Dash 绕着一排障碍物(比如书本)走一个“S”形路线。
- 所需积木:
当 [绿旗] 被点击重复执行 [4] 次(控制)移动 [向前] [2] 秒(运动)转向 [右转] [90] 度(运动)移动 [向前] [1] 秒(运动)转向 [左转] [90] 度(运动)
- 编程思路:
- 分析路径: “S”形路径可以看作是由多个“前进-右转-前进-左转”的单元重复构成的。
- 创建单元: 编写一组积木来完成一个“U”形转弯:前进一段 -> 右转90度 -> 前进一小段 -> 左转90度。
- 循环重复: 将这个“U”形转弯的单元放入一个
重复执行 [4] 次的循环积木中,重复次数决定了“S”形路径的弯折次数。
互动游戏 - 躲避球 Dash
- 任务目标: 你用手势或声音“攻击”Dash,Dash 会尝试躲避。
- 所需积木:
当 [绿旗] 被点击重复执行(控制)[听到 [响声]] 那么(传感器)移动 [向后] [1] 秒(运动)[碰撞到 [任何物体]] 那么(传感器)转向 [右转] [180] 度(运动)播放声音 [Oops!](声音)
- 编程思路:
- 主循环: Dash 在一个循环中不断“监听”外部事件。
- 声音躲避: 使用
..听到...积木,当 Dash 检测到响声(比如你拍手),就执行“后退”动作,模拟受惊后退。 - 碰撞躲避: 使用
..碰撞到...积木,当 Dash 的碰撞传感器触发时,说明它撞到了东西,就让它原地转180度(调头),并播放一个滑稽的声音。
第三部分:进阶挑战
当你掌握了基础任务后,可以尝试更具挑战性的项目:

(图片来源网络,侵删)
编程画图师
- 目标: 编写程序,让 Dash 在地面上画出正方形、三角形或五角星。
- 思路:
- 分析图形: 正方形 = 前进 + 右转90度,重复4次。
- 控制精度: 需要精确控制移动的距离和转向的角度,使用
移动 [向前] [X] 秒时,时间越长,距离越远。 - 组合: 将画一个基本形状(如正方形)的代码放入循环,可以画出由多个正方形组成的复杂图案。
迷宫探险家
- 目标: 将 Dash 放在一个用书本搭建的简单迷宫入口,让它自动走出来。
- 思路:
- “左手法则”或“右手法则”: 这是解决迷宫的经典算法,让 Dash 始终用一侧(比如左侧)的身体贴着墙壁走。
- 编程逻辑:
- 前进一小步。
- 检测左侧是否有墙壁(利用碰撞传感器或距离传感器)。
- 如果左侧有墙,就继续前进。
- 如果左侧没有墙,就左转90度,让身体贴上墙。
- 如果前方有墙,就右转90度。
Python 控制(文本编程)
-
目标: 使用 Python 代码控制 Dash,实现更复杂的功能。
-
思路:
-
环境准备: 安装 Wonder Workshop 的 Python SDK。
-
代码示例:
(图片来源网络,侵删)from dashgo import Robot # 假设SDK提供了这个库 # 连接机器人 dash = Robot() dash.connect() # 通过蓝牙连接 # 执行动作 dash.move_forward(1.0, 1.0) # 以1.0的速度前进1.0秒 dash.turn_right(90, 1.0) # 以1.0的速度右转90度 dash.set_eye_color('red') # 设置眼睛为红色 # 断开连接 dash.disconnect() -
进阶: 利用 Python 的循环、函数和类,可以编写出结构更清晰、功能更强大的程序,比如实现一个完整的迷宫求解算法。
-
第四部分:编程任务设计思路
如果你想自己设计任务,可以遵循以下思路:
- 明确目标: 想让 Dash 做什么?(移动、发光、发声、互动?)
- 拆解动作: 将大目标分解成小步骤,跳舞” -> “前进” -> “转身” -> “后退”。
- 选择传感器: 哪个传感器能帮助 Dash 完成任务?(光线、声音、碰撞?)
- 构建逻辑: 使用
....、重复执行等逻辑积木来连接步骤。 - 测试与调试: 运行程序,观察 Dash 的行为,并根据结果调整参数(如移动时间、转向角度、传感器阈值)。
- 迭代优化: 不断修改和完善,让程序更稳定、更高效。
希望这份详细的指南能帮助你开启 DASH 机器人的编程之旅!从简单的任务开始,逐步挑战更复杂的项目,你会从中获得巨大的乐趣和成就感。
标签: Dash机器人编程任务设计技巧 Dash机器人编程任务设计案例 Dash机器人编程任务设计方法
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。