查看: 2460|回复: 2

用NFC操控小车

[复制链接]
  • TA的每日心情
    擦汗
    2014-2-12 10:49
  • 签到天数: 150 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-9-10 10:53:26 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 XM明 于 2013-9-10 10:54 编辑

    NFC 是当前最热门的技术之一,这次用NFC技术和ShieldBot做了一个很有趣的Demo。ShieldBot是一个可移动的机器人平台,或者简单来说,是一辆小车!ShieldBot上有Arduino接口,可以插上一块Arduino,就可以轻松的对它进行控制。
    1.jpg

    demo

    在一片空旷的地面上,设置一个起点和终点,开始的时候把车放到起点。另外,我们需要在起点和终点之间放置一些障碍物,比如一张凳子或者一双拖鞋,总之可以是任何东西。然后,我们的目标就是,利用手上的卡片,把ShieldBot通过障碍物,顺利到达终点。
    如果你对这个demo感兴趣,可以跟着下面几个简单的步骤来完成。
    Step 1:准备模块
    首先,我们需要准备一些材料。所有材料都是现成的模块,你不需要焊接,你只需要把他们接起来。整个demo有两个部分组成:
    控制台: 控制台用来读取卡片的信息,然后把命令通过红外发送给ShieldBot。
    移动平台:其实就是ShieldBot,ShieldBot上有个红外接收器,接收来自控制台的命令。
    另外,需要15张左右的NFC 卡片。
    以下是产品清单:
    l Seeeduino V3.0(或者Arduino) 两块
    l NFC Shield
    l Grove – Base Shield
    l Energy Shield + 锂电池
    l Grove – Infrared Emitter
    l Grove – Buzzer
    l Grove – Infrared Receive

    2.jpg
    Step2:搭建控制台以及ShieldBot
    首先我们搭建控制台:
    把Grove – Buzzer插到Base Shield的A0,Grove – Infrared Emitter插到D3,然后把Base Shield插入到Seeeduino。接着把Energy Shield以及NFC Shield依次插到Base Shield上。这样,控制台就搭好了。
    ShieldBot上只要接一个Grove – Infrared Receive, 我们把它插到ShieldBot上的I2C接口。 3.jpg
    Step3:卡片设计与数据写入
    卡片分两种:控制卡和数字卡。这两种卡需要配合使用。具体的使用后面会做详细的描述。
    4.jpg
    我们需要把代码下载下来:https://github.com/loovee/NFC_ShieldBot_Demo ,这里面会有这个demo所有需要用到的代码。
    打开Arduino IDE,点击File->Preferences,弹出一下界面:
    5.png
    把Sketchbook location的目录指向下载的代码的目录。点击OK完成操作。关闭Arduino IDE。重新打开Arduino IDE,点击File->Sketchbook->uart_write_card
    6.png
    把程序烧录到控制台的那个Seeeduino。接着打开串口工具,把GO AHEAD的卡片靠近NFC Shield的天线。
    在串口工具输入1,按发送:

    7.png
    数据就写入GO AHEAD卡片中了。接着要写剩余的卡片。
    疑问在于为什么要写入1呢?其实一张新的卡片里面是什么数据都没有的,所以我们要写入一些数据区分每张不同的卡片,至于卡片的内容,也是没有严格的限制的,只要我们在程序里面定义好就可以了,比如我把1定义成GO AHEAD,那么收到1的话,我执行GO AHEAD的动作就可以了。各种卡片你需要写入以下内容:
    8.png
    Step4. 烧录程序
    有两部分代码需要烧录,控制台的程序以及ShieldBot的程序
    我们先烧录控制台的程序:
    打开Arduino IDE,File -> Sketchbook -> demo,接着点击Upload按钮完成。
    同样,File -> Sketchbook -> ShieldBot,完成ShieldBot上的程序烧录。
    9.png
    Step5.玩
    到这里,所有的硬件和软件都已经准备好了。控制方式也非常简单,只需要举一个简单的例子。如果我想让Shield Bot往前走40cm,那么我拿起NUM40的卡片,往控制台的NFC天线刷一下(可以听到蜂鸣器响一下),这时候它没有动作,接着我们再拿GO AHEAD刷一下,这时,ShieldBot往前走了大概40cm然后停下来了。如果想走50cm怎么办?可以用NUM10刷5次,或者用NUM10和NUM40各刷一次,在GO AHEAD。

    10.jpg
    实际操控如何呢?请看相关视频。

    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2015-12-14 11:43
  • 签到天数: 556 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-9-11 16:26:21 | 显示全部楼层
    好累啊                 
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-2 16:02
  • 签到天数: 257 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-9-13 09:28:28 | 显示全部楼层
    顶,好酷的玩伊……
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-12 10:38 , Processed in 0.123513 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.