用Arduino播放黑人抬棺
整体思路,用Arduino的tone函数,利用PWM端口直接输出蜂鸣器发声,关键在于预存好要发声的频率即乐谱,代码前部定义各种音调的频率基本很全了,可以套用任意曲目。
闲话不说,网上找的黑人抬棺的简谱,如下图:

然后恶补了些小学早就忘了的音乐知识,降B调就是升A即A#,1是A#,4是D#
对应的
-5 -6 -7 1 2 3 4 5 6 7 +1
F4 G4 A4 A4# C5 D5 D5# F5 G5 A5 A5#
然后就是枯燥的替换工作,把乐谱替换成Arduino数组tune[],上代码:
乐谱后面过长,我稍微删了一点,循环播放时候更流畅。
ENJOY!