做一个“挥手机器人”

2015-09-10 10:47郑祥李曙强
中国信息技术教育 2015年15期
关键词:舵机分量加速度

郑祥 李曙强

“挥手机器人”的想法源自于大脑突然闪过的一个灵感,即当用户举手挥动手臂的时候,机器人也会跟着一起挥手,且挥手的方向保持一致,就像跟机器人一起参加演唱会一样。

工作原理

每一款手机都会自带一个加速度传感器,即陀螺仪。加速度传感器可以感知手机当前所处状态的X、Y、Z轴的3个分量的加速度,图1为手机平放时X、Y、Z轴加速度分量的方向。

当手机摇晃的时候,X、Y、Z轴上的3个加速度分量会发生相应的变化,如下页表1所示。当然,表中的这些数据是根据我们的手机测试出来的,不同的手机,测出来的数据未必一样。

其实我们只需要手机在垂直状态下左右摇晃的传感器数据,从中我们可以发现,手机向左或向右摇晃,与X轴加速度分量的变化是一一对应的,因此可以根据X轴加速度分量的变化判断手机摇晃的方向,如表2所示。

怎么知道手机的运动方向呢?很简单,只要隔一定的时间,获取传感器数值,然后相减,根据结果进行判断。具体如下:

定义:Xq为前一位置X轴加速度分量,Xh为当前位置X轴加速度分量。

若Xh-Xq>0,则手机向左摇晃;反之Xh-Xq<0,则手机向右摇晃。

材料选择

根据需求,“挥手机器人”若要根据手机的挥动控制机器人执行“挥手”动作,则手机与机器人间需要通讯模块;而机器人执行“挥手”动作,则需要一个控制器及舵机等执行模块。

手机与机器人之间的通讯方式有很多,我们选择了最常见的一种通讯方式——蓝牙。手机在挥动时,通过手机的蓝牙通讯模块将相应的指令(如“L”,即向左挥手)发送给“挥手机器人”的控制器;控制器根据接收到的指令对“挥手机器人”的执行模块舵机做出相应的动作。

制作本作品所需要的材料及其说明,如表3所示。

结构搭建

“挥手机器人”的结构一定要稳固,不然在执行“挥手”动作时,会影响“挥手机器人”的平衡。

搭建机器人“骨架”结构时,我们采用轻巧且又便宜的亚克力板,用激光切割机进行切割。利用这些板子和螺丝螺母,我们很快完成了“挥手机器人”的“骨架”,并将Arduino Uno控制板、蓝牙通讯模块、舵机安装在机器人“骨架”上,效果如图2所示。

代码编程

1.安卓手机App编程

手机若要与Arduino Uno控制板相互通信,则需要借助蓝牙通讯等方式进行。App Inventor支持传感器编程和蓝牙通讯,利用这一图形化编程平台,就能制作一个专用的App应用程序。下页图3所示为App的界面设计与组件使用情况。

根据表2所示,根据手机当前摇晃位置与前一位置的X轴加速度分量的值可以判断手机摇晃的方向,因此手机App应用程序只需向Arduino Uno控制板发送“L”或“R”字符,分别表示“向左”或“向右”的舵机控制指令,具体编程代码如下页图4所示。

调用App中的蓝牙客户端给Arduino Uno控制板发送“L”或“R”字符指令时,蓝牙通讯模块须处于连接状态,否则提示错误;具体编程代码如图5所示。

2.“挥手机器人”控制端编程

当Arduino Uno控制板通过蓝牙通讯模块接收到字符“L”时,则执行舵机转向45度,即机器人手臂向左摆动;若蓝牙通讯模块接收到的字符为“R”,则执行舵机转向135度,即机器人手臂向右摆动。具体代码如下:

#include

Servo serpin;

unsigned char resaveChar;

void setup() {

Serial.begin(9600);

serpin.attach(9);

serpin.write(90);

}

void loop() {

if(Serial.available()){

resaveChar=Serial.read();

if(resaveChar=='R'){

serpin.write(135);

delay(100);

}

if(resaveChar=='L'){

serpin.write(45);

delay(100);

}

}

}

造型制作

“挥手机器人”的外观有些单一,为了赋予“挥手机器人”以人的形象。我们利用卡纸为“挥手机器人”做了一件外衣,同时为它用超轻粘土捏了一个头像和两只手。

运行效果

手机App的运行与“挥手机器人”的工作效果如图6所示。需要说明的是,我们还在这个机器人上安装了3个红外测障传感器,在没有手机的情况下,也能感测到我们的手势,实现同步挥手。

借助“挥手机器人”的案例制作,我们初步实现了用手机App控制Arduino硬件设备中的舵机模块。除此之外,还可以尝试用手机App控制更多的Arduino执行模块,如蜂鸣器、LED灯、继电器、电机等,那将会更加有趣。

猜你喜欢
舵机分量加速度
智珠2则
画里有话
一物千斤
走出“加速度”理解的误区
加速度新题型精析
海太克HS—1100WP数字舵机
超音速舵机保护器
菜鸟看模型
向心加速度公式推导
向心加速度学习一卡通