完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 多数人对 Intel® Edison 模组的第一印象都是安装在 Arduino 扩充板上,而 Arduino 扩充板的尺寸看起来实在大到不适合行动装置使用。因此许多开发者会认为 Edison 对于小型设备或穿戴式装置并不实用。 不过如照片所示,Intel® Edison 模组其实不占空间,但使用上并不容易,因为用来连接周边设备的针脚太小了:Intel Edison 开发板上的 Hirose 接头有 70 个针脚,而长度仅约 1 公分。解决此问题的办法之一便是使用 Seeed 出品的Xadow 穿戴式套件 Intel® Edison 版。此套件所囊括的配接器和小型感应器,可满足小型穿戴式装置的所有必备需求。 套件内含不同功能的小型扩充板,所有的扩充板均是由柔性扁平排线 (FCC) 连接。可用菊轮炼方式来连接扩充板,为装置提供必要的功能。 以下为套件的内容物: • o 电池 o Xadow – Edison:插入 Intel® Edison 开发板的主要接头。 o Xadow – Edison Programmer::用 USB 将 Intel® Edison 开发板与电脑连接的模组。 o Xadow – Edison SD:用来连接 SD 记忆卡的模组。 o Xadow – OLED:128 x 64 黑白 OLED 显示器。 o Xadow – Buzzer o Xadow – Vibration Motor o Xadow – Q Touch Sensor:触控按钮 o Xadow – NFC:NFC 读取器。 o NFC Tags – 三个 NFC 标签 (照片内有一个)。 o Xadow – 3Axis Accelerometer o Xadow – Barometer BMP 180:气压计与温度计。 o Digital RGB LED Flexi-Strip:此款灯条配备五个可控制的 RGB LED 灯。 o FFC 线材套件 o 电源线 (没拍照) 说明事项 在开始说明流程之前,我想先谈谈进行专案时所发现的特点和问题,以及相应的解决方法。首先,我强烈建议更新开发板韧体。 如需确认当前版本,可使用以下指令: 在撰写本文时,开发板最新的软件版本为 159。 同样也建议更新所有已安装的程式库。更新作业需要互联网连线。 本文中所有的程式码范例都适用于 Arduino* IDE。Seeed 套件的开发人员并未提供其他 IDE 范本。 我试过以 IoT 版本的 Intel® XDK 和 ***++ 来使用开发版,不过无法运作。一项可能的原因是开发板电路不同于标准 Arduino 扩充版的电路。I2C 接口也有相同问题,加速度计的运作有时不稳定。不过在游戏设置中,加速度计在 OLED 显示器之后连接,此时运作一切正常。我无法启动气压计和温度计扩充板。 有时候开发板无法连线到 Arduino* IDE;编译和 sketch 之间的传输也可能失败。若发生这种情况,请终止开发板上执行的 sketch。 之后请清空 /sketch 资料夹,并关闭所有在电脑上执行的 Arduino* IDE。关闭 Intel® Edison 开发板的电源 (使用 shutdown now),再按住 PWR 按钮直到 LED 亮起,将电源重新打开。 若需要在供电状态下用 Edison 开发板执行 sketch,则可建立一个档案来执行开机:建立资料夹 /etc/init.d。在资料夹中建立一个名为“automateSketch.sh”的档案,其中需包含: 建立并储存好 automateSketch.sh 之后,使档案成为可执行: 然后在启动清单内加入 automateSketch.sh: 入门介绍 应先在电脑上安装所有 Intel Edison 驱动程式。此套件与模组的一切互动都透过 Arduino Sketch 进行,如果还没安装 Arduino IDE,请务必安装。可至 www.arduino.cc下载。 必须连接 Xadow-Edison Programmer 模组,才能使用开发板开始作业。请注意,两个 USB 连接埠都必须插入:一个负责供电,一个负责连接 Arduino IDE。开发板的开关应设定在“Device (装置)”的位置。请在 Arduino IDE 中使用 Boards Manager (电路板管理员) 来选取 Intel Edison 开发板。 Edison OS 作业系统开机完毕 (约 30 秒) 后,请在电脑上的 Device Manager (装置管理员) 内找出虚拟连接埠的编号。 请在 Arduino IDE 内选取 Intel® Edison 虚拟 Com 埠 (COM25)。可使用 USB 序列埠 (COM29) 连至控制台,例如透过 Putty。 Arduino 程式库若要与模组互动,就少不了程式库。可至 github.com/Seeed-Studio/Xadow_Edison_Demos 将程式库下载为一个 ZIP 档。很可能无法立刻安装完成整个套件,所以必须将含有必要程式库的资料夹加到 IDE 选单内。 连接模组 插入任何模组之前,请先切断 Intel Edison 开发板的电源,藉以降低组件损伤的风险。若使用热插拔模组,Sketch 将无法正确加载。 所有模组均是以柔性扁平排线 (FFC) 连接。线材的长度和宽度各不相同,传输线的宽度应与接头相符。所有线材插入时都是蓝侧向上,针脚向下。开发板上的接头有两种类型。第一种须向上开启,如同掀盖一般。请打开接头,轻轻将传输线完全置入 (大约 3 mm),然后关上接头。 第二种接头类型是滑动式的夹盖,使用上较不方便。必须先从侧边撬开,然后拉出约 1 mm 的距离,一定要小心,我曾经不慎弄断一根针脚。接着稍微用点力,将传输线尽可能往里推 (大约 3 mm)。然后再用点力,将接头推进去。传输线应该会牢牢固定在接头里。 所有模组在相对的两端都有接头。所有模组和主板在某一侧均有切角。连接所有电路板时,应让切角侧朝同一方向。在下图中可看到切角侧全部朝左。 穿戴式套件组件 如本文开端所述,套件每一部份都可用来创造不同类型的穿戴式威廉希尔官方网站
,端看结合和编程的方式。 电池此系统的电池是标准 3.7 V 的 500 mAh 锂离子电池。 这是用来连接 Edison 模组的主板,较模组本身稍大一些。若将 Edison 模组插进主板的插槽,应该能够牢牢固定,但为了保障安全,可以拿 Arduino* 模组的螺丝来安装。 主板配备电池用接头,侧边还有四个接头可供扩充板使用。上方的接头是 Edison Programmer 扩充板专用,侧面接头供感应器和致动器使用,底端接头则是给 SD 卡模组。 其上有两个按钮:PWR 与 FW_RCVR。长按 PWR 可以开/关装置 ─ 长按 9 秒关闭电源,2 秒开启电源。 电池接头旁的小 LED 灯会显示电源状态。LED 灯闪烁时,表示是经由 USB 供电。LED 灯恒亮时,即代表电池充电中。LED 灯熄灭,则表示电池已充电完毕。 只需要主板和电池,即可让 Edison 开发板开始运作。 Xadow -- Edison Programmer 此扩充板是用来与电脑连线,用途包括从电脑供电以及除错功能,且配备两个 Micro USB 接头。 Xadow -- Edison SD• UART 接头可透过 COM 埠连接电脑并供电。 • 装置/主机接头则能从 Arduino IDE 操作扩充板。有个开关可选择“Device (装置)”或“Host (主机)”模式。使用 Arduino 请选择“Device (装置)”。 此扩充卡有一个可插入 SD 记忆卡的接头,是以最宽的传输线连接到主板底端的插槽。 在装置目录的 /dev/mmcblk1 可找到 SD 卡。 安装时请按照标准的 Linux 步骤。先建立一个空资料夹,如: 再将记忆卡安装到此资料夹: 若想要在 Linux 开机时自动安装记忆卡,请将下列字串加到 /etc/fstab 档案中: 此为套件随附的 128×64 OLED 显示器。 规格请参见 Seeed 网站。 此显示器是经由 I2C 接口连接,装置位址为 0x3C。 以下程式码为画面显示用的范本: 画面有 8 列,一列 16 个字符,帧率可每秒多个画格。 我们使用了下列功能: • init():初始化 Seeed OLED 的画格,并将显示器设为正常模式。 • clearDisplay():清空整个画面。在全新开始之前,或是滚动停用之后,都应该使用此功能,光标也将设定在左上角。 • setBrightness(unsigned char Brightness):设定 OLED 显示器的对比率。亮度可为 0~255 之间的任何数字。 • setNormalDisplay():将显示器设定为正常 (非反转) 模式。 • setPageMode():将显示器设定为页面寻址模式。 • setTextXY(0,0):将文字的位置 (光标) 设定至第 X 页,第 Y 列。X 可为 0~7 之间的任何数字。Y 可为 0~127 之间的任何数字。 • putString(cont char *string):将字串发布到 OLED 显示器上,从目前 setTextXY(X,Y) 所设定的位址指标开始。 • sendData(unsigned char Data):将一个字节送到画面上。 其他功能和更多资讯可参照 www.seeedstudio.com/wiki/OLED_Frame and in SeeedOLED.h 档案。 Xadow -- Buzzer 蜂鸣器需连接到针脚 11 和 13,必须同时开启或关闭。将 0 或 1 传送到这两个针脚上便会发出声音。 依我个人经验,最简单的方法是将其中一个针脚默认为 1,然后改变另一个针脚的状态,藉以发出声音。 以下程式码为声音输出的范本: 由于是依据软件播放,所以声音无法十分清楚。最好使用脉冲宽度调变。值得一提的是,我为 Intel® XDK IoT 版和 ***++所制作的这个 Sketch 复制版无法运作 ─ 没有声音输出。 Xadow -- Vibration Motor 可以用和蜂鸣器相同的方式来控制震动马达:将针脚 10 和 11 设定为相同的数值,借此开启或关闭。方法可参考下列范例码: 就和蜂鸣器一样,预先将其中一个针脚设定为 1 后,再控制另一个针脚即可。 Xadow -- Q Touch Sensor 此扩充板的背面有三个触控按钮,由 I2C 连接,位址为 0x1B。 按钮的灵敏度很高,就算隔着几层纸或胶片也感应得到,所以可用图片遮蔽这些按钮。 以下的范例码会传回按下的按钮编号: NFC 读取器可支援 I2C、SPI 以及 UART 连线,作业频率为 13.56 MHz。其可支援读写操作、ISO14443 Type A 与 Type B 协定、以及 P2P,且配备一条随附连接线的天线。更多资讯请见http://www.seeedstudio.com/wiki/Xadow--NFC 套件随附三个可写入的空白 NFC 标签。 此模组需要用到 NDEF、PN532、PN532_HSU、PN532_I2C 以及 PN532_SPI 程式库。请从一般的 Seeed 范本程式库下载上述程式库。 如需测试标签和读取器,可使用 NDEF 程式库里的范例程序 readTag。它会读取标签内的资料并将之显示在控制台上。 套件中的标签有序号,因为尚未格式化,若经查询将传回下列输出结果: 要先以 NDEF 程式库的 FormatTag 范本将标签格式化,才能写入资料。 如需将资料写进标签中,可使用 NDED 程式库的 WriteTag 范本。 以下是从某个标签读取资料的结果: 此为三轴加速度感应器。所能测量到的范围为 ±16 G,透过 I2C 连线,位址为 0x53。感应器安装在 ADXL345 芯片上。要使用的话需从套件安装 DigitalAccelerometer_ADXL345 程式库。 共有四种测量范围,精确度和转换率各不相同:±2 g、±4 g、±8 g、±16 g。 芯片的规格表可查看此处:pdf1.alldatasheet.com/datasheet-pdf/view/254714/AD/ADXL345.html 资料会以 16 位数字的形式回传。程式库回传的数字是 int 变量,因此需如下进行修改: 若使用的范围是 ±2 g,则各规格表的传回数值均需除以 256。之前提过,我在加速度计这边遇到了一些麻烦。有时候会无法侦测到加速度计,而 Linux 控制台会传回 I2C 错误。不过当把萤幕连接到主模组,再将加速度计连接到萤幕时,运作就相当稳定。也许这个感应器没有终端电组。 Xadow -- Barometer BMP 180 此扩充板上有气压计和温度计。压力测量范围为 300~1100 hPa (即海平面上 -500 m~+9000 m)。其是以 0x77 位址连接 I2C。 不幸的是,我无法让这个扩充板运作起来,可能是因为 I2C 接口有些错误。也许跟加速度计的问题是一样的。我曾拿另一组 Xadow 套件测试过,同样无法运作。 Xadow -- Breakout这个扩充板是用来连接标准的感应器,有以下针脚:3.3 V、SCL、SDA、TX0、GND、SCK、MOS1、MOS0、A5。上面也有两个接头垫,可插入标准的“Seeed”模组。一个标为“Serial”,一个标为“I2C”。可拿来连接 LED 灯条。 Digital RGB LED Flexi-Strip 这是一条配有 5 个 RGB WS2812B LED 灯的灯条。透过一条线来控制 LED 灯。 必须要正确连接才能运作,如下图所示。使用 Xadow-Breakout 扩充板 资料是由软件送出,因此有时候会发生资料传输错误的情形,LED 灯可能会紊乱闪烁。 以下为“Running light”程式: 制作游戏 我想用这个套件来做些什么,然后就冒出了做个游戏的想法。 在这个游戏里,LED 灯带会安装在游戏盒的外侧。当 LED 灯亮起或熄灭时,玩家要依据 LED 灯光的颜色将盒子 45 度朝某个方向倾斜。若中间的 LED 灯是绿色,就要将盒子向外倾斜 (远离自己)。若中间的 LED 灯亮红色,就往自己这一侧倾斜。所最右边的 LED 灯转绿,则将盒子朝右倾,但若是亮红灯,就要朝左斜。 这个游戏不但能测试反应能力,还能让玩家在动作前先动动脑。 要作出这个游戏需要下列组件: • 陀螺仪 • OLED 显示器 • LED 灯条 • 连接灯条的扩充模组 • 按钮板 • 电池 首先我在电池接头的那侧连接分线板,然后是感应器按钮。另一端连接萤幕,再连接陀螺仪。这个盒子是用几张彩色厚纸板黏成的。接下来开一个口让萤幕露出来。我将按钮板装在萤幕下,如你所知,按钮的感应度很高。我在正面给按钮位置画了几个符号。 所有的扩充板盖了一张纸,再用透明胶带黏好,以防损坏。 Sketch 会自动在 Linux 中启动。 要开始游戏时,就长按主模组的 PWR 按钮 9 秒左右。要结束游戏,就将同一按钮按 3 秒即可。 游戏开始后会出现选单,在选单中可以选择开始游戏 (按下 A 钮) 或显示游戏说明 (按下 B 钮)若要关闭说明画面,就按下箭头钮。 游戏共有五回合。每一回合会有一个 LED 灯随机亮,玩家就得朝相对应的方向倾斜盒子。若动作正确,画面上会显示“You Win!”。若失败或是时间到,画面上显示的就是“You Lose!”。 所有的游戏程式码都在一个档案内。我尽可能写得简洁清楚,所以相当好分析。 Sketch 游戏程式码 Valery Mosyagin 是 Intel 官方的软件创新者。目前定居在俄罗斯的下诺夫哥罗德。拥有数学与电脑科学的硕士学位。在 Intel 的 OpenCV 团队中有 6 年工作经历,后来到日本为 Brain Research Institute 开发生物实验用的软件.─.网络流量分析软件以及无线讯号涵盖和传播软件。有很长一段时间在教导小朋友编写程式。Valery Mosyagin 的兴趣相当广泛,包括虚拟实境、游戏开发、微控制器和 IoT 等。 评分
|
||
相关推荐
1 个讨论
|
||
菊轮链 好想法 就像绿萝 一节一片叶子 不知道这根藤子上能长多少片叶子 不知道坏了一片叶子会否影响下一片叶子
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1209个成员聚集在这个小组
加入小组2848 浏览 2 评论
【下载】《物联网设计:从原型到产品》——从威廉希尔官方网站 设想到实现成品
102109 浏览 804 评论
6488 浏览 9 评论
12066 浏览 24 评论
4993 浏览 8 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 08:23 , Processed in 0.696102 second(s), Total 39, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号