双轴机械臂(Two Axis Robot Arm)
前言
本文是Picobricks电子书的阅读笔记,记录了该书中讲述的25个项目中的第17个项目的相关内容。在没有取得许可的情况下,该电子书仅限于个人使用。
玩法
- 当有遮挡物放在光敏电阻传感器上遮住光线的时候,多彩LED灯发出红光;
- 机械臂下探,抓取遮挡物,接着抬起;每做一个动作,蜂鸣器叫一声。
- 遮挡物移走后,多彩LED发出绿光。
设备与接线
- RGB LED
- 马达驱动模块(注意跳线要正确)
- 蜂鸣器
- 光敏电阻传感器
代码逻辑
- 准备工作
把Picobricks连接到Microblocks开发环境,导入Servo(舵机)积木库。把用于控制抓握开合的舵机(下成为抓握舵机)连接到21号引脚;用于控制整个抓握装置倾斜角度的舵机(下称为倾斜舵机)连接到22号引脚。把抓握舵机的角度设为-90度;倾斜舵机的角度设为0度。
在脚本去放置以下两块积木,用鼠标单击其中第一块积木,即可设置两个舵机的初始角度。
- 启动阶段的代码逻辑
- 打开抓握舵机(角度设为90度);
- 把倾斜舵机的角度设为90度;
- 用【倾斜角度】变量记住倾斜角度值(此时等于90度);
- 关闭RGB LED灯。
- 检测到遮挡物后的代码逻辑
- 以【当光敏电阻传感器采集的数据小于10%】积木打头;
- 报警:(1)RGB LED发出红光;(2)蜂鸣器呼叫1秒;
- 调用【打开抓握手】积木,打开抓握手,等待500ms;
- 调用【下探抓握臂】积木,使得抓握手靠近遮挡物;
- 调用【合拢抓握手】积木,使得抓握手抓住遮挡物;
- 调用【上抬抓握臂】积木,使得抓握手举起遮挡物;
- RGB LED灯发绿光。
- 【打开抓握手】积木的代码逻辑
- 把抓握舵机的角度设为90度;
- 播放一段音符,时长100ms;
- 【合拢抓握手】积木的代码逻辑
- 把抓握舵机的角度设为-60度;
- 播放一段音符,时长100ms;
- 【下探抓握臂】积木的代码逻辑
- (启动阶段,【倾斜角度】变量记住倾斜角度值为90度)
- 重复45次。每一次把倾斜舵机的角度减少2度,等待30ms。于是,倾斜舵机从90度变为0度。
- 播放一段音符,时长100ms。
- 【上抬抓握臂】积木的代码逻辑
- 重复45次。每一次把倾斜舵机的角度增加2度并等待30ms。于是,倾斜舵机从0度变为90度。
- 播放一段音符,时长100ms。
抓握手与抓握臂分别是什么
抓握手如下所示:
抓握臂如下图所示。
项目所使用的设备和接线全貌如下图: