账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
Draw and Learning:具备体感功能之绘图触控笔
第八届盛群杯HOLTEK MCU创意大赛复赛报告

【作者: 虎尾科技大學資訊工程系】2014年12月10日 星期三

浏览人次:【15050】


义大利教育学家蒙特梭利提出:「强调儿童主动探索,并着力于设计启发性的教学情境和教具,让儿童藉由具体操作来学习,不只是听讲。」因此,根据此里念,本作品欲设计一套将平板电脑与笔的结合,并在画图过程中以声音互动引导的方式,来带领小朋友使用的绘图触控笔与Android 绘图APP。而为了将画图的情境更融入实际生活的环境,还设计了情境地图功能,透过找寻目前位置来对应出附近著名景点或是动物。此外,当小朋友画图完成还会出现景点或是动物的英文单字与动画。换言之,在印象最深刻的当下,以手脑并用地学习英文与认识景点或是动物。


此作品颠覆了平常市面上所看到的触控笔和涂鸦本等工具,并可以如同旅游日志方式来利用绘图触控笔纪录游玩的地点。此具备体感功能的绘图触控笔整合了HT66FU50微处理器与G-sensor加速度感测器来判断使用者的姿势与相对应的操作方式,以达到具备体感功能的人机互动的娱乐效果。最后,透过这两种的结合带来了更多具幼教于乐的互动性与知识性的体感学习装置。


前言

义大利教育学家蒙特梭利提出:「强调儿童主动探索,并着力于设计启发性的教学情境和教具,让儿童藉由具体操作来学习,不只是听讲。」。一般在市面上,我们可以发现不论是书局所贩卖的儿童英文教材,或是执行在行动装置的儿童教材APP,都会发现几个类似的问题。就是在画图时都只能从画面所提供的绘画的范本来描绘一模一样的图案,不仅缺乏临场感与真实感,也使得小朋友在画图时缺乏有趣的声音做为引导,容易缺乏新鲜感与互动性。久而久之,这些绘本就束之高阁,造成无谓的浪费。


举例来说,当爸爸与妈妈带着小朋友到台北市立动物园游玩。平板计算机可以根据定位来得知现在小朋友所在的位置后,打开专属设计的绘图本,小朋友就可在绘图本里选择喜欢的动物,然后再搭配绘图触控笔来画画。完成后,绘图本也提供动物的相关信息,让小朋友打铁趁热,学习新的知识、常识和英文单字。


此外,以往的绘画APP在画图时,必须不断切换画笔颜色与橡皮擦的功能才能完成一幅画。本作品认为在操作过程中多了很多不必要,且不直觉的操作方式。


因此,基于上述的问题,本作品设计一套Android 绘图APP,提供以下基本功能:


1.调色盘与选色功能


2.多样的动物绘图范本


3.具备体感功能的绘图触控笔


4. 配合GPS的情境地图


此外,利用盛群半导体公司所推出的HT66FU50 微处理器与整合G-sensor加速度传感器(DMARD07),并依照不同的体感数据来找出相对应的加速度值以作为判断的依据。最后,把所得数据加以分析,并找出当下的体感姿势后,再传送给 Android 绘图APP 作出相对应的操作动作。


工作原理

本作品利用HT66FU50 微处理器及搭配G-sensor加速度感测器(​​DMARD07)等两个重要元件的应用设计。因此,以下,分别说明本系统的各个相关的制作原理。


HT66FU50微处理器

HT66FXX系列微处理器是一款具有A/D的8位元,高性能精简指令集的Flash微处理器。其中,HT66FUX0多了UART模组之功能。


微处理器之CPU特性如下所列:


*提供暂停和唤醒功能,以降低消耗功率。


* 内部震荡(4MHz、8MHz和12MHz),无须外接组件。


*多种工作模式:正常、低速、闲置和休眠。


* 63条指令。所有指令都可在1或2个指令周期完成。五种震荡模式:HXT、LXT、ERC、HIRC


和LIRC。


 查表指令。


本作品使用HT66FU50的GPIO、AD和UART介面功能。如图1所示,为HT66FU50之脚位图。



图1 :  HT66FU50脚位图
图1 : HT66FU50脚位图

G-sensor加速度感测器原理

G-sensor又称三轴重力感测仪。 G-sensor的原理即是侦测X、Y与Z轴等三维空间的变动,而得到实际的数值来加以应用。


而采用固态微机电(MEMS)制程的重力加速度感测器具有体积小、低耗电与低单价等优点。一颗三轴G-sensor加速度感测器可同时侦测三个轴向的运动。就便利性来说,加速度感测器属于自主性元件,不须依靠外部辅助资讯。此加速度感测器一​​般是由利用表面微机电技术所制作的感测器单元、讯号条件电路和ADC所组成。


在此,以飞思卡尔(Freescale)的G-sensor加速度感测器为例,其感测器单元为一电感性的感测细胞(G-cell),是利用半导体多晶矽材料,以及光罩和蚀刻制程所制造的一种机械结构,并由弹簧、横梁材质(Beam Masses)和栓绳(Tether)所组成,如图2所示。


基本上,G-cell是由一组三个横梁所构成的一种机械结构,中间横梁是可移动的,而两侧横梁则是固定住。当系统产生加速度时,便可利用中间移动式的横梁和两侧固定式横梁的位移差计算出重力加速度值。当系统维持静止状态或处于等速运动时,栓绳便会将中间可移动的横梁拉至中心位置,类似弹簧的原理。


如图3所​​示,为G-cell实体模型图,其利用三个横梁可形成两两相对的电感器。当有加速度发生时,中间横梁会往加速度的相反方向移动导体上电容值有所变动,利用电容值的改变来推算出重力加速度的大小。


而如图4所示,为本作品所使用的G-sensor加速度感测器-DMARD07(利顺精密公司)接脚上视图。表1则为各脚位的说明。由于本作品使用微处理器HT66FU50的I2C作为和G-sensor加速度感测器沟通,所以后者的Pin3和Pin12接至高电位(VCC);Pin1、Pin2、Pin5和Pin11接至低电位(GND)。其中,Pin3、Pin4间与Pin12、Pin11间分别并联两颗电容(0.1uF和10uF)作为稳压之用。而其余脚位则无使用。



图2 : 表面微机电感测单元组成元件示意图
图2 : 表面微机电感测单元组成元件示意图

图3 : G-cell的实体模型图
图3 : G-cell的实体模型图

图4 : DMARD07接脚上视图
图4 : DMARD07接脚上视图

蓝牙无线传输协定

蓝牙技术运作的原理主要是运用跳频展频技术(Frequency Hopping Spread Spectrum -- FHSS)方式[5-6],使蓝牙晶片的两端,以某一特定形式的窄频载波同步地在2.4MHz频带上传送讯号。详细来说,此FHSS 的传输技术,是将欲传输的信号透过一系列不同的频率范围广播出去,而由传送装置先倾听频道(Listens Channel)。若侦测出频道处于闲置状态时,信号便由此频道传送出去;反之,若侦测出频道为使用中,便使用跳跃程序进行传送。重要的是,传送与接收必定要同步切换频道才可以正常接收资料。而蓝牙最多可进行 1 对 7 的传输。除了资料之外,也可以使用CVSD (Continuous Variable Slope Delta-Modulation)技术来进行语音传输及使用分时多工(TDMA)协定技术之通讯协定。


在蓝牙技术中,无线电的发射功率为0dBm (Power Class 3),传输范围约为10m,将来可以达到50 公尺。传输功率的范围为1mW 到100mW (Power Class 1、2),传送功率的大小与系统的需求有关。但是要达到100mW 功率的传输时,则须在射频前,再加上一个射频放大器(Power Amp)装置,以增益约为20dBm 的功率放大。基本上,传输速率(Transfer Rate)理论上为1Mbps,实际有效速率最高只可达721kbps。


如图5所示,蓝牙通讯协定主要分为Radio 、Baseband ,Link Manager 、 L2CAP、HCI及Application Framework 等部分。其中,相关功能如下所列:


*Radio主要负责频率的合成及杂讯过滤。


*Baseband主要处理讯息编码,码错误重送及跳频机制等工作。


*LinkManager则负责有关Link 的建立、释放,甚至于保密等工作。


*L2CAP主要负责不同通讯协定的多工处理、封包的切割及重组及服务品质等。


*HCI则提供Bluetooth 与Host 间的介面控制,为一种与硬体无关的标准控制命令。


*Application Framework 部分,则依据应用所需提供如TCP/IP、HID (Human Interface Device)及RFCOMM 等应用程式介面。


本作品使用HL-MD08R-C2蓝牙模组,其接脚图以及说明如图6所示。我们使用此蓝牙模组的TX和RX作为绘图触控笔和平板的传输介面,并使用PIO8作为LED的正极;RESET脚设为接地,让该蓝牙模组处于活动状态。



图5 : 蓝牙通讯协定阶层图(SIG Version)
图5 : 蓝牙通讯协定阶层图(SIG Version)

图6 : HL-MD08R-C2脚位图
图6 : HL-MD08R-C2脚位图

Android系统开发

由于Android系统本身的功能目前仍在逐渐增加和调整。因此,Android系统的开发也是一个重要的技术方向。这种类型的开发涉及Android软体系统的各个层级。


Android系统开发的一个比较典型的范例就是,当系统需要某种功能时,为了提供呼叫的介面给Java层级的应用程式,需要从底层到上层的整体开发,其步骤如下:


(1) 增加C或C++的函式库。


(2) 定义Java层级所需要的类别(系统API)。


(3) 将所需要的程式码封装成JNI


(Java Native Interface)。


(4) 结合Java类别和JNI。


(5) 应用程式呼叫Java类别。


如果涉及Android系统API的修改,则一​​定要慎重处理。因为系统API的修改可能涉及Android应用程式的不相容问题。


然而,在更多的时候,Android系统开发只是在不改变系统API的情况下,仅修正系统的缺陷,并增加系统的稳定性而已。 Android系统开发的结构图则如图7所示。



图7 : Android系统开发结构图
图7 : Android系统开发结构图

Android的应用程式开发是Android开发的另一个技术方向。从开发的角度来看,这种形式的开发可以基于某个硬体系统,在没有硬体系统的情况下也可以基于Linux或是windows下的Andr​​oid模拟器来开发。这种类型的开发工作就位于Android系统的上层。


事实上,在Android软件系统中,第三个层级(Java框架)和第四个层级(Java应用程序)之间的接口也就是Android的系统接口(系统API),这个层级是标准的接口。所有的Android应用程序都是基于这个层级的接口开发出来的。而Android系统的第四个层级就是一组内建的Android应用程序。


此外,针对一个Android应用程序开发者来说,其开发的应用程序其实和Android系统的第四层级的应用程序是同一个层级的内容。例如,Android系统提供了基本的桌面程序,开发者可以根据Android的系统接口,实作另外一个桌面程序,提供给用户安装使用。如图8所示,Android 应用程序开发的结构图。



图8 : Android应用程式开发结构图
图8 : Android应用程式开发结构图

系统设计

本作品设计方面主要分成两个部分: 绘图触控笔韧体设计,以及Android 绘图APP应用程式设计。本作品将绘图触控笔设计成有五个不同的使用功能,分别为:旋转换色、摇摇调色盘、反笔橡皮擦、甩笔相机和按钮快门。


绘图触控笔的韧体程式设计

韧体设计部分使用盛群微处理器HT66FU50,以及使用蓝牙作为绘图触控笔和Android 绘图APP之间的资料传输。其中,透过HT66FU50之GPIO脚位模拟I2C并与G-sensor加速度感测器做沟通,以取得目前感测器的输出资料。此时,LED也会随着不同的姿势作出相对应的改变。可变电阻则是利用微处理器的AD脚位功能,来得知可变电阻之值。


如图10所示,为韧体程式部分的流程图。


图9 : 韧体设计的部分流程图
图9 : 韧体设计的部分流程图

Android 绘图APP的应用程式设计

应用程式方面,本作品之APP是在Windows 系统中,下载Eclipse 整合开发环境,并以Java程式语言撰写Android应用程式。开发者可在Eclipse上安装Android开发工具(ADT) 扩充套件,接着下载Android软体开发套件(Software Development Kit, SDK),并将SDK设定资料夹路径至Eclipse。而建置好开发环境后,便可开始撰写Android 应用程式。如图11所示,为Android 绘图APP软体部分之流程图。


图10 : Android 绘图APP软体流程图
图10 : Android 绘图APP软体流程图

当开启Android 绘图APP,首先会根据GPS的定位找出该地可提供小朋友绘画的景物。目前则先以动物园为一主题,待GPS定位完成后会出现动物园的情境地图和可提供小朋友绘图之动物,来让小朋友选择。选择完毕后会进入画面,画板上仍有提供传统按键式功能,如:拍照、橡皮擦和调色盘等等。


其中,Android 绘图APP提供另一不同之功能,名为「真实取色」,此功能可让小朋友在照相机所撷取到的画面中,点选自己所想要的颜色后,即可获取照相机画面中的颜色。这也让小朋友在绘画的过程当中更增加真实感。


在画画的过程当中,每个动作都有人声来提醒与小朋友互动,同时也搭配了动物音效让小朋友在画图时更具临场感。在图绘制完成后,会出现该动物的英文单字和动物相关的基本常识,同时也结合了人声的导读功能,帮助小朋友阅读。


