掌控“百灵”的“非常6+1”红外吉他
2020-07-16牟晓东
牟晓东
今天,我们来设计制作一个非常有趣好玩儿的“非常6+1”电吉他,使用的设备包括掌控板、百灵鸽扩展板和红外线传感器,即使你从来没弹过吉他也一定会使用它来边“弹”边唱,操作简单且效果非常棒,一起来吧!
吉他曲的常规和弦是七个,分别是C、D、Em、F、G、Am和Bm。但掌控板只有六个金手指触摸按键,还少一个对应Bm和弦的输入端,虽然可以使用顶端的A或B按键代替,但操作时略显迟钝,毕竟触动按钮的操作要比触摸按键慢一些。因此我们需要借助百灵鸽扩展板外接红外线传感器,让掌控板再扩展出一个红外感应的输入接口,手一挥动即可触发,这样就实现了“非常6+1”的七个吉他和弦的输入响应。
百灵鸽是与掌控板配套使用的扩展板,提供有3PIN标准传感器接口和3个I2C接口,搭载的700mAh电池可供8路舵机运行,而且内置了音频功放、温湿度传感器及六轴传感器,可配合掌控板实现人工智能语音、物联网等多种功能(如图1、2)。
由于Mind+内置的声音库并没有我们需要的电吉他音色,你需要先下载并导入我们前期录制好的音频文件。在前期我们使用麦克风采集了吉他的和弦音并用音频编辑软件分割剪辑输出,生成对应的七个和弦WAV音频文件。值得一提的是,常规的吉他演奏包括四四拍、六八拍等多种,在此我们录制的是慢八拍和弦声音。如果想让程序音色更加丰富,还可分别录制多种拍式(包括扫弦)的和弦声音采样以备调用。
现在开始“组装”掌控板和百灵鸽。
将百灵鸽扩展板背面的三个螺丝拧下,再将掌控板对准位置后小心拧紧固定好;接着使用三根母对母杜邦线将红外传感器与百灵鸽扩展板的扩展引脚P11接线柱连接好(百灵鸽的P11其实就是对应掌控板的B按键),注意一定要对应好电源的正极VCC、负极GND和信号端OUT(S),不能接错(如图3)。
接下来,将掌控板通过USB数据线连接电脑,运行Mind+,新建一个项目文件,点击“连接设备”菜单命令。如果出现“连接设备成功”的提示,同时右上方的菜单显示类似于“COM3-CP210x”的字样,说明掌控板已经被Mind+正确识别(如果是第一次使用,Mind+会快速进行相关驱动的安装)。
保持右上角Mind+的运行状态是“实时模式”,依次点击左下角的“扩展→主控板→掌控板”。此时,Mind+主界面左侧“模块”区域的最下方就会多出“掌控”项,其中会有“事件程序”、“板载传感器”和“屏幕显示”等多个积木命令块(如图4)。
Mind+的“声音”模块及“掌控→音乐”模块提供了设定任意音符的播放功能,也可以进行自定义录制(相当于通过麦克风的“外录”)。在主界面中点击切换至“声音”选项卡,然后点击左下角的喇叭图标选择最上方的“上传声音”项,一次导入全部七段和弦音频。此时可点击左侧音频进行试听,并根据播放效果进行“快一点”、“响一点”等处理做进一步的修饰,您下载的音频已经进行过精准的剪辑,可直接使用(如图5)。
程序的整体结构非常简单,是由七个并行的“多线程”组成,分别对应各种和弦的检测和响应操作——只要操作者触摸到掌控板的触摸按键(六个中任意一个),或者触发红外传感器(第七个输入端),就会调用播放对应的一个固定和弦音。
在此以掌控板上第一个“P”字母触摸按键编程为例,它对应的是演奏C和弦,组合以下积木(如图6)。
“掌控→事件程序→當触摸按键‘P被‘接通”;
“声音→播放声音‘Meow”项,修改播放的声音文件为导入的C8.wav;
“掌控→屏幕显示→屏幕显示文字‘Mind+在第‘1行”,修改为在第2行显示字母“C”(前面加几个空格实现“居中”的显示效果),提示操作者此时演奏的是C和弦;
“LED控制→灯号‘0显示颜色”,修改为“全部(-1)”、颜色为蓝色;
“LED控制→设置LED灯亮度为‘6”;
“LED控制→关闭‘全部LED”。
表示当检测到P按键被触摸到时(即“接通”状态),开始播放声音C8,显示文字C,掌控板上的三只并列LED灯先以中等亮度全部显示为蓝色、再熄灭,即蓝光闪烁一次。
其他的五个触摸按键的编程与“P”字母一致,只需修改对应播放声音、显示字母和LED颜色。
第七个Bm和弦的输入是连接在百灵鸽上的红外线传感器(百灵鸽的P11对应掌控板的B按键),第一条命令语句修改为“当‘B按钮‘按下”(如图7)。
调试时可在各个线程语句块上用鼠标点击进行测试——检测和弦音乐演奏、屏幕显示和弦名称及LED灯闪烁是否全部正常。然后就可以正式进行掌控“百灵”红外吉他弹唱了,对照吉他谱如《涛声依旧》《弯弯的月亮》,按照正常的节拍分别触摸对应的按钮和红外传感器感应区域即可(如图8)。