步骤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.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
+关注
关注
4315文章
22939浏览量
395527 -
Arduino
+关注
关注
187文章
6457浏览量
186499
发布评论请先 登录
相关推荐
评论