步驟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
+關注
關注
4332文章
23198瀏覽量
400992 -
Arduino
+關注
關注
188文章
6478瀏覽量
188275
發布評論請先 登錄
相關推薦
移動電源鼓包了會爆炸嗎
移動電源鼓包了還能用嗎
開源項目!基于 Arduino 的 MIDI 架子鼓
朗凱威DIY 磷酸鐵鋰電池組,探索能源新境界

電容器鼓包不嚴重還能繼續用嗎

電力電容器鼓肚的根本原因是什么
低壓電容器鼓包的隱患
低壓電容鼓包漏液怎么處理

解決方案丨電力電子教學解決方案-PPEC開關電源DIY套件

評論