3回答

0收藏

[教程] 跟着教程来一把:用甜菜和树莓派做的乐器

Raspberry Pi Raspberry Pi 3969 人阅读 | 3 人回复 | 2014-09-05

本帖最后由 haothree 于 2014-9-5 11:14 编辑


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



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

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


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

通过ssh进入到树莓派后输入以下命令:
  1. sudo nano /etc/modules
复制代码
然后将下面两行代码添加进去:
  1. i2c-bcm2708
  2. i2c-dev
复制代码

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

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

I2C总线可以让树莓派同时接入多个设备,并且赋予每个设备一个独立的地址,当然这也可以检测设备连接是否正常。这里就用到了一个I2C工具i2c-tools
  1. sudo apt-get install python-smbus sudo apt-get install i2c-tools
复制代码
根据版本的不同,可能会有一个文件:
  1. /etc/modprobe.d/raspi-blacklist.conf
复制代码
打开后将下面两行注释掉,如果没有这个文件,那就不用这么麻烦了:
  1. sudo nano /etc/modprobe.d/raspi-blacklist.conf
复制代码
  1. blacklist spi-bcm2708
  2. blacklist i2c-bcm2708
复制代码

然后重启:
  1. sudo reboot
复制代码
重新登录后敲以下命令能查看到当前通过I2C接口连接的设备:
  1. sudo i2cdetect -y 1
复制代码

这里显示的有两个I2C地址,0×40和0X70。如果你用的是第一版树莓派(只有256M的B版)需要将如下命令:
  1. sudo i2cdetect -y 0
复制代码
至此,树莓派的I2C通信调通了,下面将官网的Python代码下载到树莓派中,直接运行,这个项目就算最终完成了。

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



分享到:
回复

使用道具 举报

回答|共 3 个

倒序浏览

沙发

jwdxu2009

发表于 2014-9-5 11:20:56 | 只看该作者

设计的好,学习和参考了
板凳

feel-123

发表于 2014-9-5 14:13:01 | 只看该作者

谢谢楼主分享
地板

ukonline2000

发表于 2014-9-16 21:04:03 | 只看该作者

这么早的文章都被你翻出来了,呵呵
博客站点:http://ukonline2000.com
网店:http://ukonline2000.taobao.com
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条