实验与测试结果

G-sensor抓值和读取可变电阻值测试

在整个实测上,首先,先于PC主机上插入蓝牙接收器后,与绘图触控笔上的蓝牙做配对,完成后,X-CTU应用程式上会出现virtual COM port。我们就可利用这virtual COM port来撷取当我们手拿不同方式或姿势时的G-sensor加速度感测器之值。当我们手拿绘图触控笔的姿势不同时,G-sensor的值也会跟着变化。例如: F1 00 FF 0D,由左到右来看的话,分别是X轴(F1)、Y轴(00)和Z轴(FF)。最后,0D表示X-CTU换行的意思。我们撷取各姿势的X、Y和Z轴之范围值,用来当作我们姿势动作的判断。此外,可变电阻的电位变化的撷取抓值是利用HT66FU50的AD功能脚位来得知可变电阻之值。将AD脚位所撷取到的值透过蓝牙传送至X-CTU应用程式做显示。


Android 绘图APP

Android 绘图APP设计上,先撰写蓝牙接收/传送程式,再利用X-CTU模拟实体之绘图触控笔来作测试。本作品以平板APP为Client端,绘图触控笔为Server端。当在平板APP输入某一讯息后,透过蓝牙传输传送至X-CTU,X-CTU上会显示出相同之讯息。接下来,同样利用X-CTU来做测试。 X-CTU利用蓝牙传输传送某一数值给平板APP后,平板APP上会出现相同之值。


最后,再开始撰写当平板APP接收到绘图触控笔传来的动作辨识之值时,APP所要做出相对应的动作。我们可透过绘图触控笔以甩动的方式来切换成一个甩笔相机的操作动作。此时,Android 绘图APP就立即切换成可用来拍照的照相机。此外,撷取各个绘图触控笔所产生的不同动作可见G-sensor加速度感测器的范围值。因此,使用者的绘图触控笔可根据感测器的输出值切换成不同的APP操作介面。 (本文作者为虎尾科技大学资讯工程系许永和教授、李柏箴)


结论

透过本作品所实现的绘图触控笔与Android 绘图APP应用程式,可以提供家长与使用者另一种有别于市面上所看到的触控笔和涂鸦本等工具。


其中,内建G-sensor加速度感测器的绘图触控笔后,就具备了体感的功能,并可根据不同的姿势所产生的感测器输出数值,来实现不同的绘图与操控功能。而初步所设计的Andr​​oid 绘图APP可提高幼儿在学习的乐趣,并增加学习的记忆性与互动性。未来,可以根据不同类型的学习范围加以增添,以延伸具备体感功能的绘图触控笔的附加应用价值。


参考文献

[1]HT66FU50 Datasheet (PDF) -


Holtek Semiconductor Inc.[online] Available


http://www.alldatasheet.com/datasheet-pdf/pdf/334088/HOLTEK/HT66FU50.html


[2]线性加速器.[online] Available


sites.ccvs.kh.edu.tw/blog/lib/read_attach.php?id=


7208?


[3] DMARD07 Datasheet V1.0.[online] Available


http://www.domintech.com.tw/UserFiles/doc/DMARD07%20Datasheet%20V1.0.pdf


[4]蓝牙运作原理与应用.[online] Available


http://www.shs.edu.tw/works/essay/2009/11/2009111500244012.pdf


[5]HL-MD08R-C2蓝牙模组UART TTL Bluetooth v2.1+EDR Class2.[online] Available


www.hotlife.com.tw/HL-MD08R-C2.htm


[6]Androdi 2.X 手机程式设计入门、应用到精通。孙宏明


[7]Android的系统架构-陈钟诚的网站.[online] Available


ccckmit.wikidot.com/ga:architecture


相关文章
室内定位启动 创新位置服务新应用
无线感测监控不遗漏 精确掌握储槽液位耗能
动物大探奇
神乎骑技
医比压压
comments powered by Disqus
相关讨论
  相关新闻
» 协助客户解决痛点 士林电机展示完整工控解决方案
» 台湾工具机展银泰科技精锐尽出 主打智能与散热两大解决方案
» 筑波科技携手LitePoint共创5G、Wi-Fi 7、UWB无线通讯新境界
» 工研院秀全球最灵敏振动感测晶片 可测10奈米以下振动量
» 安立知以全方位无线通讯方案引领探索6G时代


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83TD1TRQESTACUKU
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw