这是Hackaday上的一个项目https://hackaday.io/project/178953-polyphonic-touch-pcb-piano
长这个样子:
原理图 - 用Eagle绘制,可以直接用KiCad导入
核心器件采用了Arduino Uno上的经典8位单片机Atmega328P,即便菜鸟使用也非常方便
输入按键采用了触摸按键的方式,没有物理按键,节省了成本,看起来更Cool,重要的是可以学习触摸按键的硬件设计以及软件处理。
输出声音采用蜂鸣器,并用4个不同的频率合成以达到较好的声音效果。
同时也有LED指示
供电采用了一颗纽扣电池
PCB版图 - 用Eagle绘制,可以直接用KiCad导入:
目测这个板子的大小在捷配免费打板的范围内,因此有兴趣的同学可以直接下载其Gerber文件,打几块板,买几片Atmega单片机,就可以制作一个不错的礼物,送给女朋友、男朋友或xxxx。
这小哥还做了一个视频,详细介绍了他的项目,并做了演示,看起来不错。只是这个视频是在油管上的,不方便观看了。
在Hackaday的项目页面上,小哥分享了所有的设计文件 - PCB的原理图、布局布线图、Gerber文件(可以直接打板)、直接下载使用的Hex文件以及Arduino的源代码。
看到这个项目,其实我倒是建议使用ESP32或沁恒的CH573F系列的单片机,它们都带BLE的功能,支持触摸按键操作,功能更加强大,关键是可以通过BLE用手机跟其进行交互,可玩性会更强。
n年前,我们也曾为小脚丫FPGA设计过一款电子琴扩展板 - https://www.stepfpga.com/doc/ext_piano:
有完整的FPGA参考Verilog代码。
做一些简单、有趣的项目是入门硬件设计的最佳方式,也是学习硬件基础知识的有效途径,投入成本很低,做起来很有趣。