远程遥控

除了双摇杆模块,我们还可以用 EzBlock Studio远程遥控 页面上的控件来控制 PiArm 移动。

../_images/app_control.jpg

手臂 - 远程遥控

PiArm 的手臂有两种控制模式: 角度坐标

  • 角度模式: 向手臂上的3个舵机写入一定的角度,使PiArm到达特定位置。

  • 坐标模式: 为手臂建立空间坐标系并设置控制点,将空间坐标写入该控制点,使PiArm达到特定位置。

这个项目用的是 角度模式

第一步

要使用远程控制功能,您需要从主页面左侧进入远程控制页面,然后拖动一个方向键和2个按钮到中央区域。

../_images/control3.png

回到编程页面,您将看到一个附加的远程控制类别,其中出现方向盘和按键代码块。

  • [按键 () 获取值]: 这个代码块用于读取按钮的值,按下时为1,送开时为0。

  • [按键 () 被 (按下/松开)]: 这个代码块和 按键 () 获取值 (0/1) 有着相似的效果,可以直接判断按钮是否被按下。

  • [方向盘 () 获取 () 值]: 这个代码块用于读取方向盘各个方向上的值,按下时为1,松开为0。

../_images/control4.png

第二步

创建3个变量 (α, β and γ) 并设置初始值, 并将PiArm的旋转速度设置为70%。

../_images/remote01.png

第三步

创建一个名为 [arm_control] 的函数,根据方向键和按钮值设置PiArm的旋转方向。

注解

函数名不能包含空格,两个单词之间可以用 _ 连接。

注解

  • α, βγ 表示PiArm手臂上三个舵机的旋转范围, 可参考: 角度模式

  • [限制数字...介于(低)...到(高)...]: 可以在数学类中找到,用于设置一个变量的变化范围。

  • [否则如果]: 用于条件判断的代码块, 可以点击设置图标将 [否则] 或 [否则如果] 拖拽到 [如果] 下方来创建多个条件判断。

../_images/remote04.png
  • 如果按下方向盘的上按钮 (▲), 则让 PiArm 向前伸长。

  • 如果按下方向盘的下按钮 (▼), 则让 PiArm 向后缩回。

  • 如果按下方向盘的左按钮 (◀), 则让 PiArm 向左转动。

  • 如果按下方向盘的右按钮 (▶), 则让 PiArm 向右转动。

  • 如果按下按钮 A, 则让 PiArm 下降。

  • 如果按下按钮 B, 则让 PiArm 上升。

第四步

将函数 [arm_control] 放在 [循环] 块中循环执行, 然后点击 下载 按钮来运行代码。

在这之后就可以用 远程遥控 页面上的方向盘和按钮A/B来控制机械臂的移动了。

注解

  • 放置这些函数块时,函数必须放在 [开始] 和 [循环] 块之前。

  • 您也可以在EzBlock Studio的示例页面找到同名的代码,直接点击运行或编辑查看代码块。

../_images/remote_control5.png

创建库

为了方便以后能在其他代码中使用 [arm_control] 函数,可以将其创建为库,并在需要使用时导入。

第一步

打开右上角的菜单图标,然后选择 创建库

../_images/create_libr.png

第二步

选择函数,我们这里只创建了一个函数,所以默认选择 arm_control

../_images/arm_control.png

第三步

为库命名并填写描述,一边以后更好地区分。

../_images/name_libr.png

第四步

等待提示保存成功,然后该库将保存在您个人页面的 我的库 里面。 随后便可以在导入库的时候看见它了。

../_images/import.png

铲斗 - 远程遥控

创建一个新项目并为其搭建代码块,然后我们就可以在控制手臂的同时控制铲斗了。

第一步

导入 [arm_control] 库, 如果之前没有创建过这个库, 请参考: 创建库

../_images/remote12.png

我的库 页面中, 选择您创建的库并单击 导入

../_images/remote12ii.png

导入后,库为折叠样式。您可以右键单击它然后选择 展开块,这样就可以看到它的内部代码。

../_images/arm_import.png

第二步

进入到远程控制界面,重新拖一个 D-pad, 两个 按键 出来,因为导入库不会把控件也导进来,需要重新拖。另外再另外添加两个 按键 控件用来控制铲斗的角度。

../_images/remote_clip_shovel.png

第三步

创建变量 (α, β, γangle) 并设置初始值为0, 然后初始化PiArm的旋转速度和铲斗的引脚。

../_images/remote11.png

第四步

