国外小姐姐利用ATtiny85做了一把迷你PCB小提琴
这周和大家分享一个国外小姐姐利用ATtiny85做一把迷你PCB小提琴的项目,
包含了从PCB设计到单片机编程整个过程。
## 正文
### 用到的材料
- 定制PCB板
- ATtiny85
- 压电式蜂鸣器
- 按钮
- 侧装式LED
- 聚合锂离子电池
- Autodesk Eagle CAD
- Arduino IDE
- 烙铁
## 1、电路原理图和PCB设计
第一步是根据我想让小提琴具备的功能来选择将要使用的微控制器。
我需要至少一个PWM引脚用于压电蜂鸣器,另外两个数字引脚用于LED和按钮,所以ATtiny85是最合适的。
### 电路原理图
电路原理图相当简单。ATtiny85控制两个LED灯和一个压电蜂鸣器,我还加了一个按钮,用于切换歌曲。整个电路由一节3.7V锂电池供电。
我想把PCB做得越小越好,为了能把它当做徽章使用,所以我找到了最微小的微控制器封装(MLF-20)。
作为一个额外的功能,我还将小提琴的琴弦连接到了微控制器的模拟输入端,目的是为了能够真正用导电材料触摸琴弦来演奏小提琴。

### PCB设计
我使用Eagle CAD来设计我的PCB,当我需要定制PCB轮廓时,Gordon Williams的(https://gfwilliams.github.io/svgtoeagle/ "SVG到Eagle转换器")一直是我的首选工具。我在Inkscape中描摹了一把小提琴的轮廓,然后用这个工具将其转换为Eagle脚本。
为了获得小提琴F孔的透光效果,我在PCB背面放置了侧视LED,并使用Top和Restrict层去除该区域的铜和焊接掩模。


这是我从JLCPCB订购的PCB。丝网印刷非常细致,我认为哑光黑色的焊接掩膜非常适合小提琴!我这次忘了去掉订单号,但JLCPCB在订购PCB时可以选择这样做。
如果你也想订购的话,我已经把Gerber文件和Eagle CAD文件添加到了这个(https://github.com/Alexandra182/mini-violin "Github仓库")里。


PCB只是比我能找到的最小的lidianci大一点,所以我可以把电池藏在小提琴的背面。我没有使用经典的LiPo JST连接器,因为它与其他元件的对比非常巨大,所以我用2mm的引脚代替焊接。
我看到别人用一个很好的技巧来增强LED的发光效果,那就是用黑色热胶覆盖它们。


## 2、为ATtiny85编程
第一步是烧写bootloader,为此,我使用了[这个核心](https://github.com/damellis/attiny "attiny")和一个USBTinyISP编程器。
完整的程序可以在[这里](https://github.com/Alexandra182/mini-violin "mini-violin")找到,我将在下面解释主要的功能。
我使用了一些由Robson Couto翻译成代码的Arduino曲谱,你可以在[这里](https://github.com/robsoncouto/arduino-songs "arduino-songs")找到。Arduino Tone库与ATtiny微控制器不兼容,所以我使用了Tim Eckel的(https://bitbucket.org/teckel12/arduino-timer-free-tone/wiki/Home "TimerFreeTone库")作为替代。
由于歌曲(音符和持续时间的数组)对于ATtiny85的数据存储器来说太大了,我使用PROGMEM将它们存储在程序存储器中代替(这意味着我还必须使用特殊的函数来访问数组,如pgm_read_word_near)。
根据按下按钮的时间长短,程序会在4个功能之间切换:
- 弹奏《欢乐颂》(如果按下按钮不到1秒)
- 弹奏《绿袖子》(如果按下按钮在1秒-2秒之间)
- 播放哈利波特主题曲(如果按下按钮的时间2秒-3秒之间)
- freestyle(如果按钮被按下的时间3秒-4秒之间)
freestyle功能从连接到琴弦的针脚上读取模拟值,并将其映射到频率范围内,所以当琴弦被导电的东西触碰时,就会弹出一个音符。
## 完工!
https://www.bilibili.com/video/BV1Ft4y1e7rA/

我期待着在未来的迭代中改进一些东西:
- 我应该在PCB上加一个LiPo充电电路,因为现在我必须给电池单独充电,不是很方便。
- 现在,编程垫被放置在单片机的周围,所以我不能用pogo pins来编程,我在上面焊了一些线来代替。在下一次的迭代中,我应该把它们都放在彼此靠近的地方,间距相等。
希望大家喜欢这个精致的小项目!
PCB只是比我能找到的最小的lidianci大一点 点赞,看起来很不错啊。 非常精致小巧的玩意儿{:6_209:} 海之鱼 发表于 2020-11-2 09:58
点赞,看起来很不错啊。
是啊是啊 造型美观,功能实用,很喜欢 {:6_202:}//// 好好玩的精致物件
页:
[1]