Talaan ng mga Nilalaman:

Studio Drums: 5 Hakbang
Studio Drums: 5 Hakbang

Video: Studio Drums: 5 Hakbang

Video: Studio Drums: 5 Hakbang
Video: I Belong to the Zoo performs "Hakbang" LIVE on Wish 107.5 Bus 2024, Nobyembre
Anonim
Studio Drums
Studio Drums

Ang mga drummer ay gugugol ng oras at oras sa pagsasanay … Ngunit hindi lahat ay maaaring magkaroon ng tambol sa bahay: ang puwang at ingay ay isang malaking problema!

Para sa kadahilanang ito, nais naming lumikha ng isang portable at manahimik na drumkit na maaari mong i-play sa bahay.

Ang drumkit na ito ay napakadaling gamitin, kailangan mo lamang pindutin ang mga pad at ito ay magiging tunog tulad ng isang tunay na drum! Mayroon din itong isang display kung saan maaari mong makita kung aling pad ang iyong na-hit. At kung nais mong gamitin ito sa isang mode na katahimikan, ikunekta lamang ang iyong mga headphone sa laptop!

Hakbang 1: Ano ang Kakailanganin Mo

MATERIAL

  • Arduino Uno
  • Breadboard
  • Ang ilang mga kawad
  • 5x piezos
  • 5x 1M Ohm resistors
  • 5 mga takip ng garapon
  • Eva foam
  • Board ng foam

Mga PROGRAMA:

  • Arduino IDE
  • Pinoproseso

* Upang mai-download ang mga program sa itaas sa iyong computer, sundin ang mga link sa ibaba:

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

Hakbang 2: Magtipon ng Circuit

Magtipon ng Circuit
Magtipon ng Circuit
Magtipon ng Circuit
Magtipon ng Circuit

Una sa lahat kailangan naming maghinang sa mga piezos (GND sa dilaw na bahagi at ang analog pin wire sa puting bahagi ng piezo).

Gumagamit kami ng isang breadboard upang ikonekta ang lahat.

Ikonekta ang risistor at ang mga wire ng piezo tulad ng ipinakita sa diagram sa itaas. Pagkatapos ay ikonekta ang GND wire ng breadboard sa GND sa Arduino. Sa wakas, ikonekta ang bawat kawad ng piezo sa isang analog pin sa iyong Arduino tulad ng ipinakita sa ibaba.

Ang mga piezos ay konektado sa mga analog na pin:

  • Caixa = A0;
  • Charles = A1;
  • Tomtom = A2;
  • Pag-crash = A3;
  • Bombo = A4;

Hakbang 3: Program Ito

Program Ito
Program Ito

Nagpasya kaming lumikha ng aming sariling display para sa drumkit sa halip na gumamit ng isang preset na programa. Ginamit namin ang Pagproseso para dito.

Na-program namin ito upang kapag ang isang piezo ay na-hit, ang tunog ng kaukulang drum ay tunog. Bilang karagdagan, ang kaukulang pattern ng drum ay mag-iilaw sa screen.

Kakailanganin mong i-import ang tunog ng pagpoproseso, at pagproseso ng mga serial library.

Huwag kalimutang idagdag ang mga tunog ng drum sa isang folder ng data!

CODE NG ARDUINO

// PIEZOS AY KONEKTO SA ANALOG PINS

Const int caixa = A0;

Const int charles = A1;

const int tomtom = A2;

Const int crash = A3;

Const int bombo = A4;

Const int threshold = 100; // halaga ng threshold upang magpasya kung ang napansin na tunog ay isang katok o hindi

// READ AND STORE THE VALUE READ MULA SA SENSOR PINS

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

walang bisa ang pag-setup () {

Serial.begin (9600); // gamitin ang serial port

}

void loop () {

// basahin ang sensor at iimbak ito sa variable sensorReading:

caixaReading = analogRead (caixa);

// kung ang pagbabasa ng sensor ay mas malaki kaysa sa threshold:

kung (caixaReading> = threshold) {

// KUNG PATAYIN MO ANG CAIXA, MAGPADALA 0 SA PAMPROSESO

Serial.print ("0,");

Serial.println (caixaReading);

}

charlesReading = analogRead (charles);

kung (charlesReading> = threshold) {

// KUNG PATAYIN MO ANG CHARLES, MAGPADALA NG 1 SA PAMPROSESO

Serial.print ("1,");

Serial.println (caixaReading);

}

tomtomReading = analogRead (tomtom);

kung (tomtomReading> = threshold) {

// KUNG PATAYIN MO ANG CAIXA, MAGPADALA NG 2 SA PAMPROSESO

Serial.print ("2,");

Serial.println (tomtomReading);

}

crashReading = analogRead (crash);

kung (crashReading> = threshold) {

// KUNG PATAYIN MO ANG CAIXA, MAGPADALA NG 3 SA PAMPROSESO

Serial.print ("3,");

Serial.println (crashReading);

}

bomboReading = analogRead (bombo);

kung (bomboReading> = 15) {

// KUNG PATAYIN MO ANG CAIXA, MAGPADALA NG 4 SA PAMPROSESO

Serial.print ("4,");

Serial.println (bomboReading);

}

antala (10); // antala upang maiwasan ang labis na pag-load ng serial port buffer

}

