Мазмұны:

Студия барабандары: 5 қадам
Студия барабандары: 5 қадам

Бейне: Студия барабандары: 5 қадам

Бейне: Студия барабандары: 5 қадам
Бейне: Дана найманбаева 2024, Шілде
Anonim
Студио барабандары
Студио барабандары

Барабаншылар жаттығу үшін бірнеше сағат жұмсайды … Бірақ үйде барабан барлығының қолынан келе бермейді: кеңістік пен шу - үлкен мәселе!

Осы себепті біз үйде ойнай алатын портативті және үнсіз барабан жасағымыз келді.

Бұл барабанды қолдану өте оңай, тек жастықшаларды ұру керек, ол нағыз барабанға ұқсайды! Ол сонымен қатар дисплеймен бірге келеді, онда сіз қай тақтаны соғып жатқаныңызды көре аласыз. Егер сіз оны үнсіз режимде қолданғыңыз келсе, құлаққапты ноутбукке қосыңыз!

1 -қадам: Сізге не қажет

МАТЕРИАЛ

  • Ардуино Уно
  • Нан тақтасы
  • Кейбір сымдар
  • 5x пьезо
  • 5х 1М Ом резисторлары
  • 5 банка қақпағы
  • Эва көбік
  • Көбік тақтасы

БАҒДАРЛАМАЛАР:

  • Arduino IDE
  • Өңдеу

*Жоғарыда көрсетілген бағдарламаларды компьютерге жүктеу үшін төмендегі сілтемелерді орындаңыз:

  • https://www.arduino.cc/kz/main/software
  • https://www.arduino.cc/kz/main/software

2 -қадам: схеманы жинаңыз

Схеманы жинау
Схеманы жинау
Схеманы жинау
Схеманы жинау

Ең алдымен, біз пьезоға дәнекерлеуіміз керек (сары бөлікке GND және пьезоның ақ бөлігіне аналогты түйреуіш сым).

Біз бәрін қосу үшін тақтаны қолданамыз.

Резистор мен пьезоның сымдарын жоғарыдағы диаграммада көрсетілгендей қосыңыз. Содан кейін нан тақтасының GND сымын Arduino GND -ге қосыңыз. Соңында, пьезоның әр сымын төменде көрсетілгендей Arduino аналогтық түйреуішке қосыңыз.

Аналогты түйреуіштерге қосылған пьезо:

  • Caixa = A0;
  • Чарльз = A1;
  • Томтом = А2;
  • Апат = A3;
  • Bombo = A4;

3 -қадам: Бағдарламалаңыз

Бағдарламалау
Бағдарламалау

Біз алдын ала орнатылған бағдарламаны пайдаланудың орнына барабанға арналған жеке дисплей құруды шештік. Біз бұл үшін өңдеуді қолдандық.

Біз оны пьезо соққанда сәйкес барабанның дыбысы шығатындай етіп бағдарламаладық. Сонымен қатар, барабанның сәйкес үлгісі экранда жанады.

Сізге өңдеу дыбысын және сериялық кітапханаларды өңдеуді импорттау қажет болады.

Барабан дыбыстарын деректер қалтасына қосуды ұмытпаңыз!

ARDUINO КОДЫ

// ПИЕЗОЛАР АНАЛОГ ПИНДЕРІМЕН ҚОСЫЛҒАН

const int caixa = A0;

const int charles = A1;

const int tomtom = A2;

const int апаты = A3;

const int bombo = A4;

const int табалдырығы = 100; // табылған дыбыстың соғылғанын немесе болмайтынын анықтау үшін шекті мән

// СЕНСОР ПИНДЕРІНЕН ОҚЫЛҒАН ОҚЫМДЫ ОҚЫҢЫЗ ЖӘНЕ САҚТАҢЫЗ

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

жарамсыз орнату () {

Serial.begin (9600); // сериялық портты қолданыңыз

}

void loop () {

// сенсорды оқып, оны айнымалы сенсорда сақтаңыз Оқу:

caixaReading = analogRead (caixa);

// егер сенсордың көрсеткіші шекті мәннен үлкен болса:

егер (caixaReading> = шекті) {

// Егер сіз CAIXA -ны ұрсаңыз, ӨҢДЕУГЕ 0 жіберіңіз

Serial.print («0,»);

Serial.println (caixaReading);

}

charlesReading = analogRead (charles);

if (charlesReading> = шекті) {

// ЕГЕР ЧАРЛЬДІ ҰРСАҢЫЗ, ӨҢДЕУГЕ 1 ЖІБЕРІҢІЗ

Serial.print («1,»);

Serial.println (caixaReading);

}

tomtomReading = analogRead (tomtom);

if (tomtomReading> = шекті) {

// Егер сіз CAIXA -ны ұрсаңыз, өңдеуге 2 жіберіңіз

Serial.print («2,»);

Serial.println (tomtomReading);

}

crashReading = analogRead (апат);

if (crashReading> = шекті) {

// Егер сіз CAIXA -ны ұрсаңыз, өңдеуге 3 жіберіңіз

Serial.print («3,»);

Serial.println (crashReading);

}

bomboReading = analogRead (bombo);

егер (bomboReading> = 15) {

// Егер сіз CAIXA -ны ұрсаңыз, өңдеуді 4 жіберіңіз

Serial.print («4,»);

Serial.println (bomboReading);

}

кешіктіру (10); // сериялық порт буферін шамадан тыс жүктемеу үшін кешіктіру

}

ӨҢДЕУ КОДЫ

// ДЫБЫС ЖӘНЕ КІТАПХАНАЛЫҚ КІТАПХАНАЛАРДЫ ИМПОРТТАУ

импортты өңдеу. дыбыс.*;

импортты өңдеу.сериал.*;

Сериялық myPort; // Serial класынан объект жасаңыз

String val; // Деректер сериялық порттан алынды

// барабан үндері

SoundFile бағдарламасы;

SoundFile charles;

SoundFile tomtom;

SoundFile бұзылуы;

SoundFile бомбасы;

// ДРУМАЛАР СТУДИЯСЫНЫҢ КЕЗДЕРІ

PImage img0;

PImage img1;

PImage img2;

PImage img3;

PImage img4;

PImage img5;

PImage img6;

// ДРАММАЛАР СТУДИЯСЫ ТОЛҚЫНДЫРАДЫ

өзгермелі n = 0;

қалқыма n2 = 1;

қалқымалы n3 = 2;

қалқымалы n4 = 3;

қалқымалы n5 = 4;

float y = 0;

қалқыма у2 = 1;

уат y3 = 2;

у4 = 3 қалтқысыз;

у5 = 4 қалтқысыз;

жарамсыз орнату ()

{

// ҚАНДАЙ ПОРТТЫ АШЫҢЫЗ - бұл сіз қолданатын нәрсе

Жолдың portName = Serial.list () [0]; // портты сәйкестендіру үшін 0 -ді 1 -ге немесе 2 -ге өзгертіңіз

myPort = жаңа сериялық (бұл, portName, 9600);

// DRUMMS STUDIO CONSOLA

өлшемі (720, 680);

фон (15, 15, 15);

инсульт салмағы (2);

// LOAD DRUM STUDIO IMESES

img0 = loadImage («drumsstudio.png»);

img1 = loadImage («res.png»);

img2 = loadImage («caixa.png»);

img3 = loadImage («charles.png»);

img4 = loadImage («tomtom.png»);

img5 = loadImage («crash.png»);

img6 = loadImage («bombo.png»);

// ЖҮК ДАУЫС

caixa = жаңа SoundFile (бұл, «caixa.aiff»);

charles = жаңа SoundFile (бұл, «charles.aiff»);

tomtom = жаңа SoundFile (бұл, «tomtom.aiff»);

апат = жаңа SoundFile (бұл, «crash.aiff»);

bombo = жаңа SoundFile (бұл, «bombo.aiff»);

}

жарамсыз жеребе ()

{

// TITULO DRUMMS STUDIO

сурет (img0, 125, 0);

// ТОЛҚЫНДАРДЫҢ СУРЕТІ

if (y> 720) // Толқынды қайтадан бастаңыз

{

y = 0;

y2 = 1;

y3 = 2;

y4 = 3;

y5 = 4;

}

толтыру (0, 10);

тік (0, 0, ені, биіктігі);

// Дежамос парақшаны толтырады

// дибуджар ла бала

толтыру (255);

инсульт (250, 255, 3);

нүкте (у, (биіктік-40) + sin (n) * 30);

n = n + 0,05;

y = y + 1;

инсульт (250, 255, 3);

нүкте (y2, (биіктігі-40) + cos (n2) * 30);

n2 = n2 + 0,05;

y2 = y2 + 1;

инсульт (250, 255, 3);

нүкте (y3, (биіктік-40) + sin (n3) * 30);

n3 = n3 + 0,05;

y3 = y3 + 1;

инсульт (250, 255, 3);

нүкте (y4, (биіктігі-40) + cos (n4) * 30);

n4 = n4 + 0,05;

y4 = y4 + 1;

инсульт (250, 255, 3);

нүкте (y5, (биіктік-40) + sin (n5) * 30);

n5 = n5 + 0,05;

y5 = y5 + 1;

// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA

сурет (img1, 0, 80);

// ƏР КІРГІЗУ ҮШІН ШЫҒЫС ЖАСАҢЫЗ

егер (myPort.available ()> 0)

{// Егер деректер бар болса, val = myPort.readStringUntil ('\ n'); // оны оқып шығыңыз және сақтаңыз

println (val);

Жол list = split (val, ','); // Әрбір енгізу мәнін алу үшін тізімді ашыңыз

егер (тізім! = нөл)

{

if (list [0]. equals («0»)) {// егер сіз caixa соқсаңыз

caixa.play (); // Caixa дыбысын ойнату

сурет (img2, 0, 80); // Caixa экранда жарықтандырылған

println («caixa»); // оны консольде басып шығарыңыз

} if if (list [0]. equals («1»)) {// егер сіз чарлзға соқсаңыз

charles.play (); // Чарльз дыбысын ойнату

сурет (img3, 0, 80); // Чарльз экранда жарықтандырылған

println («charles»); // оны консольде басып шығарыңыз

} else if (list [0]. equals («2»)) {// Егер сіз томтоманы бассаңыз

tomtom.play (); // Томтом дыбысын ойнату

сурет (img4, 0, 80); // Томтом экранда жарықтандырылған

println («tomtom»); // оны консольде басып шығарыңыз

} else if (list [0].equals («3»)) {// Егер сіз апатқа ұшырасаңыз

crash.play (); // апаттық дыбысты ойнату

сурет (img5, 0, 80); // Экранда апат жарықтандырылады

println («апат»); // оны консольде басып шығарыңыз

} if if (list [0]. equals («4»)) {// егер сіз бомбоны соқсаңыз

bombo.play (); // Бомбо дыбысын ойнату

сурет (img6, 0, 80); // Бомбо экранда жарықтандырылған

println («бомба»); // оны консольде басып шығарыңыз

}

}

}

}

4 -қадам: Оны құрастырыңыз

Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз

Прототипті іске асыру үшін бізде бар

процесті жеңілдету үшін күнделікті элементтерді қолданды, бірақ әрқашан функционалдылық пен жақсы аяқталуды іздейді.

Бірінші қадам кабельдерді пьезоэлектрге дәнекерлеу болды, оларды батареяны үстелге немесе біз жаттығуға баратын жерге орналастыру кезінде еркіндікке жету үшін жеткілікті ұзындыққа кесу.

Кейбір зерттеулерден кейін, біз жастықшаның әр соққының дірілін пьезоэлектрге оңтайлы түрде беруі маңызды екенін байқадық, сондықтан ағаш немесе пластмасса сияқты материалдар тасталды. Ақырында, біз консервілерге арналған металл қақпақтарды қолдануды жөн көрдік, олар өз функциясына сәйкес келеді және сыртқы келбетіне сәйкес келеді.

Барабан таяқшаларымен тырысып, күтілгендей, соққылар тым шулы болды және үнсіз барабанның шешімінен алыстады. Оны шешу үшін біз қақпақтың орталық шеңберінің өлшеміне дейін кесілген бетті Eva көбікпен жабамыз. Ол екі жақты таспамен жеткілікті жұқа желімделген, сондықтан ойнау кезінде рельеф байқалмайды. Сонымен қатар, қақпақтардың шеті әлі де ыңғайлы ойнауға кедергі келтіретін тітіркендіргіш шу шығаратындықтан, біз жастықтың сырғып кетуіне және әр соққының мүмкіндігінше жұмсаруына жол бермеу үшін шетіне ыстық еріген желімнің бірнеше кішкене тамшысын қойдық.

Қол тигізу кезінде төрт жастықтың таралуын болдырмау үшін, біз оларды кішкене гайкамен ішінен бекітілген, бүйірден кіретін бұрандалы жолақ арқылы жұппен біріктірдік. Біз ойнай бастаған кездегі мәселе - бұл металл материал болғандықтан, ол дірілді бір тақтадан екіншісіне жіберді, сондықтан біз бір ойнағанда оның серіктесі бір уақытта естілді.

Ақырында біз шыбықтарды алып тастадық және пьезо кабелін кәсіподақ ретінде пайдалану жеткілікті және одан да практикалық екенін көрдік.

Педальға келетін болсақ, бізде сэндвич арасында пьезоны ұстау туралы бастапқы идея болды; пьезоның жерге тікелей әсерін болдырмау үшін. Мұны істеу үшін біз пьезоны ағаш табаққа жапсырдық және өлшемі басқа ПВХ пластинасын жапсырдық, оған пьезо мен кабельді жеңілдететін және орналастыратын кішкене жарықшақ жасадық.

Алдымен біз ПВХ -ны екі пластина үшін де қолдандық, бірақ бірнеше сынақтардан кейін біз бұл материалдың тым қатты әсер ететінін және оны пьезоға жіберетінін түсіндік.

Педаль бос болмауын және қадам басқан кезде қозғалмау үшін, біз сэндвичтің арасына резеңке таспаны қойып, педальды аяғымызға ұстап, барабанның әр соққысын қамтамасыз етуді шештік.

Ақырында, жақсы аяқтауға қол жеткізу үшін біз протободар мен ардуино орналасқан шағын қорапты өзіміз жасадық. Бұл жерде 5 кабель бір жағынан кіреді және USB кабелін екінші жағынан қосуға мүмкіндік береді. Ол қара түсті мамықтан жасалған картонға салынған, оны өңдеу оңай және бүкіл прототиптің ақ -қара эстетикасын жалғастырады.

Ұсынылған: