0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自制电子鼓DIY图解

454398 来源:wv 2019-10-25 10:36 次阅读

步骤1:需要的东西

* ELECTRONIC STUFF

Arduino UNO R3

SD卡屏蔽层

USB电缆

#5 V适配器

#Micro SD卡

#压电换能器(又名压电磁盘)

#带状导线

#单芯屏蔽线。

#连接线。

#并行PCB

#2个接触跳线。

#3.5mm音频插孔(公n母)

电阻-1M和10K(每个约10个)

*硬件杂物

#PVC管(3.5厘米,理想厚度)-3米

#PVC T型接头

弯头

联轴器

塞子

#Thermocoal(实厚)。

#橡胶样材质(诚实地不要使用它的花哨名称。:)

任何具有求和刚度和弹跳力的材料。我是从鞋类制造商那里购得的。它们被用来制造鞋子的灵魂。 )#Rexin(这种材料将是人造膜。我使用了类似材料的黑布

.u可以使用任何使其看起来很酷的东西.u甚至可以使用皮革

。这不会影响方式你的鼓声。)#看起来很酷的东西,让你放进去。(我用了一个旧的笔记本电脑

cooler-pad.n里面的房间看起来很棒。)

*需要工具

#焊接设备。

#切割钳

#剥线钳

#剪刀(重型物品)

#Thermocol切割器

#钢锯

#测量

#Fevicol SR&SH(印度木材和制鞋业用胶水制造商。您可以在您所在的国家或地区使用相同的胶水:P)

#绝缘胶带。#Ducttape或大提琴胶带或美纹纸胶带。#砂纸(金属的颗粒大小各不相同。)#M密封(可模制成任何尺寸和棒状的材料) )##喷涂漆。(您的选择。我用黑色。)

*需要软件。

#Arduino编程环境。

#SOX (命令行格式转换器

#FL Studio。

*需要其他填充物。

#一台用于对Arduino编程的PC。

#一个用于听到声音的放大器

步骤2:工作

工作

在此步骤中,尝试尽可能简单地解释我们的E DRUM(或KIDU

)的工作。我只简单地谈谈制作每个子系统的步骤,然后在下面不详细介绍它们步骤。

由于我们正在处理电子鼓,因此需要将机械脉冲(在鼓上播放)覆盖到电信号中。此任务由压电圆盘完成。我们制造的鼓将包含1个这样的压电传感器。

当在磁盘上施加机械压力时,会产生电信号,其强度与压力成正比。

发送到Arduino模拟引脚(通过下拉电阻,稍后再解释)。由于UNO上只有6个anaog引脚。,将使用的鼓和的数量限制为6个。

我们使用数字引脚触发底鼓和扼流圈。

arduino还通过SPI引脚连接到SD卡屏蔽层。 。

(即引脚13到10)。

现在程序。如您所知,arduino的模拟引脚将其模拟输入转换为0到1024之间的值。这样,如果该值超过特定的画眉保持值,则从sd卡中提取相应的

音频文件,然后通过启用PWM的引脚对其进行播放。说起来容易做起来难。如果我们需要不使用任何音频解码器直接播放SD卡中的音频文件,则需要克服一些障碍。(稍后将对此进行详细说明。)

KIDU的另一个优势是因为它不需要任何控制按钮。

我已经对其进行了编程,以便可以使用鼓本身来

选择击鼓风格。

步骤3:框架

制作框架

我不太擅长机械领域的东西。.,但是我尽力了。

用于制造鼓和结构或框架。它使用了某些材料(不是最好的材料),但是我使用它们是因为它们易于使用,并且非常便宜且轻巧。

但是,这一步非常简单。任何一个具有低成像性的材料都可以制造。

请遵循结构框架图。

为了制作KIDU的框架,我使用了直径为3.5厘米的PVC管。

需要大约3米长我们需要将这3米长的pvc转换成如图所示的结构。

我可以给您精确测量框架部件的数量。但是

说实话。,我从来没有已经将它们切成确切的长度。我只剪了1米的pVC,并检查了这是否是我需要的长度。我认为我测量到的它太多了,并做了一点标记。我测量了我发现的高度

玩起来很舒服。我测量了4个这样的支柱。他通过这种反复试验的方法来确定所有组件的长度。但是令人惊讶的是,没有浪费任何东西。因为框架的所有组件都很小。并且在那里有很多连接。所以我使用了几乎上升了2.7米。剩下的很少了。

这是我使用的方法(有趣的方式)。

但是对于那些不喜欢太多有趣的人,请在另一张图上测量并标记。

命名框架组件。

这很重要,因为,当我们将它们组装在一起时,这非常有用。如果我们有很多组件并且没有办法知道哪个会很混乱。因此,我组成了一个结构

框架装配图。每个组件都有一个名称。

BL2-后左2

BL1-后左1

SL1-后左1

SL2-侧向左2

FL2-前向左2

FL1-前向左1

GL-左向

ML-中向左

M-中向

MR-中向右

GR -GOINT RIGHT

FR1 -FRONT RIGHT 1

FR2 -FRONT RIGHT 2

SR1 -SIDE RIGHT 1

SR2 -SIDE RIGHT 2

BR1 -BA CK RIGHT 1

BR2 -BACK RIGHT 2

(我的关节拼写错误。但是我很想去:P)

现在将整个东西连接在一起,没有鼓。 》使用喷漆进行喷涂。

提示:#在管道内部和外侧命名组件。

以防被油漆覆盖。

#喷涂时请记住至少要保持喷涂状态从

workpice离开25厘米。在喷涂时一定要移动,以获得良好的光洁度。

#将工件放在报纸上,以防止油漆破坏其他任何东西。

步骤4:制作鼓

制作鼓

我不太擅长机械方面的事情。。但是我尽力了。

用于制造鼓和结构或框架。它使用了一些材料

(不是最好的材料)但是我用它们是因为它们易于使用,并且非常便宜且轻巧。

如图所示,该鼓共有3层。大部分鼓都充满了我使用的是Thermocol(更好的刚性)。我对标准鼓组的鼓尺寸进行了搜索。然后在大块的Thermocol板上切成四个直径的圆。如下图所示。切下直径相同的rexin和有弹性的材料,如图所示。现在,在Thermocol的中心切出一个圆柱状的凹槽,使T结的tail部分紧紧地插入孔中。现在在Thermocol的t结部分附近标记4个位置。(请注意,这只是为了获得更大的强度。即使鼓手敲鼓,鼓也会掉落。

困难。)。

现在,您已经知道连接处在鼓上了,

移除结点。现在使用砂纸。,将Thermocol的侧面

。这是为了消除切割时可能产生的任何变形。

沿轴在热煤上形成一个凹槽。(轴是pvc管所在的假想线

。)

现在申请fevico l(SH级)位于热煤

和T形接合处的树丛壁上。请勿使用SR级coz,因为它将熔化热可可胶。(fevicol是印度胶水制造商的名称.ill也把图片放在照片上。您可以在您所在的国家/地区使用wat。)然后用一根细绳子将T结和Thermocol绑在一起。将细绳串成一串,穿过我们在Thermocol上切开的小树林。现在将其绑紧T结上的硬结。在串上接触

SR fevicol时应使其碰到PVC T结(不要在Thermocol上弄破SR。)SR会使PVC融化。 》然后将Thermocol固定在t结上。

现在拿一个压电盘,用2股带状导线焊接(从10股带状导线的2条)

确保用绝缘胶带将两根引线绝缘。现在将另一端的电线焊接到3.5mm音频插孔上,用一块小的塑料片拧紧插孔,并确保电线的长度等于半径

感光鼓。(我们不希望任何多余的电线从感光鼓中伸出。)

使用SR胶水,将压电磁盘粘在我们先前切出的

bolson材料的中心。绝缘胶带粘电线a

然后将磁盘放在圆上。现在将包含压电磁盘

的一侧粘贴到thermocol上。确保3.5插孔正确放置。可以从硒鼓的外面插入

