小组 > 嵌入式 > 《Arduino开发实战指南》书友会 > 机器人之旅:当Arduino遇上Android
?
?
小组信息
名称:《Arduino开发实战指南》书友会

管理员:

人数:265
小组积分:1692
简介:Arduino因为其易用性使全球关注他的人越来越多,虽然在硬件工程师的眼中他仅仅是一个简单的8位机最小系统,但对于更多的没有硬件背景的人来说(特别是软件工程师),Arduino为他们打开了一扇通向硬件领域的窗口,这扇窗连接的是一个叫做开源硬件的世界。这里不用去系统的学习硬件知识,只要会C语言,就能够制作出很有意思的硬件交互作品。希望这本国内首本Arduino著作能够帮助你走进开源硬件的世界。

小组公告

欢迎大家积极发表Arduino以及开源硬件相关的内容,希望能以Arduino为切入点,让大家进入开源硬件的世界,本小组每月给发帖最多成员送出一本《Arduino开发实战指南》,要求是必须是开源硬件的相关内容(不限于Arduino),同时当月发帖数要在18篇以上。

返回本小组首页

楼主??[转载]?

机器人之旅:当Arduino遇上Android


作者:mcp2002
积分:5284分
总积分:10377分
:2554
发送信息
加为好友
发表于2013-01-06 14:31

?

机器人之旅:当Arduino遇上Android

2012-02-23

相信很多同学都看过android手机那个很酷的宣传片(android手机+乐高搭建的解魔方机器人)。打小就一直梦想着能拥有一个自己亲手做的机器人,尤其是看完那部经典的机器管家(http://movie.douban.com/subject/1292529/,不过估计宅男们更喜欢《我的机器人女友》)。

貌似这个理想是渐行渐远了,直到老杨强烈给推荐arduino,让我们这些电路基础一般的爱好者也能有机会动手搭建自己的机器人,只要搞搞结构设计再coding一把,而不用困扰于具体的电路实现、传感器控制。鉴于现在的android手机功能都那么强劲,当然得充分利用一把了。上周在公司的showcase上给大家秀了一下基于arduino和android的蓝牙机器人小车,下一个目标就是整个遥控灰机。

什么是Arudino(百度百科):

Arduino,是一块基于开放源代码的USB接口Simple i/o接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境

让您可以快速使用Arduino语言与Flash或Processing…等软件,作出互动作品。

Arduino可以使用开发完成的电子元件例如Switch或sensors或其他控制器、LED、步进马达或其他输出装置。Arduino也可以独立运作成为一个可以跟软件沟通的接口,例如说:flash、processing、Max/MSP、VVVV 或其他互动软件…。Arduino开发IDE接口基于开放源代码原,可以让您免费下载使用开发出更多令人惊艳的互动作品。

228425_1357453828710.jpg
?

arduino的特点:

  1. 开源架构。我们也可以很低的价格从网上购买到现成的控制板;
  2. 统一接口的传感器,应有尽有的传感器组件。通过统一的插口,很方便就能连接不同扩展设备,淘宝上都有的卖。相比之下,乐高机器人的传感器就贵的很离谱。
  3. 编程语言:基于c语言,类似java和processing。IDE环境使用java开发。只要有简单的编程经验,上手就超级简单。

android手机的优势:

  1. cpu:杠杠的,远远高于普通单片机;
  2. 丰富的传感器:自带摄像头,重力加速计,麦克风,喇叭,等等;
  3. 编程接口:java。关键是,还支持python!
  4. 自带蓝牙和wifi模块,很方便用来进行远程数据传输;

Android+Arduino示意图:

228425_1357453899828.png
?

分享到:? 新浪微博?? qq空间??
投票数: ? 回复?? ? 引用??
1楼??[转载]?

Re:机器人之旅:当Arduino遇上Android


作者:mcp2002
积分:5284分
总积分:10377分
:2554
发送信息
加为好友
发表于2013-01-06 14:35

?

千里之行,始于足下。虽然很想现在就搞个四轴飞行器耍一把,还是先整个简单的机器人小车比较靠谱。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

这张是搞到一半时的照片:

228425_1357454136866.jpg

2楼??[转载]?

Re:机器人之旅:当Arduino遇上Android


作者:mcp2002
积分:5284分
总积分:10377分
:2554
发送信息
加为好友
发表于2013-01-06 14:37

?

PS:

组件列表:

arduino 控制板: ?淘宝上一大堆,挑便宜的arduino就阔以了。

二轮机器人小车套件:建议用机器人基地的这个:http://item.taobao.com/item.htm?spm=11028vrd.1-1lRm*.3-2aNwt0&id=3311355487(我自己买的内个小车实在有点丑)

马达驱动板:采用的是L293 1A 双路电机驱动板。用来控制两个马达输入输出。

扩展接口板:挑选了Arduino Xbee传感器扩展板V5 含RS485无线数传蓝牙接口

BluetoothV3蓝牙串口模块:?与Arduino Xbee扩展版共同工作。

参考:

arduino介绍:

http://zh.wikipedia.org/wiki/Arduino

http://baike.baidu.com/view/1268436.htm

Arduino机器人应用1-2WD小车基本功能测试

http://blog.sina.com.cn/s/blog_5e4725590100gcu2.html


3楼??[转载]?

Re:机器人之旅:当Arduino遇上Android


作者:胖螃蟹
积分:17818分
总积分:24158分
:22259
发送信息
加为好友
发表于2013-01-07 15:53
看起来不错

点击登录,立即回复。
小组活跃用户