地图“会唱歌”

来源 :发明与创新·中学生 | 被引量 : 0次 | 上传用户:pz421769788
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在学习地理和音乐的知识时,我的脑海里突然冒出一个想法:能不能制作这样一块地图板,在说出其区域名称后,该区域的LED灯立即闪烁,并播放该区域的代表民歌?在家人的支持下,我开始了有关语音交互和民歌播放地图板的制作实践。
  一、构思设计
  语音芯片使用LD3320 Board,开发平台使用入门级的双核开源平台Fireduino IDE,存储器用Micro SD Card(TF-Card)模块,再加上一个音频输出模块和小喇叭。结构如图1所示。
  软件流程的构思如下:对着语音模块说出一个省级地区的名称,然后播放该地区的代表民歌,与此同时,地图板上对应的省份区域内的LED灯开始闪烁。当使用者说出“暂停”后,停止播放当前歌曲并等待下次语音播放。
  二、硬件设计
  硬件设计中的主控板选择了Fireduino 控制板。这块控制板拥有双核Cortex-M3处理器,集成高质量音频Codec和Wi-Fi模组,具备良好的IOT扩展性能,能完美兼容Arduino IDE和Arduino标准接口,并支持FireBlock图形化编程软件。
  一块Fireduino控制板=2×Arduino UNO Wi-Fi模块 音频模块 RTC模块 Flash模块。
  主芯片采用Rockchip双核Cortex-M3主控芯片RKNanoD,它拥有超高的运行频率,并且板载8M字节的大容量SPI Flash。
  硬件设计中的语音识别部分采用LD3320 Board模块。该模块采用SPI通信方式,其芯片具有非特定人语音识别技术,不需要用户进行录音训练,只需把识别的关键词以字符串的形式传送进芯片,即可在下次識别中生效。
  比如,用户在51等MCU的编程中简单地通过设置芯片的寄存器,把诸如“你好”的识别关键词的内容动态地传入芯片,芯片就可以识别设定的关键词语了。同时,可在用户自由编辑的50条关键词语中进行识别,终端用户可根据场景需要,随时编辑和更新这50条关键词语的内容。
  以上两大模块只需使用9根杜邦线连接,再将SPI控制线的3根线一一对应接上,SS芯片选择线接9号引脚,IRQ外部中断引脚接2号引脚,WR串并口选择线接地选择SPI方式控制即可。
  三、软件程序
  以江苏省为例。对着语音模块说出“江苏”,此时开始播放歌曲《茉莉花》,播放过程中说出“暂停”,暂停当前歌曲,再说出“继续”,继续播放歌曲,说出“停止”,终止播放当前歌曲。终止播放歌曲后,说出其他省份才开始播放当地代表歌曲。
  1.伪指令
  需要初始化的内容包括:串口、TF卡功能、Audio功能、LD3320模块。
  添加识别语句:如“江苏”等各省份的名字。
  死循环处理:如果说出“程序开始”,那么跳出死循环,否则继续等待。
  2.主程序
  判断选择(识别语句)→判断省份→播放民歌并驱动闪烁显示→若暂停,停止解码→若继续,恢复解码→播放结束退出循环。
  Fireduino关于Audio的例程中有针对查询解码的例程,且暂停、恢复、停止的解码都有相关的函数,只需按照伪程序的思路编写就可以完成。
  四、调试过程
  Fireduino控制板与电脑的USB连接,根据官方维基百科的提示来安装驱动,上位机Arduino IDE选择端口后下载Blink例程,可以看到板上的LED灯开始闪烁,说明程序下载正确。再插上TF卡和小喇叭,根据官方的播放音乐驱动进行循环播放。
  1.调试TF卡和小喇叭
  先在TF卡中下载一个名为test.mp3的音频文件,然后模仿官网例程操作。
  以上程序的说明为:
  (1)初始化串口,以便后续打印调试信息。
  (2)初始化TF卡,后续需从TF卡读取音乐文件用于解码。
  (3)初始化Audio,并且采用AUDIO_SD 方式。
  (4)如果初始化Audio 成功,播放MP3文件。
  短暂调试过后,如果听到声音,说明TF卡和小喇叭已调试成功,然后开始调试LD3320芯片模块。
  2.使用Arduino UNO板对LD3320进行开发
  接好线后,下载语音模块的官方例程,再接一个LED灯在8号脚上,编译程序并下载好后,对着模块说出“开灯”,LED灯点亮,说明例程没有问题。说出“关灯”,LED灯熄灭。
  在Arduino UNO调试成功后,再将LD3320与Fireduino连接并调试。
  3.再次调试
  在详细检查官方的驱动文件后,发现官方的Arduino驱动采用模拟SPI的方式进行,且函数名字也相同,与Fireduino的SPI函数有冲突。为解决这个问题,将LD3320.h和LD3320.cpp的驱动文件中关于SPI部分的文件采用硬件SPI的方式后,才将程序烧录进去。之后多次调试还是没有成功。
  经过反复实验后发现,Fireduino是ARM内核,且运算频率高达200MHz,delay()函数过于短暂,LD3320对不上Fireduino的SPI握手协议。为解决这个问题,需增加驱动中需要延时的地方的时长,并反复调试直至成功。
  至此,Fireduino的TF、Audio与LD3320全部调试成功。
其他文献
对于水果及叶类蔬菜来说,人们常常通过浸泡、水洗去除农药残留。浸泡、水洗虽然可以去除水溶性农药,但效率不高,也不适用于附着在果蔬表面的脂溶性农药。  用盐水清洗瓜果蔬菜可去除表面的部分细菌、寄生虫,但去除表面的农药效果较差;用碱水、苏打水清洗可去除部分农药残留,但灭菌、杀虫效果较差;用果蔬洗涤剂清洗效果不仅有待考证,还存在二次污染的危险。  我国有丰富的蛋壳资源,加工利用蛋壳的厂家却微乎其微,对蛋壳
近期,上海先后推出了交管12123 App和上海交警App手机客户端服务。使用交管12123 App可对登记在本人名下非营运车辆发生的依法应当处警告或200元(含)以下罚款的非现场违法行为(含记分)进行处理。而上海交警App 主要包含机动车和驾驶人交通违法信息查询、交通违法罚款缴纳、交通违法视频举报、交通信号灯报修等服务。  交管12123 App和上海交警App的推出,为广大车主查询、处理违章提
他身形清瘦单薄,却有着春风化雨般的温暖;他孜孜不倦地站在三尺讲台,成就桃李芬芳。他就是湖南省耒阳市第一中学(下称耒阳一中)特级教师吴济廉。  吴济廉1999年从衡阳师范学院毕业后就一直从事地理教学工作,现任耒阳一中地理教研组组长、科技创新组组长,是衡阳市地理学科带头人、衡阳市骨干教师、湖南省青少年科技创新优秀辅导员、湖南省“十佳”教师。  你知道“毕业啦”河在哪吗?一起来听听吴济廉的讲解吧!  教
爸爸,因為你们小时候好吃的东西又少又贵!
作为目前国务院批准建设的唯一国家传感网创新示范区,江苏省无锡市积极利用自身优势,推进物联网技术教育应用,特别是连续多年成功举办世界物联网博览会,让众多学校创客教育成果获得广泛关注。无锡市侨谊实验中学“IOT创客工坊”(以下简称IOT)以此为契机,推动学校教育变革,短短几年,就成为学校的王牌社团。  初三学生郭嘉濠是IOT的一名成员,加入社团仅仅两年多的时间就取得了不俗的成绩。其中,他设计的“冰球记
大部分情况下,大型活动都需用到舞台追光灯。目前,舞台追光灯需人工操作,其效果取决于操作人员的经验。一场活动至少有两个追光灯,这就需要至少两位工作人员操作,浪费人力。  如果能让舞台追光灯自动跟随演员照射就好了。看看我的设计吧!  一、方案设计  舞臺自动追灯系统采用三基站一标签的方式,标签由演员随身携带。基站对标签定位,进而实现对演员的定位。使用Arduino进行算法计算,控制舵机转动相应的角度来
不对!从元旦到国庆节要9个月, 难道从国庆节到元旦也要9個月吗?
这种战斗机和其他飞机不同,它有飞、渡、钻、行四大功能,如果遇到交通堵塞,你就可以驾驶它飞上蓝天,越过障碍物;平时,它会把“翅膀”收起来,以飞船的速度前进,先进的导航系统会让它巧妙地躲过任何一个人、一幢建筑物;遇水时,它可以伸出半圆形船底,在水上扬帆远航;遇到突发情况,如在战场上,海陆空都有威胁时,它还可以伸出尖尖的头,变成一个钻土机,片刻之间,从另外一个地方突然钻了出来,出人意料,打得敌人措手不及
由于城镇化建设的加速,粮食晾晒场越来越少,有人甚至不顾相关法律规定,将粮食摊到公路上晾晒,这样不仅会造成路面沥青对粮食的污染,还存在严重的安全隐患。  我设计了一种能改变目前粮食晾晒方式的装置——粮食多层晾晒系统。本系统包括系统支架、晾晒盘、卷扬系统、卷扬控制系统和装卸平台等。该系统左视图如下图所示。  晾晒盘由钢铁材质制成,底部装有数个小轮子,以减小晾晒盘在装卸平台上移动的阻力。晾晒盘左右两个悬
“早穿棉袄午穿纱,围着火炉吃西瓜。”这句谚语形象地概括了新疆早晚温差大的特点。是什么因素造就了新疆如此大的温差?  一、猜想与假设  新疆的地形特点是三山夹两盆,山石沙子多,初步推测新疆温差大可能与地形有关。  二、实验器材  沙子,水,2个相同容积的烧杯,2个相同的温度计,1个寒暑表,计数器,2个铁架台,2个相同的酒精灯。  三、探究过程  实验一  1.将相同质量的沙子和水分别倒入2个烧杯,将