一款便携式启蒙电子钢琴的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本栏目责任编辑:梁书
计算机工程应用技术
一款便携式启蒙电子钢琴的设计与实现
田伟,李玲香,潘学文
(湖南科技学院电信与信息工程学院,湖南永州425199)
摘要:针对新手刚接触电子钢琴无法看懂五线谱,上手较为困难而易失去学习兴趣。

该文在传统电子钢琴基础上,琴谱的
部分则应用Qt 技术来搭建界面,并将钢琴五线谱的每个发音转换成开发板中每个按键的位置得到简化琴谱。

简化后的琴谱在开发板上显示出来的12个按键,正好对应简易琴谱上的每一个音。

这样,无论什么基础的人都可以对照显示屏的琴谱,顺利弹奏出完整美妙的钢琴曲。

此外,该文电子钢琴是在S5p6818开发板上实现的,携带方便而不占用大量空间资源。

关键词:电子钢琴;S5p6818;TFTP ;线程中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2021)15-0212-03
开放科学(资源服务)标识码(OSID ):
1背景
据调查分析,人们多数人认为自身会一种甚至多种乐器,会让自己在社会中有更好的发展,更好地表现自己,现在越来越多的家长热衷于青少年对乐器的学习和培养。

图1爱好乐器年龄阶段调研分析
图2会乐器是不是自己的加分项
2019年初,卡西欧推出新一代轻薄便携带的电钢琴,PX,CDP,EP 系列[1]。

该系列电子琴虽然在体积有所改观,但出门携带仍有困难,而且价格不菲。

其后,在针对电子钢琴体积大,价
格贵的问题,一些钢琴制造商们又推出了可折叠式的电钢琴,相比于传统的电子钢琴来说,其体积大大减小,价格也相对实惠,但折叠式电子钢琴折叠后,仍然存在不便于随身携带和占用空间的问题。

比如一些大学生对电子钢琴比较感兴趣的就不能在宿舍随时拿出,随时弹奏。

如今,基于C++的电子钢琴,相比于前几代的钢琴系列,轻巧便携,价格实惠。

2系统总体设计
本文系统主控模块采用S5p 6818芯片作为核心,用USB 线将电脑与S5p 6818上的COMO 端口相连接,再将电脑上的RJ45接口用网线与s5p 6818上的ETHERNET 端口相连接,通过
Tftp [2]
将文件传输到S5p 6818上,开发板接收文件完毕后,通过SecureCRT 去控制终端的开发板,在开发板上对文件进行压缩,再运行,能够正常运行后,LED 屏上会将文件中的内容显示出来,达到显示钢琴键盘的效果。

其系统总体框图如图3所示。

图3系统总体框图
3系统实现
3.1部分硬件设计
3.1.1外围电源电路设计
电源供电采用DC 5V/3A 提供给s5p6818供电,提供稳定的
电压,充足的电流,且电源电压建立时间短,功耗消耗也低,能
收稿日期:2021-01-13
基金项目:湖南省自然科学基金项目(项目编号:2020JJ4327);湖南科技学院应用特色学科建设项目资助
212
计算机工程应用技术
本栏目责任编辑:梁

Computer Knowledge and Technology 电脑知识与技术
第17卷第15期(2021年5月)
满足供电电源的所有基本要求。

其外围供电电路设计如图4
所示。

图4s5p6818电源及复位图
3.1.2数据收发模块设计
数据收发模块使用PHY 芯片RTL8211E 对以太网进行连接进行收发数据,其连接电路如图5
所示。

图5以太网PHY 层芯片RTL8211E
3.2软件实现3.2.1
钢琴界面实现
图6Qt 界面搭建流程
首先打开VMware-Workstation 虚拟机,在虚拟机中左边的
框中选中安装好的QtCreator ,就可以创建一个新的Qt 工程,其
创建流程[3]
如图6所示。

本文Qt 界面搭建,采用mainwindow.ui [4]。

因为其十分的简单,只需要在控键箱中找到自己需要的控键,然后拖拽到位于中心的设计区域即可。

等在设计区域中把想要的界面搭建好后,编写代码设置一些特定按钮的信号以及槽函数实现想要达到的功能。

visible =false;(visble 是申明在头文件中的一个布尔类型,在这将它赋值false )
ui->widget_datetime->setVisible(visible);(表示开始的时候将界面中命名为datatime 的对象先隐藏起来)
connect(ui->btn_datetime,SIGNAL(clicked(bool)),this,SLOT (onShowOrHideWidget()));(连接点击按钮与当前界面类的信号与槽)
this->visible =!visible;
ui->widget_datetime->setVisible(visible);(判断visible 的值,达到可以连续按动按钮,实现按钮功能的重复使用的效果)
当代码编写完成后,点击运行,就会把搭建好的界面显示出来,如图7所示。

点击设置的显示琴谱按钮,就会把琴谱显示出来,点击切换琴谱,就会切换到下一张琴谱。

如图8
所示。

图7搭建好的Qt
界面
图8琴谱界面
在Qt 搭建的简易琴谱界面中,简易琴谱转化思想是将钢琴五线谱的每个发音转换成开发板中每个按键的位置。

琴谱中的1就对应按键中的第1个按键,2就对应按键中的第2个按键,以此类推。

刚好简谱是用阿拉伯数字1,2,3,4,5,6,7去表示音阶的7个基本级,分别读作Do,Re,Mi,Fa,Sol,La,Si,Do.而钢琴按键部分的第一个按键正好是发Do 的音,以此类推,后面的按键就是发Re,Mi,Fa,Sol,La,Si,Do 的音,正好又可以对应上音阶的7个基本级,所以可以达到让用户轻松识谱,轻松弹奏的目的。

而琴谱中的0则表示在该处需要稍做停顿,可以达到表示该曲是几几拍的效果,使弹奏出来的效果更接近原钢琴曲。

3.2.2电子钢琴程序实现
电子钢琴软件实现原理是将钢琴的一些基础发音和按键保存,存放到创建的链表中。

按动琴键,就会由相应的进程去播放相应的音频,从而达到,按动每个按键,弹出对应音调。

程序代码编写思想:首先编写两个带头结点的双向链表,一个用来保存读取到的图片信息,一个用来保存钢琴按键对应音调的文件。

再编写一个识别.bmp 图片和.mp3的代码。

因为
213
本栏目责任编辑:梁书
计算机工程应用技术Computer Knowledge and Technology 电脑知识与技术第17卷第15期(2021年5月)
在linux 操作系统中,一切皆文件,它是根据文件内容来判断的,而不只是单单依靠后缀名来判断文件的格式的,当识别到.bmp 和.mp3的文件后,会将文件的路径保存到之前创建的链表中,然后根据.bmp 图片在linux 操作系统的格式来对文件进行判断,看是否真的是符合要求的.bmp 格式的图片,判断函数如下:
char buf[2];
read(fd,buf,2);
if(buf[0]!=0x42||buf[1]!=0x4d){
printf("NO\n");close(fd);return -1;}
printf("Yes\n");
然后将LED 显示屏文件给打开并映射,(显示屏相关文件存放的路径为/dev/fb0)。

fd =open("/dev/fb0",O_RDWR);(打开显示屏相关文件,申请LCD 设备资源)
映射:
plcd =mmap(NULL,800*480*4,PROT_READ |PROT_WRITE,MAP_SHARED,fd,0);
if(plcd ==MAP_FAILED){
perror("mmap error:");
return -1;
}
申请完显示屏资源后,就可以在显示屏上进行画点,显示出相应的图片在显示屏上。

void draw_point(int x,int y,int color){
*(plcd +800*y +x)=color;}
4结束语
本文电子钢琴在传统电子钢琴的基础上,利用Qt 技术搭建了一个琴谱界面显示简易琴谱,即使用户看不懂钢琴五线谱的情况下,也可根据简化琴谱弹奏钢琴曲,有良好的用户体验,并携带方便,还可支撑简易谱和五线谱之间的切换,方便用户后续学习和使用,但系统录入的曲目数量有限。

参考文献:
[1]卡西欧推出新一代轻薄便携电钢琴,不忘初衷突破自我[J].乐器,2019(7):98-99.
[2]孙晓晔,王程,成彬.基于TFTP 协议实现STM32的IAP[J].微型机与应用,2016,35(7):76-78.
[3]付嘉宁.基于Qt 的显控系统图形显示的研究[J].电子测试,2017(15):37-38.
[4]赵北庚.Windows 系统下Qt 图形界面集成开发环境搭建[J].科技经济导刊,2016(9):20.
【通联编辑:代影】
(上接第205页)
参考文献:
[1]卢晓响.通信服务行业节能减排路径分析[J].市场周刊,2016
(11):51-53.
[2]唐松.通信行业节能减排工作的思考[J].中国科技投资,2016(21):387.
[3]周媛媛.通信行业节能减排工作的思考[J].科技展望,2016,26(10):16.
[4]黄春子.关于通信行业节能减排问题的探究[J].电子测试,2015(15):152-153.
[5]梅侃,万颖,杨婷婷.通信机房节能减排行业发展现状及趋势[J].商,2016(17):270-271.
[6]袁海娣.通信行业节能减排评估指标体系的构建[J].宜宾学院学报,2015,15(6):53-56.
[7]陆忠梅.通信行业节能减排评估指标体系构建[J].电脑知识与技术,2015,11(3):236-237.
[8]2014年通信行业节能减排论坛举办[J].数字通信世界,2014(10):68.
[9]丁茂震,乐利锋,赵伟.4G 时代通信行业节能减排长效机制探讨[J].中国科技纵横,2014(16):1-2.
【通联编辑:光文玲】
214。

相关文档
最新文档