Мазмуну:

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

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

Video: Студия барабандары: 5 кадам
Video: РАЗБОР БИТА MORGENSHTERN - ARISTOKRAT ЗА 10 МИНУТ 2024, Июль
Anonim
Studio Drums
Studio Drums

Барабанчылар машыгуу үчүн саат жана сааттарды өткөрүшмөк … Бирок үйдө барабандын бардыгына эле боло бербейт: мейкиндик жана ызы -чуу чоң көйгөй!

Ушул себептен улам, биз сиз үйдө ойной турган көчмө жана унчукпай турган барабан түзгүбүз келди.

Бул барабанды колдонуу абдан оңой, жөн гана подкладкаларды басуу керек, ал чыныгы барабанга окшош болот! Ал ошондой эле дисплей менен коштолот, анда сиз кайсы баскычты басып жатканыңызды көрө аласыз. Эгерде сиз аны үнсүз режимде колдонууну кааласаңыз, гарнитураңызды ноутбукка такап коюңуз!

1 -кадам: Сизге эмне керек

МАТЕРИАЛ

  • Arduino Uno
  • Breadboard
  • Кээ бир зым
  • 5x piezos
  • 5x 1M Ом резисторлору
  • 5 банка капкагы
  • Eva көбүгү
  • Көбүк тактасы

ПРОГРАММАЛАР:

  • Arduino IDE
  • Иштетилүүдө

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

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

2 -кадам: Районду чогултуу

Circuit чогултуу
Circuit чогултуу
Circuit чогултуу
Circuit чогултуу

Биринчиден, биз пьезолорго ширетишибиз керек (сары бөлүгүнө GND жана пьезонун ак бөлүгүнө аналогдук пин зымы).

Биз бардыгын туташтыруу үчүн нан тактасын колдонобуз.

Резистор менен пьезонун зымдарын жогорудагы диаграммада көрсөтүлгөндөй туташтырыңыз. Андан кийин GND зымын Arduinoдогу GNDге туташтырыңыз. Акырында, пьезонун ар бир зымын төмөндө көрсөтүлгөндөй Arduinoдогу аналогдук пинге туташтырыңыз.

Аналогдук казыктарга туташкан пьезолор:

  • Caixa = A0;
  • Чарльз = A1;
  • Томтом = A2;
  • Crash = A3;
  • Bombo = A4;

3 -кадам: Аны программалоо

Программа It
Программа It

Алдын ала коюлган программаны колдонуунун ордуна барабан үчүн өзүбүздүн дисплейибизди түзүүнү чечтик. Биз бул үчүн Processing колдондук.

Биз аны пьезо соккондо тиешелүү барабандын үнү угула тургандай программалаганбыз. Мындан тышкары, барабандын тиешелүү үлгүсү экранда жарык болот.

Сиз иштетүүчү үндү жана сериялык китепканаларды иштетүүнү импорттошуңуз керек.

Барабандын үндөрүн маалымат папкасына кошууну унутпаңыз!

ARDUINO КОДУ

// ПИЕЗО АНАЛОГ ПИНДЕРГЕ БАЙЛАНЫШТЫ

const int caixa = A0;

const int charles = A1;

const int tomtom = A2;

const int crash = A3;

const int bombo = A4;

const int threshold = 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);

эгер (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; // Сериялык класстан объект түзүңүз

String val; // Сериялык порттон алынган маалыматтар

// барабан үндөрү

SoundFile caixa;

SoundFile charles;

SoundFile tomtom;

SoundFile бузулушу;

SoundFile бомбасы;

// DRUMMS STUDIO IMAGES

PImage img0;

PImage img1;

PImage img2;

PImage img3;

PImage img4;

PImage img5;

PImage img6;

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

float n = 0;

float n2 = 1;

float n3 = 2;

сүзүү n4 = 3;

float n5 = 4;

float y = 0;

float y2 = 1;

float y3 = 2;

float y4 = 3;

float y5 = 4;

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

{

// АЧЫК КАНДАЙ ПОРТ КОЛДОНУП ЖАТАТ

String portName = Serial.list () [0]; // 0ду 1ге же 2ге өзгөртүңүз жана портко дал келиңиз

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

// DRUMMS STUDIO CONSOLA

өлчөмү (720, 680);

фон (15, 15, 15);

strokeWeight (2);

// LOAD DRUM STUDIO IMAGES

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, туурасы, бийиктиги);

// Дежамолор абзацты толтурушат

// dibujar la bola

толтуруу (255);

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

чекит (y, (бийиктик-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) + күнөө (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) + күнөө (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);

String list = split (val, ','); // Ар бир киргизилген маанини алуу үчүн тизме ачыңыз

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

{

if (list [0]. equals ("0")) {// caixa урсаңыз

caixa.play (); // Caixa үнүн ойнотуу

image (img2, 0, 80); // Caixa экранда жарыктандырылган

println ("caixa"); // аны консолго басып чыгарыңыз

} if if (list [0].equals ("1")) {// if you charles

charles.play (); // Чарльз үнүн ойнотуу

image (img3, 0, 80); // Чарлз экранда жарыктандырылган

println ("charles"); // аны консолго басып чыгарыңыз

} else if (list [0].equals ("2")) {// Эгерде сиз томтомду чапсаңыз

tomtom.play (); // Томтом үнүн ойнотуу

image (img4, 0, 80); // Томтом экранда жарыктандырылган

println ("tomtom"); // аны консолго басып чыгарыңыз

} else if (list [0].equals ("3")) {// Эгерде сиз ката кетирсеңиз

crash.play (); // Кыйроонун үнүн ойнотуу

сүрөт (img5, 0, 80); // Crash экранда жарыктандырылат

println ("кыйроо"); // аны консолго басып чыгарыңыз

} if if (list [0]. equals ("4")) {// if you bombo hit

bombo.play (); // Бомбо үнүн ойнотуу

сүрөт (img6, 0, 80); // Бомбо экранда жарыктандырылган

println ("бомба"); // аны консолго басып чыгарыңыз

}

}

}

}

4 -кадам: Аны куруңуз

Аны куруңуз
Аны куруңуз
Аны куруңуз
Аны куруңуз
Аны куруңуз
Аны куруңуз
Аны куруңуз
Аны куруңуз

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

процессти жөнөкөйлөтүү үчүн күнүмдүк элементтерди колдонгон, бирок дайыма функционалдуулукту жана жакшы бүтүрүүнү издейт.

Биринчи кадам - кабелдерди пьезоэлектрге ширетүү, батареяны столдун үстүнө жайгаштырууда же практикага бара турган жерде эркиндикке жетүү үчүн жетиштүү узундукка кесүү.

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

Барабан таякчалары менен аракет кылып, күтүлгөндөй эле, таасирлер өтө ызы -чуу болуп, үнсүз барабандын чечиминен алыстап кетти. Аны чечүү үчүн, биз капкактын борбордук айланасынын өлчөмдөрүнө чейин кесилген Eva көбүгү менен бетин жабабыз. Ал ойногондо рельеф байкалбашы үчүн жетишерлик ичке эки тараптуу скотч менен чапталган. Мындан тышкары, капкактардын чети дагы эле бизди ыңгайлуу ойноого тоскоолдук кылган тажатма ызы -чууну чыгаргандыктан, биз жаздыктын тайып кетишине жана мүмкүн болушунча жумшартылышына жол бербөө үчүн бир нече кичинекей тамчы ысык эритмени четтерине койдук.

Тийип жатканда төрт төшөктүн тарашына жол бербөө үчүн, аларды кичине гайка менен ичинен бекитилген, капталынан кирген жип менен бириктирдик. Биз ойноп баштаганыбызда маселе бул металл материал болгондуктан, ал термелүүнү бир блоктон экинчисине өткөрүп бергендиктен, биз аны ойногондо анын өнөктөшү бир убакта угулган.

Акыры биз таяктарды алып салдык жана пьезо кабелин профсоюз катары колдонуу жетиштүү жана андан да практикалык экенин көрдүк.

Педалга келсек, бизде пьезону бутерброддун ортосунда кармоо боюнча алгачкы идея болгон; пьезонун жерге түздөн -түз тийгизүүсүн болтурбоо үчүн. Бул үчүн биз пьезону жыгач табакка жабыштырып, ошол эле өлчөмдөгү башка ПВХ пластинкасын чаптап койдук, ага кичине жарака жасап, пьезо менен кабелди бирдей жайгаштырдык.

Башында биз ПВХны эки плитага тең колдонгонбуз, бирок бир нече сыноолордон кийин бул материал өтө көп таасирди сиңирип, пьезого өткөрүп бергенин түшүндүк.

Педал бошоп калбашы үчүн жана баскан сайын кыймылдабоо үчүн, биз бутербродду бутубузга кармап, барабандын ар бир соккусун камсыз кылуу үчүн бутерброддун ортосуна резина боону коюуну чечтик.

Акыры, жакшыраак бүтүрүү үчүн, биз өзүбүз протобоард менен ардуино жайгашкан кичинекей кутучаны курдук. Бул жерде 5 кабель бир тараптан кирип, USB кабелин экинчи тараптан туташтырууга мүмкүндүк берет. Ал кара жүн картонуна орнотулган, аны оңой иштетүү үчүн жана бүт прототиптин ак -кара эстетикасын улантуу.

Сунушталууда: