APP下载

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

2022-04-21张鹏

电子产品世界 2022年4期
关键词:卡林编程语言鼠标

张鹏

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

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。连接成功就可以在手机上演奏了。

猜你喜欢

卡林编程语言鼠标
压力-体积转换在CFC编程语言中的实现解析
偷不走的才华
Progress in Neural NLP: Modeling, Learning, and Reasoning
Java编程语言的特点与应用
浅谈不同编程语言对计算机软件开发的影响
面向对象Web开发编程语言的的评估方法
丢失
纳他卡林激活内皮细胞ATP敏感性钾通道SUR2B/Kir6.1亚型对eNOS磷酸化的调节作用
超能力鼠标
鼠标也可以是这样的