新建一个函数 [shovel], 按如下步骤编写代码, 即可通过按钮来控制 铲斗 了。

  • 使用 [如果...执行...] 代码块作判断条件。如果按下按钮C,则让变量 angle 加1;如果按下按键D,则让变量 angle 减1。

  • 用 [限制数字 angle 介于(低)-90 到(高)60] 将变量 angle 的值限制为-90 ~ 60。

  • 根据变量 angle 设置 铲斗 的角度。

../_images/remote13.png

第五步

将 [arm_control] 和 [shovel] 函数分别从 函数 类别中拖到 [循环] 块里。

点击下载按钮后,用远程遥控页面上的方向盘和按钮A/B来控制机械臂的移动,然后用按键C/D来控制铲斗角度的加/减。

注解

  • 放置这些函数块时,函数必须放在 [开始] 和 [循环] 块之前。

  • 您也可以在EzBlock Studio的示例页面找到同名的代码,直接点击运行或编辑查看代码块。

../_images/remote_control6.png

竖直夹 - 远程遥控

创建一个新项目并为其编写代码,这样我们就可以在控制机械臂的同时控制竖直夹。

第一步

导入 [arm_control] 库,如果之前没有创建过这个库,请参考: 创建库

../_images/remote12.png

我的库 页面, 选择您创建的库并单击 导入.

../_images/remote12ii.png

导入后,此库为折叠样式。您可以右键单击它并单击 展开块 ,这样您就可以看到它的内部代码。

../_images/arm_import.png

第二步

进入到远程控制界面,重新拖一个 D-pad, 两个 按键 出来,因为导入库不会把控件也导进来,需要重新拖。另外再另外添加两个 按键 控件用来控制竖直夹的角度。

../_images/remote_clip_shovel.png

第三步

创建变量 (α, β, γangle) 设置初始值为0, 然后初始化 PiArm 的转速和竖直夹引脚。

../_images/remote21.png

第四步

新建一个函数 [clip],按如下步骤编写代码,即可通过按钮控制 竖直夹

  • 使用 [如果...执行...] 代码块作判断条件。如果按下按钮C,则让变量 angle 加1;如果按下按钮D,则让变量 angle 减1。

  • 用 [限制数字 angle 介于(低)0 到(高)90] 将变量 angle 的值限制为0-90,因为竖直夹的活动范围时0-90。

  • 根据变量 angle 设置 竖直夹 活动的角度。

../_images/remote22.png

第五步

将 [arm_control] 和 [clip] 函数分别从 函数 类别拖到 [循环] 块。

点击下载按钮后,使用远程遥控页面上的方向键和按钮A/B来控制机械臂的移动, 然后用按键C/D来控制竖直夹的张合。

注解

  • 放置这些函数块时,函数必须放在 [开始] 和 [循环] 块之前。

  • 您也可以在EzBlock Studio的示例页面找到同名的代码,直接点击运行或编辑查看代码块。

../_images/remote_control7.png

电磁铁 - 远程遥控

创建一个新项目并为其编写代码,这样我们就可以在控制机械臂的同时控制电磁铁。

第一步

导入 [arm_control] 库, 如果之前没有创建过这个库, 请参考: 创建库

../_images/remote12.png

我的库 页面, 选择您创建的库并单击 导入

../_images/remote12ii.png

导入后,此库为折叠样式。您可以右键单击它并选择 展开块 ,这样您就可以看到它的内部代码。

../_images/arm_import.png

第二步

进入到远程控制界面,重新拖一个 D-pad, 两个 按键 出来,因为导入库不会把控件也导进来,需要重新拖。另外再添加一个 开关 控件用来控制电磁铁的开/关。

../_images/remote_electro.png

第三步

创建变量 (α, β and γ) 并将初始值设置为0, 然后初始化 PiArm 的旋转速度和电磁铁的引脚。

../_images/remote31.png

第四步

创建一个新的函数 [electromagnet],按照如下步骤编写代码,这样就可以通过开关控件控制 电磁铁 了。

  • 使用 [如果...执行...] 块作为判断条件。开关是开,电磁铁启动;开关是关,电磁铁关闭。

../_images/remote32.png

第五步

将 [arm_control] 和 [electromagnet] 函数分别从 函数 类别拖到 [循环] 块。

点击下载按钮后,当开关切换到开,电磁铁开启(此时是磁性的,可以用铁吸附材料);当开关切换到关,电磁铁关闭。同时,您可以使用遥控器页面上的方向键和按钮 A/B来控制手臂的移动。

注解

  • 放置这些函数块时,函数必须放在 [开始] 和 [循环] 块之前。

  • 您也可以在EzBlock Studio的示例页面找到同名的代码,直接点击运行或编辑查看代码块。

../_images/remote_control8.png