9247| 6
|
[项目] 小Bit与好搭家族擦出的音乐火花 | 纸板和弦吉他 |
本帖最后由 怀若谷 于 2019-11-7 12:01 编辑 ![]() 半年前,和创客朋友们一起团购了一块CoCoTouch音乐主控板,官方有个纸板吉他的案例,无奈教程不太详细,感觉无从下手。直到,上周做完纸板架子鼓,我似乎感觉有了一点头绪。当然,我仍然选择了micro:bit加徽章板、HaodaMIDI的方案。和纸板架子鼓比较,虽然原理相同,但制作吉他的难度却大了很多,外观设计、程序编写以及后面的演示环节,都耗费了很多精力。 #演示视频# #制作原理# 纸板和弦吉他,和纸板架子鼓的制作原理是相同的。不过,制作吉他要设涉及到和弦,不只是几个简单的音符;为了更完美,我还设计了更换音色的功能,所以增加了一些按键开关,相应的发送和接收的信息就更多了。考虑到以后可以和架子鼓组合(HaodaMIDI有16个通道,完全可以做到),共用一块徽章板,发送的信息也避开了1~9。原理图如下图所示: ![]() (一)琴弦控制 当手指触碰了用铜箔包裹的木棒后,电信号会传导至Micro:bit的引脚,主控板读取到的对应的模拟值大于指定值(比如400),则通过无线通讯方式发送一个数值。6根木棒代表6根琴弦,被触碰后,发送的数值分别为:10、11、12、13、14、15。当收到信号后,徽章板会根据相应的数值结合收到的和弦值进行判断控制HaoddaMIDI发出相应的声音。 (二)音色控制 当按下接到引脚P0的按键开关后,向徽章板发出数值“50”。徽章板收到信息后,记录收到数值的次数,并根据次数为指定通道(通道1~6,一个通道负责一根琴弦的发声)选择相应的音色。 (三)和弦控制 #制作过程# 一、准备材料及工具 ![]() Micro:bit 3块 徽章板(含底座扩展板) 1块 (好好搭搭出品) HaodaMIDI 1块 (好好搭搭出品) Micro:bit扩展板 1块 (DF出品) 锂电池及底座 1套 (DF出品) 按键开关 9个 杜邦线 若干根 铜箔纸 1卷 小木棒 6根 M3螺丝及螺母、螺柱 若干个 瓦楞纸(50*50) 2张 电脑音箱 1套 所需工具:钢尺、裁纸刀、记号笔、热熔枪、十字螺丝刀等 二、硬件连接 ![]() 【01】HaodaMIDI一端通过数据线连接到徽章板D0口,一端插入音频头连接音箱。 ![]() ![]() 【03】将4根一头为母的杜邦线剥去一头,露出2cm左右的铜丝备用。 ![]() ![]() 【04】将上面准备好的4根杜邦线如上图方式连接到两块Micro:bit的正负极引脚。其中,负极引脚应选用3cm左右长度,以便后面穿过纸板进行固定。 ![]() 【05】将接好杜邦线的两块Micro:bit连接到扩展上供电,这样是为了让3块板子共用一个电源。这也是锂电池后来无法满足需求的原因。当然,您也可以选择分别对三个板子进行单独供电。 ![]() 【06】将6根杜邦线的两头去皮,一头露出2cm左右的铜丝,一头露出4cm左右铜丝。 ![]() ![]() 【07】将铜线通过螺丝固定在Micro:bit的其他3个引脚上。注意P0引脚处使用长螺丝。 三、制作外型 ![]() ![]() ![]() 【03】将两个造型纸板使用热熔胶粘合在一起,以增加吉他主体的强度。较尖的地方,可以在外沿多打一些热熔胶,以增加硬度。 ![]() 【04】剪出6条15cm左右长的铜箔片,与木棒长度大致相同即可。 ![]() ![]() 【05】将接在Micro:bit引脚上的杜邦线的一头,缠绕在木棒上;再用铜箔条进行包裹固定。 ![]() ![]() 【06】用剩余的纸板裁出4条长10cm、宽1.5cm的长方形纸板。将其中两条粘贴在吉他主体上,中间相距12cm。(保证木棒不会超出两端) ![]() 【07】将6根木棒粘贴于长方形纸板上,木棒间保持1cm 左右间距。 ![]() 【08】将剩余两条长方形纸板粘贴上去。 四、组装固定 ![]() 【01】寻找一个合适的位置(宽度不小于两块Micro:bit的宽度之和,导线长度足够),根据长螺丝的数量和位置穿4个圆孔(固定4个螺丝用),在靠近正负极引脚的位置再穿4个圆孔(穿正负极导线用)。 ![]() ![]() ![]() ![]() 【03】接有按键开关的Micro:bit,先通过螺丝固定在一条长方形纸板上;再用热熔胶固定在靠近4个螺柱的位置。重新连接好另两块Micro:bit的电源线。 ![]() ![]() 【04】裁出两条长方形纸板和一个倒角长方形纸板,用来固定9个按键开关。 ![]() ![]() 【05】将锂电池及底座通过螺丝固定在一片纸板上,再粘贴于吉他主体背面靠近Micro:bit处。 ![]() ![]() 【06】如果你习惯使用拨片弹奏,您还需要用铜箔将拨片进行包裹。 五、装饰美化 ![]() 【01】使用记号笔勾画轮廓及LOGO,以增加美观度。 ![]() ![]() 【02】在按键旁边合适位置贴上一片铜箔,利用白板笔(方便擦除更改)写上相应的和弦名称。 六、编写程序 【01】琴弦端Micro:bit程序 a.吉他的弦序 ![]() b.Micro:bit引脚与琴弦的对应关系 ![]() 第1块Micro:bit:P0—6弦,P1—5弦,P2—4弦 第2块Micro:bit:P0—3弦,P1—2弦,P2—1弦c.编写程序 Micro:bit端使用MakeCode(好搭版)在线编程平台, *不要直接使用官方的MakeCode for Micro:bit编程平台 ![]() 第1块Micro:bit上的程序 当第1块Micro:bit的三个引脚被触碰时(模拟值大于400),分别通过无线发送数字10、11、12。10,代表6弦被触碰;11,代表5弦被触碰;12,代表4弦被触碰。模拟值参数可根据测试结果进行调整,数值越小,越灵敏,但是手没有进行触碰时一般也会有一定的数值,不一定为0。我们可以使用下面的程序测试不触碰和触碰时的数值变化,以作为编程的依据。![]() 测试引脚模拟值的程序 ![]() 第2块Micro:bit上的程序 当第2块Micro:bit的三个引脚被触碰时(模拟值大于400),分别通过无线发送数字13、14、15。13,代表3弦被触碰;14,代表2弦被触碰;15,代表1弦被触碰。 【02】第3块Micro:bit程序 a.换音色按键开关 ![]() ![]() b.和弦按键开关 继续在上面的程序中增加按下其他按键开关后的相应指令。 ![]() ![]() 第3块Micro:bit完整程序如下图所示: ![]() 第3块Micro:bit完程序 【03】徽章板程序 徽章板端使用好好搭搭徽章板在线编程平台,网址:http://haohaodada.com/hz/ a.初始化部分 ![]() ![]() 当收到无线数据后,先判断其数值是否为“50”。如果为“50”,说明需要更换音色。每收到一次“50”,则将变量“YINSE”的值增加1,再根据这个数值匹配相应的吉他音色,将通道1-6的音色都设置为该音色。由于程序较长,不便于截图,上图仅展示按下一次按键后切换为“尼龙弦吉他”的部分程序。我在这个项目中,共设有4种音色,分别是:YINSE=1(或5)-->钢弦吉他;YINSE=2-->尼龙弦吉他;YINSE=3-->电吉他;YINSE=4-->失真效果电吉他。当“YINSE”的值为“5”时,需要将值重置为“1”,因为音色要回到“钢弦吉他”。程序如下图所示: ![]() c. 和弦变换 ![]() d.琴弦发声 编写控制琴弦的程序,需要对吉他的和弦有一些来了解。以上面提到的8个和弦为例,我们需要知道每根弦在不同的和弦下所发的音符。 ![]() ![]() ![]() ![]() 其他5根弦的程序只要照此方法编写即可。 吉他制作好后,在测试的过程中,发现只能进行分解和弦演奏,扫弦效果很不理想。我想,可能与制作弦的材料有关,木棒硬度较大,使用软质材料或者使用真的吉他弦是否会更好?也可能经过程序的优化后就能改进。这都需要时间继续摸索。也欢迎朋友们和我探讨! 完整程序见附件。 |
774.36 KB, 下载次数: 4926
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed