DIY简易打击垫"LaunchBox"

2017-06-234.8万
精华项目
AI 快速预览详细 收起
DIY简易打击垫LaunchBox是一个基于Arduino Micro/Leonardo32U4板子和矩阵按键的项目。通过模拟USB键盘,将按键值发送到电脑串口,触发PC端下位机软件Soundplant播放音色。该项目适合初学者和音乐爱好者,无需复杂的专业知识,即可享受拍打节奏带来的即时音色回馈。
前些天逛TB看到了这货DIY简易打击垫"LaunchBox"图1


瞬间就有种”挪不动步子了“的赶脚,下面有视频

然而看了看价格,我又看了看老婆。。。算了,还是忍忍吧。
其实在这之前,我先看中的是LaunchPad:
DIY简易打击垫"LaunchBox"图2

但是感觉按键太多了,太专业。怕自己玩两天觉得难就放弃。
理性消费的OS:其实就是为了满足自己一个拍打节奏带来即时音色回馈的快感。
这么一说还真不如这样:


好了好了,不能在想下去了,干脆动手做一个。
计划:用矩阵按键模拟USB键盘把按键值发送到电脑串口,触发PC端下位机:launchpad模拟软件---SoundplantDIY简易打击垫"LaunchBox"图3
界面:
按键触发声音,需要音色包和一些按键设置,设置我会在后文中叙述。
跑了趟电子市场买了些按键回来。
先介绍一下材料把:
耗材:
按钮:6*6mm  ,12*12mm轻触开关, 工业仪器按键我都买了一些,因为我想做成矩阵式  ,4X4/ 6X6 /8x8随便。
如果要用小的轻触开关做,根据需要买个大一点的洞洞板。
一些导线,
木盒是TB的15*15cm

核心:
Arduino Micro/  leonardo32U4的板子可以直接用Keyborad.h的库

工具:手电钻
16CM的开孔器。
制作过程:这里演示我用大按钮做的4X4矩阵键盘
在木盒盖子反面上画出8X8的格子,每四个小格子为一个按键位,所以中心点就是开孔点。
DIY简易打击垫"LaunchBox"图4
16CM开孔器钻16个洞也就几分钟。关键就是不能太用力,一不小心很容易像我这样把盖板上面弄瘸。

DIY简易打击垫"LaunchBox"图5DIY简易打击垫"LaunchBox"图6
这里提供一个好方法:先还是从背面钻,钻到刚好从正面冒出一小点中心出来就换个面反转。这样就好多了。(图中右边就是先钻的)
装按键
DIY简易打击垫"LaunchBox"图8DIY简易打击垫"LaunchBox"图7
走线的话可以参考
DIY简易打击垫"LaunchBox"图11

这样就引出来8根线
接daoMicro的2-9
DIY简易打击垫"LaunchBox"图9

最后在侧面开个孔插数据线
DIY简易打击垫"LaunchBox"图10

程序代码
  1. #include <Keyboard.h>
  2. #include <Keypad.h>
  3. const byte ROWS = 4; //four rows
  4. const byte COLS = 4; //four columns
  5. //define the cymbols on the buttons of the keypads
  6. char hexaKeys[ROWS][COLS] = {
  7.   {'q','w','e','r'},
  8.   {'t','y','u','i'},
  9.   {'o','p','a','s'},
  10.   {'d','f','g','h'},
  11.   
  12. };//这个就是你想设定的键盘的键位后面可以加到6X6,8X8随意。
  13. byte rowPins[ROWS] = {2, 3, 4, 5 }; //connect to the row pinouts of the keypad
  14. byte colPins[COLS] = {6, 7, 8, 9 }; //connect to the column pinouts of the keypad
  15. //4横4竖对应的引脚,6X6,8X8的括号里面对应的加就可以了
  16. Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
  17. void setup(){
  18.   Serial.begin(9600);
  19.   Keyboard.begin();
  20. }
  21. void loop(){
  22.   char customKey = customKeypad.getKey();
  23.   if (customKey != NO_KEY){
  24.     Keyboard.println(customKey);
  25.   }
  26. }
复制代码

上传代码后,它就变成一个键盘了,接着就可以开始设置软件键位,注意视频看到一半你可能会出做出同右边一样的动作
表怪我,我真没意识到。


现在有个问题就是:这么大个盒子就放这么点东西太浪费,而且还得接电脑,如果我想做成内存卡音源让按键调用,喇叭播放怎么实现呢?我有个MP3模块,不太会用,资料上说只能弄11首曲子。希望大神们帮帮我。DIY简易打击垫"LaunchBox"图12
又做了个36键的
DIY简易打击垫"LaunchBox"图13

wa.JPG (100.25 KB, 下载次数: 16123)

DIY简易打击垫LaunchBox · Arduino项目_image_3.webp

2017-06-22 231207.jpg (103.01 KB, 下载次数: 16153)

DIY简易打击垫LaunchBox · Arduino项目_image_6.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(16)
solubleblock
solubleblock
好有趣,做的好棒!就是我自己手太废了
派大星ym
派大星ym
。。。
派大星ym
派大星ym
厉害厉害厉害
小马1
小马1

好漂亮啊应该做一个送给女朋友
lilei8488
lilei8488
keybroad.h 和 keypad.h 有没有下载的连接
创客马老师
创客马老师
作者
回复lilei8488
http://playground.arduino.cc/Code/Keypad#Download
另外一个在USB库里面你找找
1214454457
1214454457
666
dbc0301
dbc0301
问题是给我也不会玩啊233
Niko
Niko
萌新膜拜大佬
传奇帝丶
传奇帝丶
做成电容按键岂不是美哉
lauren
lauren
老板缺了背光啊!!!感觉没了背光没了灵魂啊!
创客马老师
创客马老师
作者
回复lauren

对啊,我这一周都在研究背光是怎么玩的,目前已经发现了MAXuino,一个运行在MAX7上的插件,这个东西很早就有了,现在MAX7得在ableton_live环境下运行,所以这有点麻烦,至于MAX和LIVE这两个软件,我理解为一个媒体互动控制的音序编辑器,配合ARDUINO可以根据自己的想法玩出很多声光动的演示。界面类似与

xiaohe9527
xiaohe9527
全部接高电平吗?还是又c接高电平,y接低电平,然后中间加电阻?
xiaohe9527
xiaohe9527回复创客马老师
那么库文件,keypad.h文件在哪里下载?
创客马老师
创客马老师
作者
回复xiaohe9527
不加电阻,加电阻好像是更高级的玩法,通过划定某个模拟口对应的那一排按键按下后不同的量的区间来定义按键,你可以看看Keypad.h里面的代码,类似于一个横/竖轴扫描开关动作的位置去定义按键的。
xiaohe9527
xiaohe9527
这么多的按钮,按下去对应的东东怎么弄?做成库了?keypad,keyboard?
Ash1
Ash1
正好前两天刚看个超好笑的视频:
当你买不起一个真正的Launchpad
https://www.bilibili.com/video/av4281737/
不过这个做的好棒!赞一个
创客马老师
创客马老师
作者
回复Ash1
等我下个东西出来。比这个要好玩
iooops
iooops
你还可以用树莓派写音序器
创客马老师
创客马老师
作者
回复iooops
我看到老外用MSP430launchpad做的,但是看了一下MAX/MSP的界面,感觉太专业了。。。你说的音序器是不是指指定触发的意思,有没有树莓派的相关的例子借哥们看看。谢谢!
iooops
iooops
楼主……我觉得你可以用树莓派 = = 不仅可以挂载音源 还可以用个好点的喇叭把树莓派改装成音箱 - - 肺腑之言
iooops
iooops
沙发~
- 没有更多了 -