4251浏览
查看: 4251|回复: 0

机器人之旅:当Arduino遇上Android

[复制链接]


Arduino的特点:
  • 开源架构。我们也可以很低的价格从网上购买到现成的控制板;
  • 统一接口的传感器,应有尽有的传感器组件。通过统一的插口,很方便就能连接不同扩展设备,淘宝上都有的卖。相比之下,乐高机器人的传感器就贵的很离谱。
  • 编程语言:基于c语言,类似java和processing。IDE环境使用java开发。只要有简单的编程经验,上手就超级简单。
android手机的优势:
  • cpu:杠杠的,远远高于普通单片机;
  • 丰富的传感器:自带摄像头,重力加速计,麦克风,喇叭,等等;
  • 编程接口:java。关键是,还支持python!
  • 自带蓝牙和wifi模块,很方便用来进行远程数据传输;
Android+Arduino示意图:
千里之行,始于足下。虽然很想现在就搞个四轴飞行器耍一把,还是先整个简单的机器人小车比较靠谱。android系统提供了蓝牙串口功能,并且支持python开发哦。在熟悉了arduino基本接口之后,就开始着手了。
前期准备
开发软件
软件下载 http://arduino.cc/en/Main/Software,下载回来解压就能用了。
提供以下平台的支持:
·   Mac OS X
·   Windows平台
·   Linux平台
所需的全套设备:
arduino控制板
二轮机器人小车套件(包含车底板,电池盒,马达2个)
马达驱动板
蓝牙扩展接口板
BluetoothV3蓝牙串口模块(提供透明TTL串口通讯)
组装过程实在是有点简单,线路连接都没有操作错误的机会。
需要注意的是,传感器方面:马达驱动板占用了4个数字IO口 :4,5,6,7,分别用做两个马达的方向、转速。
而蓝牙模块就比较省事了,不需要任何coding,直接与串口连接了。使用时只要进行简单的蓝牙配对(蓝牙适配器pin码默认是1234)。附上核心代码:
void loop(){  char val = Serial.read();  Serial.write(val);  if (-1 != val) {    if ('W' == val)    go();    else if ('A' ==val)    left();    else if ('D' == val)    right();    else if ('S' == val)    back();    else      stop();    delay(500);    }  else  {    //stop();    delay(500);  }}
Android手机:
为了图省事,网上直接找了个蓝牙串口通信助手,用来与arduino进行基于蓝牙的串口操作。
一切搞定后,打开蓝牙串口通信助手,连接到arduino,接下来输入口令就行了。WASD空格,很标准的操作:p
这张是搞到一半时的照片:
PS:
组件列表:
arduino 控制板:  淘宝上一大堆,挑便宜的arduino就阔以了。
二轮机器人小车套件:
马达驱动板:采用的是L293 1A 双路电机驱动板。用来控制两个马达输入输出。
扩展接口板:挑选了Arduino Xbee传感器扩展板V5 含RS485无线数传蓝牙接口
BluetoothV3蓝牙串口模块: 与Arduino Xbee扩展版共同工作。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail