来用甜菜和树莓派做一台打击乐器

这个乐器可以让任何导电的物体变身为打击乐器,并且,它只有一个电容传感器,一个树莓派,一个扬声器和一个木盒子这些简单的不能再简单的器件组成。这个项目中交互又是如此简单,从外面又看不到任何电子元件。

触摸传感器采用的是MPR121(淘宝MPR121 arduino可以找到很多类似的模块),然后在树莓派中通过I2C用python脚本与这块板子进行通信。这个脚本监听到新的触摸时通过pygame播放声音。然后在外接一个有线音响即可播放出声音,这就是一个简单的打击乐器原型。

先按照如图所示电路将MPR121与树莓派链接好

由于树莓派默认没有开启I2C通信,下面将说明如何配置I2C。以下教程只在Raspbian系统下有效,其他系统未做测试,欢迎各位将测试结果发来做个分享。

通过ssh进入到树莓派后输入以下命令:

sudo nano /etc/modules

然后将下面两行代码添加进去:

i2c-bcm2708 
i2c-dev

编辑完成后将系统重启即可生效。

如果I2C遇到问题,可以尝试下载2012-10-28版本的Rasbian系统,这个教程是在此版本下进行的测试。

I2C总线可以让树莓派同时接入多个设备,并且赋予每个设备一个独立的地址,当然这也可以检测设备连接是否正常。这里就用到了一个I2C工具i2c-tools

sudo apt-get install python-smbus sudo apt-get install i2c-tools

根据版本的不同,可能会有一个文件:

/etc/modprobe.d/raspi-blacklist.conf

打开后将下面两行注释掉,如果没有这个文件,那就不用这么麻烦了:

sudo nano /etc/modprobe.d/raspi-blacklist.conf
blacklist spi-bcm2708
blacklist i2c-bcm2708

然后重启:

sudo reboot

重新登录后敲以下命令能查看到当前通过I2C接口连接的设备:

sudo i2cdetect -y 1

这里显示的有两个I2C地址,0x40和0X70。如果你用的是第一版树莓派(只有256M的B版)需要将如下命令:

sudo i2cdetect -y 0

至此,树莓派的I2C通信调通了,下面将官网的Python代码下载到树莓派中,直接运行,这个项目就算最终完成了。

够简单,够炫酷吧,把samples文件中的音频文件替换成你想要的音效或歌曲,就可以做成一个非常炫酷又个性的乐器了。

本文编译自:
scott.j38.net
learn.adafruit.com

坐沙发

发表评论

你的邮件地址不会公开


*