MAKER:banjowise/译:趣无尽 Cherry(转载请注明出处)
每当夜深人静孤枕难眠的时候你想干些啥?不妨和我一样制造一支敲击乐队,抄起尘封多年的尤克里里,来给楼上玩皮球的熊孩子助助兴吧!

大家可以先看一段视频:

下面的教程中我将详细讲解它是如何运转的。这里使用很多生活用品,比如:罐头、木勺子、钢琴锤、瓶盖和鱼网等。互动性很强。当然,你在搭建自己的项目时,你可以随意发挥。


这里有两种办法来控制:
1、基于浏览器的步骤序列,被我称为:PiBeat。它可以让你可以通过树莓派或同一网络上的任何其他设备(手机,平板或计算机)以交互方式控制你的机器鼓。稍后我会在树莓派上安装它。在这里可以预览:
http://pibeat.banjowise.com/

代码在 GitHub 提供下载:
https://github.com/mnkii/pibeat

2、编码击鼓模式的 Python 脚本。你可以创作自己的乐谱,甚至来配合你的吉他。多才多艺的你还不快来组建自己的敲击乐队?

材料清单



树莓派(Raspberry Pi)x1
5V 八路继电器x1
母对母跳线x10
3 AMP 接线端子x2
12V 10A 电源x1
12V 2A 电磁阀x8
1N5401 整流二极管x8
0.5mm 宽 50cm 长电缆×1
剥线钳×1
老虎钳×1
3mm 平头螺丝刀×1
十字头螺丝刀×1

将树莓派连接到继电器


1、树莓派上引脚提供的最大电压为 5v。树莓派直接为 5v 电磁阀供电,不会影响机器鼓的效果。因此安装继电器的作用是以 GPIO 较低电压驱动更高电压的电路(本项目中包含一个 12v 电磁阀的电路)。

2、继电器有八个通道,可以独立的开、关八个电磁阀。每个通道包含四个连接器,其中三个在高压电路中使用,稍后会看到。剩下一个连接到低压电路的 IN 引脚上。当树莓派的 GPIO 引脚发送 5V 到给定通道 IN 引脚上时,继电器将连接到相应的 12v 电路。

3、在继电器的低压侧,还有一个 GND(接地)引脚,需要与树莓派共地,以及一个 VCC 引脚相连,电源连接到树莓派的 5v 电源。

4、关闭树莓派后,按照图表用跳线将继电器与树莓派相连。

让它鼓动起来


在本步骤中,虽然它还不是一个成品,但可以通过继电器的控制尝试让鼓发出声音。
随后将介绍编写击鼓模式的 python 脚本,同时可以测试一下项目目前的状态。

点击此处查看脚本要点。
启动你的树莓派,在树莓派上打开一个终端并运行下载的脚本:

1
wget https://gist.githubusercontent.com/mnkii/8ab0d749c26379936c14e96cfaa92f7e/raw/array-sequencer.py

你也许想看看代码到底能达到什么效果,不如直接运行它:

1
python3 array-sequencer.py

如果一切运行正常,你可以听到继电器打开和关闭触点的声音以及相应通道上指示灯的闪烁。看一下脚本中的序列变量,了解是否一切正常。所有通道将会一起触发,然后每个通道将被单独触发。它会一直运行,直到你按 Ctrl+C 键后退出脚本。
在接下来步骤里,你最好关闭树莓派接线,避免发生短路。

准备正极端子电路

本项目要为八个电磁阀供电,我将创建一个并联电路。如图,你可以看到一个完整的 12v 电路图。

1、使用接线端子固定电线,你可以选择使用面包板或洞洞板。
2、将所有电磁阀和每个电磁阀的二极管(后面的二极管会更多)连接到电源的一根正极线上。
3、使用切割器,切割一对八块的接线端子,切割将两块连接在一起的塑料。但请注意不要切到任何金属。
4、将所有终端连接到端子的一侧。切割七根约 35mm 长的红线,然后每根线的两端剔除约 5mm 的绝缘线皮。