KODONG PAMPROSESO

// IMPORT SOUND AND SERIAL LIBRARIES

pagproseso ng pag-import. tunog. *;

pagproseso ng pag-import.serial. *;

Serial myPort; // Lumikha ng bagay mula sa Serial class

String val; // Data na natanggap mula sa serial port

// DRUM SOUNDS

SoundFile caixa;

SoundFile charles;

SoundFile tomtom;

Pag-crash ng SoundFile;

SoundFile bombo;

// DRUMS STUDIO IMAGES

PImage img0;

PImage img1;

PImage img2;

PImage img3;

PImage img4;

PImage img5;

PImage img6;

// DRUMS STUDIO WAVES VARIABLES

lumutang n = 0;

lumutang n2 = 1;

lumutang n3 = 2;

lumutang n4 = 3;

lumutang n5 = 4;

float y = 0;

lumutang y2 = 1;

lumutang y3 = 2;

lumutang y4 = 3;

lumutang y5 = 4;

walang bisa ang pag-setup ()

{

// OPEN WHATEVER PORT ANG IYONG GINAGAMIT

String portName = Serial.list () [0]; // baguhin ang 0 sa isang 1 o 2 atbp upang tumugma sa iyong port

myPort = bagong Serial (ito, portName, 9600);

// DRUMS STUDIO CONSOLA

laki (720, 680);

background (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");

// LOAD SOUNDS

caixa = bagong SoundFile (ito, "caixa.aiff");

charles = bagong SoundFile (ito, "charles.aiff");

tomtom = bagong SoundFile (ito, "tomtom.aiff");

crash = bagong SoundFile (ito, "crash.aiff");

bombo = bagong SoundFile (ito, "bombo.aiff");

}

walang bisa draw ()

{

// TITULO DRUMS STUDIO

imahe (img0, 125, 0);

// WAVES DRAWING

kung (y> 720) // Simulan muli ang mga alon

{

y = 0;

y2 = 1;

y3 = 2;

y4 = 3;

y5 = 4;

}

punan (0, 10);

tuwid (0, 0, lapad, taas);

// Dejamos punan ang isang blanco para

// dibujar la bola

punan (255);

stroke (250, 255, 3);

point (y, (taas-40) + kasalanan (n) * 30);

n = n + 0.05;

y = y + 1;

stroke (250, 255, 3);

point (y2, (taas-40) + cos (n2) * 30);

n2 = n2 + 0.05;

y2 = y2 + 1;

stroke (250, 255, 3);

point (y3, (taas-40) + kasalanan (n3) * 30);

n3 = n3 + 0.05;

y3 = y3 + 1;

stroke (250, 255, 3);

point (y4, (taas-40) + cos (n4) * 30);

n4 = n4 + 0.05;

y4 = y4 + 1;

stroke (250, 255, 3);

point (y5, (taas-40) + kasalanan (n5) * 30);

n5 = n5 + 0.05;

y5 = y5 + 1;

// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA

imahe (img1, 0, 80);

// MAKE OUTPUTS PARA SA BAWAT INPUT

kung (myPort.available ()> 0)

{// Kung magagamit ang data, val = myPort.readStringUntil ('\ n'); // basahin ito at iimbak ito sa val

println (val);

Listahan ng String = split (val, ','); // Magbukas ng isang listahan para sa pagkuha ng bawat halaga ng pag-input

kung (listahan! = null)

{

kung (listahan [0].equals ("0")) {// kung na-hit mo ang caixa

caixa.play (); // Play caixa sound

imahe (img2, 0, 80); // Ang caixa ay iluminado sa screen

println ("caixa"); // i-print ito sa console

} iba pa kung (ilista ang [0].equals ("1")) {// kung na-hit mo ang charles

charles.play (); // Patugtugin ang tunog ng charles

imahe (img3, 0, 80); // Ang charles ay iluminado sa screen

println ("charles"); // i-print ito sa console

} iba pa kung (ilista ang [0].equals ("2")) {// Kung na-hit mo ang tomtom

tomtom.play (); // Patugtugin ang tunog ng tomtom

imahe (img4, 0, 80); // Ang Tomtom ay iluminado sa screen

println ("tomtom"); // i-print ito sa console

} iba pa kung (ilista ang [0].equals ("3")) {// Kung na-hit mo ang pag-crash

crash.play (); // Patugtugin ang tunog ng pag-crash

imahe (img5, 0, 80); // Crash ay iluminado sa screen

println ("pag-crash"); // i-print ito sa console

} iba pa kung (ilista ang [0].equals ("4")) {// kung na-hit mo ang bombo

bombo.play (); // Patugtugin ang tunog ng bombo

imahe (img6, 0, 80); // Bombo ay iluminado sa screen

println ("bombo"); // i-print ito sa console

}

}

}

}

Hakbang 4: Buuin Ito

Gumawa nito
Gumawa nito
Gumawa nito
Gumawa nito
Gumawa nito
Gumawa nito
Gumawa nito
Gumawa nito

Para sa pagsasakatuparan ng prototype, mayroon kaming

ginamit ang mga pang-araw-araw na elemento upang gawing simple ang proseso, ngunit palaging naghahanap ng pag-andar at isang magandang tapusin.

Ang unang hakbang ay upang hinangin ang mga kable sa piezoelectric, pinuputol ang mga ito sa isang sapat na haba upang magkaroon ng kalayaan kapag inaayos ang baterya sa mesa o kung saan kami pupunta sa pagsasanay.

Matapos ang ilang pagsasaliksik, napagmasdan naming mahalaga na maipasa ng pad ang panginginig ng bawat epekto sa piezoelectric, upang ang mga materyales tulad ng kahoy o plastik ay itinapon. Panghuli, pinili namin na gumamit ng mga takip ng metal para sa de-latang pagkain, na sumusunod sa kanilang pagpapaandar at may angkop na hitsura para sa kanilang hangarin.

Sinusubukan ang mga drumstick at tulad ng inaasahan, ang mga epekto ay masyadong maingay at lumayo mula sa solusyon ng isang tahimik na drum. Upang malutas ito, takpan namin ang ibabaw ng isang foam na Eva, gupitin sa mga sukat ng gitnang paligid ng takip. Ito ay nakadikit ng dobleng panig na tape na sapat na manipis upang ang kaluwagan ay hindi kapansin-pansin kapag nagpe-play. Bilang karagdagan, habang ang gilid ng mga takip ay nakagawa pa rin ng isang nakakainis na ingay na pumipigil sa amin na maglaro nang kumportable, naglalagay kami ng ilang maliliit na patak ng mainit na natunaw na pandikit sa gilid upang maiwasan ang pad mula sa pagdulas at paglambot ng bawat epekto hangga't maaari.

Upang maiwasan ang pagpapakalat ng apat na pad habang hinahawakan, isinama namin sila sa mga pares sa pamamagitan ng isang sinulid na bar na pumasok mula sa gilid, naayos mula sa loob ng isang maliit na kulay ng nuwes. Ang problema noong nagsimula kaming maglaro ay dahil ito ay isang materyal na metal, inilipat nito ang mga panginginig mula sa isang pad patungo sa isa pa, kaya kapag nagpatugtog kami ng isa, sabay na tumunog ang kanyang kapareha.

Sa wakas ay tinanggal namin ang mga tungkod at nakita na sapat na at mas praktikal na gamitin ang piezo cable mismo bilang isang unyon.

Tulad ng para sa pedal, mayroon kaming paunang ideya na hawakan ang piezo sa pagitan ng isang sandwich; upang maiwasan ang direktang epekto ng piezo laban sa lupa. Upang magawa ito, idinikit namin ang piezo sa isang kahoy na plato at nakadikit ng isa pang plato ng PVC na may parehong sukat, kung saan gumawa kami ng isang maliit na bitak na nagpapadali at tumatanggap ng parehong piezo at cable.

Noong una ginamit namin ang PVC para sa parehong mga plato, ngunit pagkatapos ng maraming mga pagsubok nalaman namin na ang materyal na ito ay sumipsip ng labis na epekto at nailipat ito sa piezo.

Upang maiwasan ang pagkakaroon ng isang pedal na maluwag at gumagalaw sa iyong hakbang, nagpasya kaming maglagay ng isang goma sa pagitan ng sandwich upang hawakan ang pedal sa aming paa at matiyak ang bawat stroke sa drum.

Sa wakas, upang makamit ang isang mas mahusay na tapusin, gumawa kami ng isang maliit na kahon sa aming sarili na matatagpuan ang protoboard at ang arduino. Dito pumapasok ang 5 mga kable sa isang gilid at pinapayagan ang USB cable na konektado sa kabilang panig. Naka-mount ito sa itim na karton ng balahibo, para sa madaling paghawak nito at upang magpatuloy sa itim at puting estetika ng buong prototype.

Inirerekumendang: