這是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代碼。
做一些簡單、有趣的項目是入門硬件設計的最佳方式,也是學習硬件基礎知識的有效途徑,投入成本很低,做起來很有趣。