5、以菊花链连接的方式将所有端子沿着端子的一侧连接在一起,使用螺钉将电线固定到位。第一个和最后一个螺丝只有一根电线,其余的则有两根电线。

安装电磁阀和二极管


由于电磁阀带有电磁铁,建议使用二极管来保护电路以免受到反激(请点击此处查看详情)。因此每个电磁阀都配有二极管,用于保护继电器。

在上个步骤中所有端子都连接到端子的一侧,现在从第一个孔开始。插入电磁阀的一根电线,再将二极管的一端添加到同一个孔中。
由于二极管只能单向电流流动,因此请确保二极管上的银条朝向端子。 用螺丝固定到位。剩余的七个孔做同样的处理。

将负极端子连接电磁阀和二极管


与准备正极端子一样,在这个步骤中将制作一条负极端子,同样也是八对端子。如图所示,将二极管和电磁阀连接到端子,与正极对齐。

创建继电器电路

1、准备八根约 70mm 长的黑线,每根电线末端剥离约 5mm。

2、将每根电线连接到负极端子上剩下的八个连接器上。

串接继电器的 COM 端

1、用跳线将继电器与树莓派连接到一侧。每个通道有三个触点,从左到右分别称为常开 NO,公共端 COM 和常闭 NC。
2、电磁阀在通道 IN 引脚上有高电压时打开,因此要使用常开触点。如果是相反的情况就使用常闭触点,电磁阀将一直打开,直到 IN 引脚上发出高电压。最后,还将使用公共触点来完成电路。
3、由于这是一个并联电路,使用菊花链连接的方式连接继电器上的所有常见触点。切割七条约为 60mm 长的黑线,每个电线末端剥离约 5mm。

4、将继电器上所有 COM 触点(每三个为一组,中间的点为 COM 触点)连接在一起。第一个和最后一个将只有一根电线,其余有两根电线。

完成继电器剩余部分的连接


现在将继电器连接到电路的其他部分。将负极端子黑线的未端连接到继电器上的第一个或最后一个常开 NO 触点。其他七根做同样的处理,再将每根导线连接到下一根 NO 触点。

连接 12v 电源适配器


1、为避免任何电路问题,请关闭电源并拔下电源插头。
如图所示,本项目的电源 12v 插头已拔下。
假如你的电源有插头,你可以购买与之相匹配的母头直流连接器,或者切断插头并剥离出两根电线,红色为正极,白色为负极。
2、将电源的正极线连接到正极端子上的第一个触点,将负极连接到继电器上的第一个公共触点。我使用大约长为 150mm 的红线和黑线并剥除末端的电线皮,使用端子连接起来。

动起来

1、关闭电源,快速检查一下所有的连接。一切准备就绪后再次启动树莓派。再次运行脚本:

1
python3 array-sequencer.py

2、如果电磁阀没有移动,但是可以听到继电器的点击,和前面步骤中一样的亮灯。终止脚本 Ctrl+C,然后等待。
3、打开电源供,再次运行脚本,所有的电磁阀都动起来了。

编辑 array-sequencer.py


花一些时间编辑 array-sequencer.py 文件。 尝试执行以下操作,每次更改后重新运行脚本并查看效果:
1、将 bpm 变量从 120 替换成其他数值,例如 200,以增加速度。
2、在序列变量中,将某些 0 替换成 1,以增加敲击的物品。
3、复制序列变量中右方括号之前的最后三行,以循环添加更多节拍。

安装鼓的音序器

下面是非常有趣的艺术创作部分。
1、将 sequencer 连接到树莓上。这里有一个 Web 界面,让 Python 通过 web sockets 去触发 GPIO 引脚。


2、源代码在项目文件库中可下载到。
https://make.quwj.com/project/122
假如你按照教程中的连线方式进行操作,就可以下载并运行预编译版本。打开树莓派上的终端,然后运行以下命令:

1
2
3
4
5
6
7
8
9
10
11
# Create and navigate into a directory for our project
mkdir pibeat
cd pibeat
# Download the source code
wget http: //pibeat .banjowise.com /release/pibeat . tar .gz
# Extract the files
tar -zxf pibeat. tar .gz
# Install the python requirements
pip3 install -r requirements.txt
# Run the web server
python3 server.py

