这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» DIY与开源设计» 电子DIY» EEPW电子鼓DIY活动+成果贴

共4条 1/1 1 跳转至

EEPW电子鼓DIY活动+成果贴

高工
2023-09-21 05:25:06 打赏

同样是一个被管理员催着交作业的人,懒癌晚期实锤了哈哈

本次电子鼓DIY活动中使用的PCB大致由MCU最小系统、锂电池充电电路、WS2812彩灯电路、触摸按键电路、DAC电路和功放电路组成。一般情况我拿到一个新板子,第一反应是根据其原理图分析系统的电源轨,看看板子可以有几种供电方式/接口。

根据原理图可以看到,WS2812彩灯电路和功放电路采用锂电池直接供电的方式,毕竟需要驱动一个3W的扬声器,其供电电流必须持续且足够大。其余部分电路电源都来自RT9013这颗LDO的输出VCC,输入来自VBAT电池。进一步分析锂电池充电电路,SW2开关打开后,BAT_OUT电源流出来,而开关另一侧直接接的电池,所以断定这个板子只能通过锂电池供电,让MCU和其他电路正常工作起来。而此处的USB接口仅仅是用来为锂电池充电,改进的话可以在锂电池和USB电源之间接入一个MOS管,通过栅源之间的电压来判断是由USB供电还是锂电池供电。当仅插入USB,使用USB电源供电;当仅接入锂电池,使用锂电池电源供电;当锂电池和USB同时接入,通过锂电池供电,USB此时只对锂电池进行充电。

其他部分电路的介绍,鹏老师在论坛上有开设相应的课程进行讲解。链接附上:http://edu.eepw.com.cn/edu/show/id/3

image.png

下面是实物焊接图,焊工有限,嘴下留情。USB座子那里,烙铁松香一顿怼,总算焊上去了,结果整个物料包里面最脆的开关被搞废了,飞线接了个开关出来。

微信图片_20230921043505.jpg微信图片_20230921043719.jpg

微信图片_20230921045044.jpg微信图片_20230921045039.jpg有些丑,但好在不影响使用。接着使用ST-LINK连接板子,这里需要注意,板子已经使用锂电池进行供电,所以下载器只需要和板子共地即可。

微信图片_20230921045914.jpg打开鹏老师网盘里提供的示例程序,在keil里面已正确识别到目标MCU

image.png

直接点击DOWNLOAD下载,观察示例程序在板子上的执行情况。

微信图片_20230921050613.jpg12个彩灯依次亮起,并且触摸其中一个触摸按键,扬声器会发出鼓声。

代码执行逻辑是,初始化DAC、TIM2和GPIO外设,通过GPIO控制上电后WS2812彩灯依次亮起,然后熄灭,在while循环中始终翻转GPIO来控制LED,以指示程序正在运行。关于触摸按键的检测在中断中进行,当六个触摸按键被按下时,会产生上升沿,MCU捕获这个上升沿并触发中断,然后暂停定时器TIM2,填充该触摸按键对应鼓音的数组数据和大小,接着开启定时器TIM2并使能中断,一段时间后进入定时器中断,开始通过DAC一个个输出鼓音数据,直到数据输出完成。

明白代码逻辑后,根据示例程序进行修改,使其可以检测六个触摸按键是否按键,并分别发出对应的声音。

image.png

重新编译后,下载。此时六个触摸按键分别对应六个不同的鼓音。另外,通过板上的滑动变阻器调节阻值大小,进一步实现调整扬声器输出声音的大小。

之前有学过一段时间USB的知识,不知道这里如果把PA11、PA12两根信号线接到一个USB口上,枚举成一个UAC设备,进一步做成一个MIDI设备,可以在电脑或者手机上,玩一些音乐、乐器类的游戏,不知道这种方法是否可行。

总结

非常高兴这次能够参加电子鼓DIY的活动,对我这样的小白来说,又能提升焊接技巧(下一期DIY活动,那个开关我一定不会再焊废了!),又能学习如何使用数字电路实现模拟功能。同时还能跟着鹏老师学习如何获取音源、以及对音源的操作处理。感谢鹏老师,感谢EEPW!


高工
2023-09-21 06:11:42 打赏
2楼

不错,继续加油


管理员
2023-09-21 17:28:35 打赏
3楼

感谢支持!


院士
2023-09-22 09:14:04 打赏
4楼

嘿嘿,

楼主,咱们俩的焊功差不多


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]