基于ESP32的卡林巴琴制作教程

张鹏

作为一个理工男,对音乐总有着迷之兴趣。但是在这方面一直缺乏指导,只在小学的时候上过几节音乐,记得少许简谱的概念。后来中学忙于文化課,大学选择了电子专业,与音乐就越来越远。笔者现在已经参加工作了,小时候埋在心里的种子终究会发芽,工作闲暇利用自己专业相关的知识,设计了一款电子乐器,与诸君分享。

1卡林巴琴简介

卡林巴琴本是非洲的一种民族乐器,通过弹拨发出声音。本设计模仿卡林巴琴的外观,采用图1所示的鼠标按键代替卡林巴琴的金属弹片,蓝牙连接手机,在手机上发出声音。

2硬件设计

该设计采用ESP32作为主控单元,ESP32是一颗功能强大的物联网芯片,可同时支持WiFi和蓝牙功能,20+可用GPIO,运行频率最高可达240 MHz,可以采用C语言、Ardiuno、MicroPython等方式进行开发。

整体的设计思路是先使用ESP32的蓝牙功能实现 MIDI协议,连接手机后,与手机上的APP配合,手机在手机上发出声音。编程语言使用的是MicroPython,上手相对比较简单,非电子专业的同学也可以尝试做一下。

工作原理也非常简单,当程序检测到有按键按下时, ESP32通过蓝牙发送相应的MIDI指令到手机,手机收到相关的指令后,在手机上播放对应的音符。

讲完了工作原理,接下来我们看下硬件设计。如果你没有PCB板设计经验,可以尝试制作如图3所示的简易版本,使用现成的ESP32_Dev_Kit开发板配合鼠标按键,在一款较大的洞洞板上简单焊接就完成了。注意,使用鼠标按键的上面;上面两个引脚分别连接 GND和ESP的引脚。

如果你有一定的PCB设计能力,建议制作图4所示的版本,集成了锂电池充电电路和WS2812彩灯,同时外观也更为美观,电路原理图见图5,元器件布局见图6。为了追求美观,所有的走线都放置在了 PCB板的背面。

3软件设计

编程语言使用的是MicroPython,开发环境使用的是uPyCraft,程序的逻辑是先通过蓝牙实现MIDI服务,等待手机连接,手机连接成功后当检测到有按键按下,就发送相关的MIDI指令到手机上。

核心代码请参考电子产品世界网站论坛。代码运行后,根据手机平台的不同,使用如下方式与设备建立连接,iOS平台见图7,安卓平台见图8。连接成功就可以在手机上演奏了。

猜你喜欢编程语言指令按键基于JavaScript编程语言之 闭包技术在焦点轮播上的应用中国新通信(2022年3期)2022-04-11一样,不一样动漫界·幼教365(中班)(2022年1期)2022-01-13计算机软件JAVA编程优势及其应用计算机与网络(2021年19期)2021-12-18非触勿动 秒治键盘误触电脑爱好者(2020年11期)2020-07-29《单一形状固定循环指令G90车外圆仿真》教案设计学校教育研究(2020年11期)2020-06-08新机研制中总装装配指令策划研究航空科学技术(2019年2期)2019-09-10基于计算机应用软件开发的Java编程语言研究今日财富(2019年14期)2019-07-19未来的笔作文与考试·小学高年级版(2016年12期)2016-09-10其实真的很简单教你轻松关闭WP8.1手机按键灯电脑爱好者(2015年9期)2015-05-15计算器爆笑show(2015年3期)2015-05-08 相关热词搜索: 制作教程 ESP32 卡林巴琴