(仅使用SH粘附在Thermocol上。)

现在使用SR胶将毒素粘附在有弹性的材料上。留待干燥。

现在用于喷涂感光鼓。我使用了喷漆(油漆-a-can)。问题是您不能直接在Thermocol上使用此涂料。因为它会产生与SR胶相同的效果。它会熔化整个物体。在将其喷涂之前,先在其顶部涂上胶带。

我还先涂了一层新闻纸,然后涂了一层胶带。

(不是必需的)。

涂上一层油漆。可以从鼓上移25厘米远,然后不断地喷洒,以获得良好的光洁度。否则,它可能会不均匀。

晾干。5分钟后重复。

涵盖了鼓的制作。但是制作making和踏板

将在下一步骤中进行说明。一个问题是我无法拍摄br和脚踏板的制作。我也没有一刻就把它们和我在一起。但是生病了我要尽快把它们照相并上传。

立即加载步骤。

提示:#每当您使用以前使用过的溶剂(如fevicol SH或SR)时,始终在样品上进行测试

》将其应用到原件上。

(我想强调这一点,是因为我在Thermocol上使用

SR浪费了1个大鼓。整件事融化成guie黏糊糊的泥浆:()

#插孔(固定压电),请确保插孔

位于鼓的易于插入的区域。(您不希望插孔位于鼓的左侧或右侧。因为可能很难另一个鼓侧面出现。

#始终使用总和标记来测量和标记鼓上的参数

#我们将一起削减所有4个鼓的重要性。 。

因此可以轻松地标记出它们属于哪个鼓及其轴。 》#在粘贴任何东西之前,请始终检查其在框架上的状态。

注意:-根据我搜索过的网站的标准鼓尺寸。

18 x 22英寸低音鼓

9 x 12和10 x 13英寸架子鼓

16 x 16英寸落地鼓

5.5 x 14英寸小军鼓

步骤5:制作控制台

制作控制台。

基本上是将所有回路放置在一个漂亮的盒子中。

整齐地拼凑一种方法,可以与

在控制台上,我使用了一个旧的USB供电的笔记本电脑冷却器垫。我从垫子上取下了

风扇,并用一小块硬纸板粘了起来。将

SD卡护罩连接到arduino和将其拧紧到硬纸板上。

另一个重要的电路是下拉电阻。

如前所述,压电磁盘产生的电信号对应于施加在纸板上的压力。当我们将鼓与压电

内部粘在一起时,即使不弹鼓也会产生信号。因此要克服这个问题,我们放下了下拉电阻(1M〜1.3M )

在压电圆盘的带电和接地引线之间。

我们可以将其放在橡皮泥中。但是我决定将所需的所有

下拉电阻器放到一个PCB上,然后将其放置在控制台中。

此配置使必要时更容易进行任何维护。

电路图非常简单。

我将6个母跳线连接到并行PCB并使用了6个电阻器然后用挂钩线将所有跳线公插针的1个引线短路。然后从每个跳线插销中引出带电引线和短路的引线1个(用于GND)并分别焊接到Ribbonwire的1端。我将一小部分连接线连接到Ribbon Line的末端(以使其更易于连接到Arduino)。并连接这些线。与模拟p将这些销钉

暴露在外部,以便我们从外部进行连接。

接下来,将输出音频插座(3.5毫米母音频)连接到控制台。我们将2股带状导线焊接到地面并使其插在插座上,并使其另一端连接到连接导线。(以便于轻松连接到arduino。)现在在控制台上再打一个孔以取下孔

我使用USB电缆对arduino进行编程以为该设备供电。

这样,我可以使用同一根电缆为该设备供电并对其进行编程。我将USB电缆连接到一个用于供电的5V USB适配器。

这也减轻了控制台的重量,这是因为沉重的变压器实现了降压和更高的效率。

接下来是电缆系统。我使用的电缆系统是由

》单芯屏蔽罩,以获得最佳音质。每个鼓,cy和踏板都需要将电缆连接到控制台。切开约1.3米的屏蔽罩先将焊丝的一端焊接到3.5mm的公头插孔上,另一端焊接到跳线的母头部分上。

步骤6:准备SD卡

准备SD卡。

对我来说,这是最困难,最耗时的步骤。但请上传所有音频文件的所有链接我已经准备好了,以便那些

很难遵循的人可以使用这些文件并跳过此步骤。

但是我必须警告您,ull会错过很多乐趣:)。

link ishttp ://www.4shared.com/rar/AoDU14Vy/KIDU_files.html

在触摸sd卡之前,我们需要选择我们希望鼓

听起来像的声音。为此,我使用了图像行FL studio以Wave格式制作每个

Drum样本。对于不熟悉Fl Studio的用户,您可以简单地在Google上搜索并下载Drum样本,即使这样也太多了。 ,请继续使用我也使用过的wav文件的链接:)。

一旦您决定了声音,想听。让我们开始转换。

正如我在工作中告诉您的那样,如果没有专用的音频解码器,播放音频格式并不容易。如果我们有WAV防护罩,那本来是

easier。现在可以直接从sd卡播放音频文件。我们使用称为SimpleSDAudio.h的arduino库。为此,库要运行,我们需要.RAW中的音频文件。格式

和8.3命名格式的文件名,都存在于SD卡的根目录中。

为了将wave文件转换为原始文件,我找不到任何文件转换器

支持wav到raw的软件。(总视频转换器也不行。)

所以我使用了一个名为SOX的命令行转换器。您可以将Audacity用作GUI。但是我使用了命令行技术。

首先,您需要安装SOX。现在将所有需要的文件

转换到包含文件SOX.exe的相同目录。

现在打开命令提示符,并将其定向到与SOX.exe相同的目录

(或在其中创建一个记事本文件在目录中,键入command.com并将其保存为任何内容.bat。如果您打开此文件,则将打开命令提示符,并指向相同的目录。)现在键入以下命令。

cd%〜dp0

mkdir转换为sox input.wav --norm = -1 -e unsigned-integer -b 8 -r 62500 -c 1 -t raw“ converted output.raw”

暂停

在上面的命令中将input.wav替换为您使用的文件名。将

&output.raw替换为8.3文件名。(8.3 simpy表示8个字母或更少的名称,后跟

a‘ 。’和3个字母的格式(例如numb.mp3)。因此,如果您选择了要转换的军鼓声音。

type。

cd%〜dp0

mkdir转换的是sox snare.wav- -norm = -1 -e无符号整数-b 8 -r 62500 -c 1 -t原始“ converted 1_snr.raw”

暂停

正如我之前提到的,没有LCD显示。所有选择KIDU还叙述了

样式和其他必要的东西。因此,所有这些

音频文件也需要转换并传输到SD卡。

对于这些音频文件我还使用了FL Studio的语音合成器功能。您可以使用任何软件并以Wave格式获取语音音频。

然后将其转换为原始SOX。我还将上传n个链接这些音频文件。《

命名文件。

这样做是为了使编程更容易一些。系统地记录您所做的事情。

命名法

FORMAT _ .raw

我拥有的名称二手:用于样式计数1

1_snr.raw

1_tom1.raw

1_tom2.raw

1_ft.raw

1_cy.raw

1_kick.raw

1_ohh.raw

1_chh.raw

对于样式计数2,将上述所有第一个字母替换为2,以此类推,以替换任意数量的样式。

语音文件可以命名。

您可以使用原始格式的文件。我们可以将其传输到SD卡。为此,您可以使用内置格式化程序中的Windows,但是我建议使用SD格式化程序。(请勿进行快速格式化。) 2GB格式的SD卡

为FAT。其他所有格式均为FAT32。该库支持两个文件系统

现在将其从PC中取出,然后将其插入SD卡护罩中。

注意:在任何操作系统(MSDOS除外)上运行的计算机将不能

播放这些RAW文件。担心它在arduino中不能正常播放。如果您不相信它的真实性,您可以将这些文件转换回wav或mp3并在您的计算机中播放。

步骤7:源代码

//使用的变量和常量。

int snare;

int tom1;

int tom2;

int floortom;

int cymbal;

int highhat;

int stylecount = 0;

int select = 0;

int snarecount;

int tom1choose;

//////////////////////

const int snarepin = A0;

const int tom1pin = A1;

const int tom2pin = A2;

const int floortompin = A3;

const int cymbalpin = A4;

const int highhatpin = A5;

#include

void setup()

{

串行.begin(9600);

SdPlay.setSDCSPin(10);//芯片选择

SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER);

Serial.println(“ sd ready”);

SdPlay.setFile(“ startup.raw”);//播放启动音。

SdPlay.play();

}

void loop()

{

//////////////////////////////////读取模拟引脚

snarecount = analogRead(snarepin);

tom1choose = analogRead(tom1pin);

tom2 = AnalogRead(tom2pin);

floortom = analogRead(floortompin);

ym = analogRead(cymbalpin);

highhat = analogRead(highhatpin);

/////////////////////////////////drum样式选择。

if(snarecount》 100)

{

SdPlay.setFile(“ slctdrm.raw“);//KIDU说“选择击鼓风格!”

SdPlay.play();

stylecount = stylecount + 1;

}

if(stylecount》 6)

{

stylecount = 1;

}

///////////////////////////////////////play鼓风格的名称。

如果(stylecount == 1)

{

SdPlay.setFile(“ 1_stdstl.raw”);//KIDU说“已选择标准鼓组!”

SdPlay.play();

}

如果(stylecount == 2)

{

SdPlay.setFile(“ 2_afrcon.raw” );//KIDU说“选择了非洲刚果风格!”

SdPlay.play();

}

if(stylecount == 3)

{

SdPlay.setFile(“ 3_hiho.raw “);//KIDU说“选择了嘻哈风格”

SdPlay.play();

}

if(stylecount == 4)

{

SdPlay.setFile(“ 4_indian.raw”);//KIDU说“选择了印度风格”

SdPlay.play();

}

如果(stylecount == 5)

{

SdPlay.setFile(“ 5_funny.raw”);//KIDU说“选择了有趣的声音”

SdPlay.play();

}

if(stylecount == 6)

{

SdPlay.setFile(“ 6_demo.raw”);//播放DEMO。

SdPlay.play();

}

///////____________________退出如果选择(tom1choose》 50)

{

SdPlay.setFile(“ selected.raw”);

SdPlay.play();

select =选择+ 1;结果,},点击Serial.println( “stylecount =”);结果,Serial.println(stylecount);结果,Serial.println( “选择=”);结果,Serial.println (选择);

同时(选择== 1)

{

/////////////////////////////////////将变量重新定义为鼓声触发器。

snare = analogRead(snarepin);

tom1 = analogRead(tom1pin);

tom2 = analogRead(tom2pin);

floortom = analogRead(floortompin);

ym = analogRead(cymbalpin);

highhat = analogRead(highhatpin);

if(snare》 50 && stylecount == 1)

{

SdPlay.setFile(“ 1_snare.raw”);

SdPlay.play();

Serial.println(“ snare”);

}

如果(tom1》 50 && stylecount = = 1)

{

SdPlay.setFile(“ 1_tom1.raw”);

SdPlay.play();

Serial.println(“ tom1”);

}

if(tom2》 50 && stylecount == 1)

{

SdPlay.setFile(“ 1_tom2.raw”);

SdPlay.play();

Serial.println(“ tom2”);

}

如果(floortom》 50 && stylecount == 1)

{

SdPlay.setFile(“ 1_ft.raw”);

SdPlay.play();

Serial.println(“ floortom”);

}

如果(cymbal》 50 && stylecount == 1)

{

SdPlay.setFile(“ 1_cy.raw”);

SdPlay.play();

Serial.println(“ cymbal”);

}

如果(highhat》 50 && stylecount == 1)

{

SdPlay.setFile(“ 1_ohh.raw”);

SdPlay.play();

串行。 println(“ open highhat”);

}

//////////////////////////////////////////style 2

if(snare》 50 && stylecount == 2)

{

SdPlay.setFile(“ 2_snare.raw”);

SdPlay.play ();

Serial.println(“ 2snare”);

}

如果(tom1》 50 && stylecount == 2)

{

SdPlay.setFile(“ 2_tom1.raw”) ;

SdPlay.play();

Serial.println(“ 2tom1”);

}

如果(tom2》 50 && stylecount == 2)

{

SdPlay.setFile(“ 2_tom2.raw”);

SdPlay.play();

Serial.println(“ 2tom2”);

}

如果(floortom》 50 && stylecount == 2)

{

SdPlay.setFil e(“ 2_ft.raw”);

SdPlay.play();

Serial.println(“ 2floortom”);

}

如果(cymbal》 50 && stylecount == 2)

{

SdPlay.setFile(“ 2_cy.raw”);

SdPlay.play();

Serial.println(“ 2cymbal”);

}

if(highhat》 50 && stylecount == 2)

{

SdPlay.setFile(“ 2_ohh.raw”);

SdPlay.play();

Serial.println(“ 2open highhat”);

}

//////////////////////////////////////////////style3

if(snare》 50 && stylecount == 3)

{

SdPlay.setFile(“ 3_snare.raw”);

SdPlay.play();

Serial.println( “ 3snare”);

}

如果(tom1》 50 && stylecount == 3)

{

SdPlay.setFile(“ 3_tom1.raw”);

SdPlay.play();

Serial.println(“ 3tom1”);

}

如果(tom2》 50 && stylecount == 3)

{

SdPlay.setFile(“ 3_tom2.raw”) ;

SdPlay.play();

Serial.println(“ 3tom2”);

}

if(floortom》 50 && stylecount == 3)

{

SdPlay.setFile (“ 3_ft.raw”);

SdPlay.play();

Serial.println(“ 3floortom”);

}

如果(cymbal》 50 && stylecount == 3)

{

SdPlay.setFile(“ 3_cy.raw”) ;

SdPlay.play();

Serial.println(“ 3cymbal”);

}

if(highhat》 50 && stylecount == 3)

{

SdPlay.setFile (“ 3_ohh.raw”);

SdPlay.play();

Serial.println(“ 3open highhat”);

}

//////////////////////////////////////////印度风格

如果(snare》 50 && stylecount == 4)

{

SdPlay.setFile(“ 4_snare.raw”);

SdPlay.play();

Serial.println(“ 4snare”);

}

如果(tom1》 50 && stylecount == 4 )

{

SdPlay.setFile(“ 4_tom1.raw”);

SdPlay.play();

Serial.println(“ 4tom1”);

}

如果(tom2》 50 && stylecount == 4)

{

SdPlay.setFile(“ 4_tom2.raw”);

SdPlay.play();

Serial.println(“ 4tom2”);

}

if(floortom》 50 && stylecount == 4)

{

SdPlay.setFile(“ 4_ft.raw”);

SdPlay.play();

串行。 println(“ 4floortom”);

}

if(cymbal》 50 && stylecount == 4)

{

SdPlay.setFile(“ 4_cy.raw”);

SdPlay.play( );

Serial.println(“ 4cymbal”);

}

if(highhat》 50 && stylecount == 4)

{

SdPlay.setFile(“ 4_ohh.raw”);

SdPlay.play ();

Serial.println(“ 4open highhat”);

}

////////////STYLE 5 FUNNY

if(snare》 50 && stylecount == 5)

{

SdPlay.setFile(“ 5_snare.raw”);

SdPlay.play();

Serial.println(“ 5snare”);

}

如果( tom1》 50 && stylecount == 5)

{

SdPlay.setFile(“ 5_tom1.raw”);

SdPlay.play();

Serial.println(“ 5tom1”);

}

如果(tom2》 50 && stylecount == 5)

{

SdPlay.setFile(“ 5_tom2.raw”);

SdPlay.play();

串行.println(“ 5tom2”);

}

如果(floortom》 50 && stylecount == 5)

{

SdPlay.setFile(“ 5_ft.raw”);

SdPlay.play ();

Serial.println(“ 5floortom”);

}

if(cymbal》 50 && stylecount == 5)

{

SdPlay.setFile(“ 5_cy.raw”) ;

SdPlay.play();

Serial.println(“ 5cymbal”);

}

if(highhat》 50 && stylecount == 5)

{

SdPlay.setFile (“ 5_ohh.raw”);

SdPlay.play();

Serial.println(“ 5open highhat”);

}

如果(stylecount == 6)

{

SdPlay.setFile(“ demo.raw”);

SdPlay.play();

}

}

}

步骤8:源代码工作

源代码工作

我们用来播放sd卡音频的库是

SimpleSDAudio.h,其详细信息已经详细说明了准备SD卡的主干。

现在在草图中。我仅具有4个鼓和一个a片的程序。

因为我还没有讲解脚踏板的制作方法。《我会尽我最大的努力尽快将其上传。但是我已经转换了所有声音(每个鼓风格8个组件),即4个鼓,1个mb片,打开高帽和关闭高帽的声音。

如前所述,该程序也使用鼓来触发。

对我来说这是一个很大的挑战。但是我最终做到了。

您可能会在源代码中注意到,我已经进行了两次模拟读取。

每次使用2个具有不同变量名称的鼓。

第一次。我们使用小鼓和tom1鼓来选择鼓风格。

小鼓是用作样式计数。计数从1到6

,并从1重复n。您可以添加与您使用的SD卡大小一样多的样式。您只需上传所需的所有声音即可。

还有另一种方法可以遍历下一组模拟读数。 br》这是选择计数。如果您已经用小鼓确定了计数,我们将通过tom1鼓对其进行确认。一旦tom1鼓被击中,

它将开始选择计数。选择计数为1(即第一次敲击tom1鼓),鼓触发循环开始。

鼓触发循环非常简单。如果模拟读数超过一个保持力,KIDU将发出相应的声音。循环不断。

