【Totoro】模仿 "埙" 的电子吹奏乐器
简介
该产品是一件电子乐器,外观模仿了中国古代乐器“埙”的造型,共有六个按键,模拟乐器的六个指孔,可演奏13个音。通过蓝牙MIDI协议,连接手机“自乐班”APP,在手机上发出声音~
简介:该产品是一件电子乐器,外观模仿了中国古代乐器“埙”的造型,共有六个按键,模拟乐器的六个指孔,可演奏13个音。通过蓝牙MIDI协议,连接手机“自乐班”APP,在手机上发出声音~开源协议
:GPL 3.0
描述
一、项目简介
该产品是一件电子乐器,主控芯片采用的是ESP32,外观模仿了中国古代乐器“埙”的造型,共有六个按键,模拟乐器的六个指孔,可演奏13个音。通过蓝牙MIDI协议,连接手机“自乐班”APP,在手机上发出声音~
Bilibili视频演示: https://www.bilibili.com/video/BV1RT411u7S9
图1-1 制作好的Totoro实物
二、工作原理
要制作一款电子吹奏的乐器,首先要有检测吹气气流的装置,通过气流控制控制演奏的音量。然后要有发声单元,输出我们演奏的音符。吹奏乐器通常是手和嘴巴的配合,所以还要有指法检测装置。最后作为一款电子乐器,要突出其电子特征,一定要有灯光效果。所以,整个产品可以分为四个模块,分别如下图所示:
图2-1 Totoro乐器四个模块图示
气流检测部分采用的核心元器件是麦克风,演奏的时候对着麦克风吹气,会在麦克风两端产生电压,然后用运算放大器将电压信号放大,再通过单片机的ADC采集电压信号,就能够检测演奏时吹气气流的大小了。
图2-2 麦克风位置展示
指法检测部分采用了六个机械键盘的按键,这六个按键分别连在单片机的六个GPIO上,不同的按键组合表示不同的音符,目前的设计一共可以演奏13个音,具体的指法如下图所示:
图2-3 Totoro 乐器指法表
声音输出部分采用的是蓝牙MIDI连接手机,配合手机上的“自乐班”APP,在手机上发出声音。Andriod和iOS系统均可使用,在应用市场搜索“自乐班”安装即可。
图2-4 自乐班下载指南
灯光效果方面,该乐器前面板上嵌入了7颗WS2812灯珠,可实现蓝牙连接状态指示,演奏气流强度指示,甚至音乐氛围等功能。
整个系统的结构如下图所示:
图2-5 Totoro乐器系统框架图
在硬件结构上采用了上下两层的形式,中间使用4个M3铜柱连接起来,铜柱也是4个电极,用于沟通上下两块板。
图2-6 Totoro PCB渲染图
图2-7 焊接好的设备展示
图2-8 设备上底板焊接好的PCB实物及铜柱
图2-9 设备下底板焊接好的PCB实物
板子的尺寸控制在了10*10以内,可以再嘉立创免费打样哦~~~
三、关键电路介绍
3.1 气流检测电路
图3-1 气流检测部分原理图
气流检测部分的原理图如图3-1 所示,采用的核心元器件是电容式麦克风和LM358运算放大器,首先用过麦克风将气流信号转换成微弱的电压信号,第一个运算放大器用作电压跟随,改变线路的输出阻抗,经电容耦合后传输到第二个运算放大器的输入端,第二个运算放大器将信号放大10倍后,传输给单片机的ADC。
3.2 锂电池充电电路
图3-2 锂电池充电电路
锂电池充电电路如图3-2所示,采用的充电芯片是TP4055,体积非常小的一颗芯片,充电的时候红色的指示灯亮,充满之后红色的指示灯灭。PROG引脚的接地电阻用来控制充电电流,电阻越小充电电流越大,最小不得低于1.66K,建议使用2K的接地电阻,此时充电电流约100mA。
3.3 USB转串口电路
图2-3 USB转串口电路
修改后的电路图中采用的Type-C接口的USB,串口芯片采用的是CH340N。Type-C接口的CC1和CC2引脚上一定要分别加上5.1K的下拉电阻,不然Type-C 2 Type-C的USB主机不会为其供电。CH340N芯片可以使用5V或者3.3V供电,使用3.3V时电压抖动会影响USB工作的稳定性,所以建议使用5V供电。使用5V供电时记的在V3引脚上加上0.1uF的对地电容。
四、焊接指导
在制作的过程中为了不断调试优化设备,所以预留了一些最终没有用到的焊盘。另外音频输出功能也暂时没有实现,所以这部分是不需要焊接的,需要焊接的部分如下图所示:
图4-1 设备上底板上所需焊接的元器件及其参数
图4-2 设备下底板上所需焊接的元器件及其参数
五、软件源码
软件采用C语言编写,需使用乐鑫的ESP-IDF编译,开源地址:https://github.com/ospanic/Totoro
如果你没有相关的编程知识也没关系,附件中提供了编译好的固件,按照下图方式,使用flash_download_tools 烧录到设备中即可:
图5-1 固件烧录配置页面
六、使用方法
第一步,在手机上安装“自乐班”APP
在应用市场搜索“自乐班”,并下载安装
第二步,设置设备模式
Andriod 和 iOS版本的软件发音方式不一样,所以需要 根据自己的手机类型,调整设备的模式。
将设备的开关拨动到“开”,启动设备,启动瞬间第1357号灯会闪烁一次,然后第7颗灯闪烁蓝光,说明设备正常启动。
设备默认为iOS模式,如果你的手机是iOS系统,则不需要调节,直接跳转到第三步。
如果你的手机是Andriod版本,需按照下列步骤调节:
设备启动后,按住“Flash键“ 不放,然后按一下“手机模式切换键”,设备将切换模式,如果第3颗灯亮蓝色,表示切换为Android模式,如果第3颗灯亮绿色,表示切换成iOS模式。
设备模式设置具有保存功能,设置好以后下次无需重复设置。上电时第1357号灯亮绿色表示当前是iOS模式,亮蓝色便是当前是Andriod模式。
第三步,手机连接设备
设备上电后,第7颗灯闪络蓝色,说明进入等待连接状态。
此时打开手机上的 “自乐班” APP,点击“演奏”,然后点击右上角的连接标志。
注意:1. 连接设备是在“自乐班”APP里面完成的,不是在手机设置设置里面完成的。
2. 要将蓝牙及定位的权限开放给“自乐班”APP后,才能正确搜索设备。
再打开的页面中,可看到当前可连接的设备,点击链接即可。
注意:iOS手机需要在上述页面先点击“蓝牙MIDI设备”,才能看到可连接设备列表。
第四步,选择音色并演奏
调大手机音量,在演奏页面选择“本地”,创建一个曲目,点击进入,然后根据提示添加音色,选择音色进行演奏即可:
目前设备中提供了多种音色可供选择,读者可自行探索。
升降调操作
设备默认为C调,可通过如下不走实现升降调操作:
设备正常启动后,按住Flash键,轻触升调按键,设备将上升半音,同时第6颗LED亮红色。
按住Flash键,轻触降调按键,设备将下降半音,同时第1颗LED亮红色。
上述设置均可断电保存!
七、参考资料
【1】【低功耗蓝牙】④ 蓝牙MIDI协议_我是鹏老师的博客-CSDN博客_midi协议
【2】最全midi常用表 - 豆丁网 (docin.com)
【3】MIDI over BLE - v2.13 - Bluetooth API Documentation Silicon Labs (silabs.com)
评论