arduino控制的逗猫机器人
2015-04-30 08:51:51arduino中文社区atmel杯第二届开发大赛精彩作品选登
逗猫机器人会用两个舵机分别控制x、y轴,引导一个红色的激光点在地上时而随机,时而按程序移动,同时发出吹口哨的声音。宠物猫有捕猎天性,会追着地上的红点来回奔跑,故将这个装置称为逗猫机器人。
立即开始
很多家庭都养着一只宠物猫。当主人外出或是忙于工作时,也许这个简易的机器人能给宠物猫和他们的主人带来一些欢乐。逗猫机器人是很简单的项目,你可以很快地将它做出来。通过修改笔者提供的代码,还可以增加逗猫机器人能够完成的动作。
逗猫机器人会随机选择动作,每个动作中的位置也是随机的。它偶尔会通过蜂鸣器发出吹口哨的声音引起宠物的注意(通过for
循环实现的)。
当连接上蓝牙串口时,可以通过手机上的串口app 控制红色光点移动。一个比较好的程序是android 版蓝牙串口助手,可以设定一个按钮发送一个命令,分别设定上、下、左、右为8、2、4、6,在菜单中选择
长按时连续发送,发送间隔200ms。
需要准备的工具和元器件
(1)5v 开关电源,电流要大。
(2)arduino,笔者使用的是arduinonano(见图1)。
■图1
(3) 一个激光管,带有保护电阻,接入5v 电源即可输出正常亮度的红光束(见图2)。为了保护宠物,一定要选用极小功率的。
■图2
(4)两个9g 舵机(见图3)。尽可能不要只用arduino 上的usb
接口为带有舵机的项目供电,否则可能使舵机卡住,甚至有损坏usb 接口的风险。
■图3
(5)一个蜂鸣器或8ω 扬声器,蜂鸣器也可用有源的,但口哨声效果可能不好。
(6)如果你想通过手机程序控制激光点移动,还需要一个蓝牙串口模块(见图4),波特率设置为9600bit/s,你也可以修改程序中的serial.begin() 函数来调整波特率。
■图4
在面包板上搭建这个项目
将一个舵机用热熔胶固定在另一个舵机的摇臂上,再将激光器粘在第二个舵机的摇臂上,形成可以控制两个轴转动的结构。
蜂鸣器连接arduino 的pin2,x 、y两个pwm 舵机接pin4、pin7,激光管接pin13,蓝牙串口连接gnd,还有模块的tx 和arduino
的rx。如果蓝牙模块上有连接指示灯的引出脚,将它接在pin5 上;若没有,可手动控制逗猫机器人的工作模式,pin5 接低电平为程序控制,接高电平为蓝牙控制。
蓝牙串口的设置方法:启动蓝牙串口助手,连上蓝牙模块,切换到键盘模式,将前、后、左、右的发送值分别设置成十进制的8、2、4、6。
未完。。。
全文详见《无线电》201502