创客联盟网
标题:
NFC新玩法:用NFC操控小车
[打印本页]
作者:
创客
时间:
2014-5-6 11:08
标题:
NFC新玩法:用NFC操控小车
本文的作者是@大学生的Arduino。这次他手把手教大家使用NFC技术控制小车。比起无线控制,NFC技术操控小车的移动相对来说要麻烦一些,不过作者的目的是想以一个娱乐的方式来了解和学习NFC技术。
NFC 是当前最热门的技术之一,这次我用NFC技术和ShieldBot做了一个很有趣的Demo。ShieldBot是一个可移动的机器人平台,或者简单来说,是一辆小车!ShieldBot上有Arduino接口,可以插上一块Arduino,就可以轻松的对它进行控制。
(, 下载次数: 46)
上传
点击文件名下载附件
下载积分: 贡献 -1
另外,我找到了一些NFC卡片,每张卡片里面可以写入不同的数据。于是我想到,可以利用每张卡片定义一些动作,让ShieldBot来完成。如果这仅仅是一辆遥控车的话,确实没什么好玩的,我还设想了一些游戏的场景。
在一片空旷的地面上,设置一个起点和终点,开始的时候把车放到起点。另外,我们需要在起点和终点之间放置一些障碍物,比如一张凳子或者一双拖鞋,总之可以是任何东西。然后,我们的目标就是,利用手上的卡片,把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
(, 下载次数: 47)
上传
点击文件名下载附件
下载积分: 贡献 -1
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接口。
(, 下载次数: 49)
上传
点击文件名下载附件
下载积分: 贡献 -1
Step3:卡片设计与数据写入
卡片分两种:控制卡和数字卡。这两种卡需要配合使用。具体的使用后面会做详细的描述。
(, 下载次数: 37)
上传
点击文件名下载附件
下载积分: 贡献 -1
我们需要把代码下载下来:
https://github.com/loovee/NFC_ShieldBot_Demo
,这里面会有这个demo所有需要用到的代码。
打开Arduino IDE,点击File->
references,弹出一下界面:
(, 下载次数: 39)
上传
点击文件名下载附件
下载积分: 贡献 -1
把Sketchbook location的目录指向下载的代码的目录。点击OK完成操作。关闭Arduino IDE。重新打开Arduino IDE,点击File->Sketchbook->uart_write_card
(, 下载次数: 45)
上传
点击文件名下载附件
下载积分: 贡献 -1
把程序烧录到控制台的那个Seeeduino。接着打开串口工具,把GO AHEAD的卡片靠近NFC Shield的天线。
在串口工具输入1,按发送:
(, 下载次数: 42)
上传
点击文件名下载附件
下载积分: 贡献 -1
数据就写入GO AHEAD卡片中了。接着要写剩余的卡片。
疑问在于为什么要写入1呢?其实一张新的卡片里面是什么数据都没有的,所以我们要写入一些数据区分每张不同的卡片,至于卡片的内容,也是没有严格的限制的,只要我们在程序里面定义好就可以了,比如我把1定义成GO AHEAD,那么收到1的话,我执行GO AHEAD的动作就可以了。各种卡片你需要写入以下内容:
(, 下载次数: 46)
上传
点击文件名下载附件
下载积分: 贡献 -1
Step4. 烧录程序
有两部分代码需要烧录,控制台的程序以及ShieldBot的程序
我们先烧录控制台的程序:
打开Arduino IDE,File -> Sketchbook -> demo,接着点击Upload按钮完成。
同样,File -> Sketchbook -> ShieldBot,完成ShieldBot上的程序烧录。
(, 下载次数: 47)
上传
点击文件名下载附件
下载积分: 贡献 -1
Step5.玩
到这里,所有的硬件和软件都已经准备好了。控制方式也非常简单,只需要举一个简单的例子。如果我想让Shield Bot往前走40cm,那么我拿起NUM40的卡片,往控制台的NFC天线刷一下(可以听到蜂鸣器响一下),这时候它没有动作,接着我们再拿GO AHEAD刷一下,这时,ShieldBot往前走了大概40cm然后停下来了。如果想走50cm怎么办?可以用NUM10刷5次,或者用NUM10和NUM40各刷一次,在GO AHEAD。
(, 下载次数: 48)
上传
点击文件名下载附件
下载积分: 贡献 -1
欢迎光临 创客联盟网 (https://immaker.org/)
Powered by Discuz! X3.3