3、在输出中,如果一切正常,你可以看到以下输出:

======== Running on <a href="http://0.0.0.0:8080" rel="nofollow">http://0.0.0.0:8080 </a> ========
(Press CTRL+C to quit)

4、找到树莓派的 IP 地址。打开 Web 浏览器,然后在地址栏中输入http://树莓派IP:8080/index.html
此时 sequencer 将会出现。
5、点击播放按钮,你的机器鼓应该开始播放。调试音序器直到达到你的标准。

只要你的树莓派有网络,你就可以从任何设备访问树莓派的网络界面。可以在手机或平板电脑上尝试。

制作机器鼓及底部盒子


这一步才是该项目的灵魂部分,也是机器鼓是否有趣的关键所在。你可以赋予它不一样的意义。
我使用了许多的生活用品,比如啤酒瓶,罐头,摇瓶,瓶盖,渔网,台钟,鳄鱼响板和勺子等。我使用木制的龙头将台钟固定到位,我的金属杆可以转动并将勺子固定到位。






每个鼓都是一个独立的组件,如果不喜欢可以随时的替换。
电磁阀带有螺栓孔,需要 M3 螺栓固定。提前做好钻孔标记,确保固定到位。
我使用 6mm 的中密度纤维板制作鼓,然后用胶水或螺丝固定在一起。
罐头和啤酒瓶上的锤子是用来烘托气氛的,其实电磁阀的敲击声已经足够了,这些是在视觉上增添乐趣。

底部盒子部分

底部盒子部分非常的简单,由 3.6mm 的胶合板、18mm 的中密度纤维板和一些木条制成。底座的前面使用的是薄的胶合板,当勺子敲打时就会产生共鸣。底座部分不仅可以容纳所有的电子设备还可以作为鼓的平台。制作步骤如下:
1、切割两块相同尺寸的中密度纤维板制作顶部和底部。
2、切割四块 34mmx12mm 的木板,要短于盒子的宽度。
3、将四块切割好的木板与两块中密度纤维板形成盒子的形状。将木块放在距离盒子顶部和底部约 1cm 处。
4、再切割两块胶合板,使其与盒子的宽度和高度相匹配。将其固定到到盒子的正面和背面。
5、切割一块胶合板放入盒内,放在底部可以固定电子元件。
6、切割另一块胶合板将鼓连起来。这是一块平台顶部的木板。
7、在底部平台附近钻一个孔,将电源线穿过。

最后使用丙烯酸底漆涂上自己喜欢的颜色。一切完工后就可以开心的玩耍了。

https://www.quwj.com/2019/06/10/a-raspberry-pi-powered-junk-drum-machine.html

转载于:https://my.oschina.net/u/4047409/blog/3061588

用树莓派制造一支敲击乐队相关推荐

  1. 来自山西机器人乐队_格力:中国第一支工业机器人乐队重磅亮相

    原标题:格力:中国第一支工业机器人乐队重磅亮相 一直以来,格力的董明珠可谓是媒体的关注焦点,前有董小姐与雷军的10亿赌约,后有格力进军手机行业,现在格力更是涉足汽车以及芯片行业,而格力的智能制造领域也 ...

  2. 用树莓派做linux电视盒子,用树莓派制造一台“口袋电视”

    MAKER:MisterM/译:趣无尽 Cherry(转载请注明出处) 本期向大家介绍一个废旧利用的案例,如果家里有搁置已久的小型电视机,那就赶紧动手起来吧! 这个项目将给大家展示如何将一个废旧的便携 ...

  3. 树莓派 linux hook,树莓派制造日视/夜视串流直播摄像头

    MAKER:WalterK26/译:趣无尽 Cherry(转载请注明出处) 关于摄像头的案列,之前我们已经发表过<用树莓派做 RTMP 流直播服务器,可推送至斗鱼直播>.<180度小 ...

  4. 用树莓派制造木制 LED 游戏显示器,效果非常棒!

    MAKER:maketvee/译:趣无尽  本期再介绍一个基于 WS2812 的点阵显示屏项目.具有 20×10 像素单元,78×35 厘米的尺寸,刚好可以用来玩俄罗斯方块等复古游戏. 屏幕采用木质贴 ...

  5. python树莓派游戏机_用树莓派制造木制 LED 游戏显示器

    MAKER:maketvee/译:趣无尽 Cherry(转载请注明出处) 本期再介绍一个基于 WS2812 的点阵显示屏项目.具有 20×10 像素单元,78×35 厘米的尺寸,刚好可以用来玩俄罗斯方 ...

  6. mssql-server 树莓派_树莓派4发布,价格35美元起

    树莓派基金会刚刚宣布 Raspberry Pi 4(树莓派4代)已经开始发售,价格35美元起.这是一次全方位的升级,得以让树莓派拥有类似于 PC 级别的性能,同时也保留了经典的树莓派系列的接口功能. ...

  7. arm cpu 超频_树莓派 400 超频方法介绍

    对树莓派 400 进行超频非常容易实现.散热上,树莓派 400 设计了一个面积很大的被动散热器,这很有用.无需额外的主动降温就可以应对超频的散热需求. 尽管有些用户通过配置,让树莓派 400 超频到了 ...

  8. u盘自动挂载 树莓派_再推荐一个备份树莓派系统的脚本

    来自 九年吃菜粥 的投稿. 在我们使用树莓派进行学习或者搭建实验环境时经常会把系统玩坏,辛苦配置的开发环境又得重新配置:或者更新某一软件后发现新版本和某些组件不兼容,又无法降级.这个时候我们会想将系统 ...

  9. 来自山西机器人乐队_清华机器人乐队“墨甲”诞生了:中国风浓郁,还演出了舞台剧...

    歌栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAI 清华园里,有一只中国风乐队,叫做"墨甲". 不久前,乐队刚刚完成了首演,那是名叫<墨甲幻音>的舞台剧.苍翠 ...

最新文章

  1. (chap9 基于HTTP的功能追加协议) WebSocket使用浏览器进行全双工通信
  2. 关于Angular @Injectable的几种测试情况
  3. Alpine 操作系统是一个面向安全的轻型 Linux 发行版
  4. java jsp校验提示信息_java Jquery表单校验代码jsp页面
  5. 耗尽linux内存脚本,Linux下swap耗尽该怎么办?如何释放swap?
  6. qtp xml联合xsl输出html报表,通过xml和xsl实现数据和页面展示模板的解耦(简单完整网站代码示例)...
  7. Android唤醒屏幕
  8. C++day14 学习笔记
  9. catia三维轴承_常用滚动轴承手册与三维图库(CATIA版)
  10. Linux下PCIE设备分析软件
  11. 小学python编程_小学生都开始学的Python编程到底是什么?
  12. 曲苑杂坛--收缩数据库日志
  13. python代码手机壁纸_python 爬取王者荣耀高清壁纸
  14. java-清楚明了的集合
  15. 教程:BootToGecko系统虚机与实机开发环境搭建及FirefoxOS设备使用和开发网站推荐;
  16. 一张图看懂自动驾驶的分级
  17. 计算机16进制A3 B9,ASCII码16进制对照表
  18. SQL修改表字段名称及结构
  19. 如何解决Namespace declaration statement has to be the very first statement or after any declare call
  20. 使用fiddler获取ios手机接口

热门文章

  1. 为什么程序员“找不到对象”!几张图告诉你
  2. 网络测试常用的命令-比较ping,tracert和pathping等命令之间的关系
  3. 不用停断电安装的高压开关柜环网箱(局部放电及温度在线监测装置)局放在线监测检测装置改造方案
  4. 笔记整理1----Java语言基础(一)01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法
  5. 基础 | batchnorm原理及代码详解
  6. RESIDE:Benchmarking Single Image Dehazing and Beyond
  7. 自习室预约小程序,共享自习室系统
  8. jQuery--解除事件绑定
  9. Java木乃伊枪_java核心技术反射
  10. 4652. 纸张尺寸