例如:如果Analogread值》 thrushold且stylecount == 1

,则播放小鼓的音频文件1_snare.raw。

编例如:

如果(snare》 50 && stylecount == 1)

{

SdPlay.setFile(“ 1_snare.raw”);

SdPlay.play();

Serial.println(“ snare”) ;

}

现在该程序涉及kick ahd高帽游戏,它并不难。

我们要做的就是包括digita部分l读取按钮。

我们需要使用一个简单的单脉冲开关和一个反跳功能来进行踢动。

反跳功能在arduino编程环境和高礼帽的示例中都存在。 ,则去抖和切换部分相同。

if循环在打开和关闭时都会有一个额外的条件。

ie

如果(扼流圈==高&&高》 thrushold && stylecount == 1)

{

SdPlay.setFile(“ 1_chh.raw”);

SdPlay.play();

Serial.println(“ closed highhat”);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pcb
    pcb
    +关注

    关注

    4315

    文章

    22939

    浏览量

    395527
  • Arduino
    +关注

    关注

    187

    文章

    6457

    浏览量

    186499
收藏 人收藏

    评论

    相关推荐

    SmartDAC-DIY评估模块

    电子发烧友网站提供《SmartDAC-DIY评估模块.pdf》资料免费下载
    发表于 11-01 09:19 0次下载
    SmartDAC-<b class='flag-5'>DIY</b>评估模块

    电容器包不严重还能继续用吗

    电子设备中,电容器是一个至关重要的组件。它不仅在电路中充当储能装置,还能影响设备的性能和稳定性。当我们发现电容器有包现象时,很多用户会感到困惑:电容器包不严重,还能继续使用吗? 一
    的头像 发表于 09-10 15:01 1018次阅读
    电容器<b class='flag-5'>鼓</b>包不严重还能继续用吗

    电力电容器肚的根本原因是什么

    电力电容器在运行过程中经常会出现 “肚”现象,造成电容器肚的原因是主要是产品质量问题,例如电容器薄膜质量差,浸渍液为油类,没有合格的净化处理条件等,这些低质量的产品在高场强下运行,极易造成
    的头像 发表于 09-03 14:17 584次阅读

    低压电容器包的隐患

    低压电容器包(鼓胀)是电容器出现故障的常见表现之一,这种情况不仅影响电容器的正常运行,还可能带来一系列的安全隐患。以下是低压电容器包的隐患及原因分析: 一、低压电容器包的隐患 1、引发电气火灾
    的头像 发表于 08-29 14:19 451次阅读

    低压电容包漏液怎么处理

    低压电容包漏液是电容失效的常见现象,处理时需要注意安全。以下是处理步骤: 1、断电:确保电容所在的电路已完全断电,避免触电风险。 2、检查安全:使用绝缘手套和工具,确保周围环境安全。 3、确认失效
    的头像 发表于 07-12 14:12 683次阅读
    低压电容<b class='flag-5'>鼓</b>包漏液怎么处理

    音箱制作过程图解

    电子发烧友网站提供《音箱制作过程图解.doc》资料免费下载
    发表于 04-28 09:27 10次下载

    盘式制动器与式制动器相比有哪些优点

    盘式制动器与式制动器是车辆制动系统的两种常见类型。它们在结构和工作原理上有所不同,每种制动器都有其独特的优点和缺点。在下文中将详细介绍盘式制动器相比式制动器的优点。 首先,盘式制动器具有更好
    的头像 发表于 01-18 16:40 876次阅读

    手机电池包处理方法及注意事项

    手机电池包处理方法及注意事项  手机电池包是指电池发生了气化膨胀,造成外包装变形或凸起的现象。包电池具有一定的安全隐患,如果处理不当,可能会造成手机发生短路、爆炸等严重后果。因此,在处理
    的头像 发表于 12-28 15:15 6294次阅读

    上海汽检高低温环境转半消声试验室正式投入运行

    试验室为国内首个具备高低温环境的四驱四电机转半消声室,相比于通常的转半消声室,高低温环境转半消声室可应用于各种不同气候环境下的整车舒适性验证,提升整车舒适性开发的效率,可帮助整车企业缩短整车开发周期。
    的头像 发表于 12-27 17:12 850次阅读
    上海汽检高低温环境转<b class='flag-5'>鼓</b>半消声试验室正式投入运行

    怎么自制恒流恒压可调电源

    自制恒流恒压可调电源是一项相对复杂的任务,需要一些电子基础知识和相关的电路设计技术。以下是步骤指南,以帮助你自制恒流恒压可调电源。 第一部分:理论基础 了解恒流恒压电源的原理和应用领域。恒流恒压
    的头像 发表于 12-26 13:55 2533次阅读

    手机电池包了怎么办?

    手机电池包了怎么办? 手机电池包是一种比较常见的问题,它可能会给我们使用手机带来一些麻烦和安全隐患。正确处理电池包的情况非常重要,下面我们来详细介绍一下手机电池包的原因、危害以
    的头像 发表于 12-09 17:19 5636次阅读

    电路图的符号大全图解

    电子发烧友网站提供《电路图的符号大全图解.pdf》资料免费下载
    发表于 11-18 11:13 30次下载
    电路图的符号大全<b class='flag-5'>图解</b>

    #单片机开发 #手工diy #自制玩具 #工艺制作 #电子爱好者

    电子技术电子diy
    jf_55975348
    发布于 :2023年11月18日 07:28:15

    mp3diy原理图

    电子发烧友网站提供《mp3diy原理图.rar》资料免费下载
    发表于 11-17 15:33 1次下载
    mp3<b class='flag-5'>diy</b>原理图

    电子DIY小制作

    简介:学会DIY小制作,带动对编程的兴趣,慢慢爱上编程,自我提高技术。
    发表于 11-15 14:32 0次下载
    <b class='flag-5'>电子</b>琴<b class='flag-5'>DIY</b>小制作