双轴机械臂(Two Axis Robot Arm)

前言

本文是Picobricks电子书的阅读笔记,记录了该书中讲述的25个项目中的第17个项目的相关内容。在没有取得许可的情况下,该电子书仅限于个人使用。

玩法

  1. 当有遮挡物放在光敏电阻传感器上遮住光线的时候,多彩LED灯发出红光;
  2. 机械臂下探,抓取遮挡物,接着抬起;每做一个动作,蜂鸣器叫一声。
  3. 遮挡物移走后,多彩LED发出绿光。

 

设备与接线

  1. RGB LED
  2. 马达驱动模块(注意跳线要正确)
  3. 蜂鸣器
  4. 光敏电阻传感器

 

代码逻辑

  1. 准备工作

把Picobricks连接到Microblocks开发环境,导入Servo(舵机)积木库。把用于控制抓握开合的舵机(下成为抓握舵机)连接到21号引脚;用于控制整个抓握装置倾斜角度的舵机(下称为倾斜舵机)连接到22号引脚。把抓握舵机的角度设为-90度;倾斜舵机的角度设为0度。

 

在脚本去放置以下两块积木,用鼠标单击其中第一块积木,即可设置两个舵机的初始角度。

 

  1. 启动阶段的代码逻辑
    1. 打开抓握舵机(角度设为90度);
    2. 把倾斜舵机的角度设为90度;
    3. 用【倾斜角度】变量记住倾斜角度值(此时等于90度);
    4. 关闭RGB LED灯。
  2. 检测到遮挡物后的代码逻辑
    1. 以【当光敏电阻传感器采集的数据小于10%】积木打头;
    2. 报警:(1)RGB LED发出红光;(2)蜂鸣器呼叫1秒;
    3. 调用【打开抓握手】积木,打开抓握手,等待500ms;
    4. 调用【下探抓握臂】积木,使得抓握手靠近遮挡物;
    5. 调用【合拢抓握手】积木,使得抓握手抓住遮挡物;
    6. 调用【上抬抓握臂】积木,使得抓握手举起遮挡物;
    7. RGB LED灯发绿光。
  3. 【打开抓握手】积木的代码逻辑
    1. 把抓握舵机的角度设为90度;
    2. 播放一段音符,时长100ms;
  4. 【合拢抓握手】积木的代码逻辑
    1. 把抓握舵机的角度设为-60度;
    2. 播放一段音符,时长100ms;
  5. 【下探抓握臂】积木的代码逻辑
    1. (启动阶段,【倾斜角度】变量记住倾斜角度值为90度)
    2. 重复45次。每一次把倾斜舵机的角度减少2度,等待30ms。于是,倾斜舵机从90度变为0度。
    3. 播放一段音符,时长100ms。
  6. 【上抬抓握臂】积木的代码逻辑
    1. 重复45次。每一次把倾斜舵机的角度增加2度并等待30ms。于是,倾斜舵机从0度变为90度。
    2. 播放一段音符,时长100ms。

 

抓握手与抓握臂分别是什么

 

抓握手如下所示:

 

抓握臂如下图所示。

 

项目所使用的设备和接线全貌如下图: