Inhoudsopgave:

Studiodrums: 5 stappen
Studiodrums: 5 stappen

Video: Studiodrums: 5 stappen

Video: Studiodrums: 5 stappen
Video: 5000 STEPS IN 30 MIN AT HOME | Do it twice to get 10000 STEPS | Weight Loss Workout | NO JUMPING 2024, Juli-
Anonim
Studiodrums
Studiodrums

Drummers zouden uren en uren oefenen… Maar niet iedereen kan thuis een drum hebben: ruimte en lawaai zijn een groot probleem!

Om deze reden wilden we een draagbare en stille drumkit maken die je thuis kunt spelen.

Dit drumstel is heel gemakkelijk te gebruiken, je hoeft alleen maar op de pads te slaan en het klinkt als een echte drum! Het wordt ook geleverd met een display waarop u kunt zien op welke pad u slaat. En als je hem in een stille modus wilt gebruiken, sluit je gewoon je koptelefoon aan op de laptop!

Stap 1: Wat heb je nodig

MATERIAAL

  • Arduino Uno
  • Breadboard
  • wat draad
  • 5x piëzo's
  • 5x 1M Ohm weerstanden
  • 5 potdeksels
  • Eva schuim
  • Schuimbord

PROGRAMMA'S:

  • Arduino IDE
  • Verwerken

*Volg de onderstaande links om de bovenstaande programma's op uw computer te downloaden:

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

Stap 2: monteer circuit

Assembleer Circuit
Assembleer Circuit
Assembleer Circuit
Assembleer Circuit

Allereerst moeten we aan de piëzo's solderen (GND aan het gele deel en de analoge pin-draad aan het witte deel van de piëzo).

We gebruiken een breadboard om alles aan te sluiten.

Sluit de weerstand en de draden van de piëzo aan zoals weergegeven in het bovenstaande schema. Verbind vervolgens de GND-draad van het breadboard met GND op Arduino. Sluit ten slotte elke draad van de piëzo aan op een analoge pin op uw Arduino, zoals hieronder weergegeven.

Piëzo's aangesloten op analoge pinnen:

  • Caixa = A0;
  • Karel = A1;
  • Tomtom = A2;
  • Crash = A3;
  • Bom = A4;

Stap 3: Programmeer het

Programmeer het
Programmeer het

We besloten om ons eigen display voor de drumkit te maken in plaats van een vooraf ingesteld programma te gebruiken. We hebben hiervoor Processing gebruikt.

We hebben het zo geprogrammeerd dat wanneer er op een piëzo wordt geslagen, het geluid van de bijbehorende trommel zal klinken. Bovendien zal het corresponderende drumpatroon op het scherm oplichten.

U moet verwerkingsgeluid importeren en seriële bibliotheken verwerken.

Vergeet niet om de drumgeluiden toe te voegen aan een datamap!

ARDUINO-CODE

//PIEZOS ZIJN VERBONDEN MET ANALOGE PINS

const int caixa = A0;

const int charles = A1;

const int tomtom = A2;

const int crash = A3;

const int bombo = A4;

const int drempel = 100; // Drempelwaarde om te beslissen of het gedetecteerde geluid klopt of niet

// LEES EN BEWAAR DE WAARDE DIE VAN DE SENSORPINNEN WORDT GELEZEN

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

ongeldige setup() {

Serieel.begin(9600); // gebruik de seriële poort

}

lege lus() {

// lees de sensor en sla deze op in de variabele sensorReading:

caixaReading = analoogRead(caixa);

// als de sensorwaarde groter is dan de drempel:

if (caixaReading >= drempel) {

// ALS JE DE CAIXA RAAKT, STUUR 0 NAAR VERWERKING

Serieel.print("0, ");

Serial.println(caixaReading);

}

charlesReading = analoogRead(charles);

if (charlesReading >= drempel) {

// ALS JE DE CHARLES RAAKT, STUUR 1 NAAR VERWERKING

Serieel.print("1, ");

Serial.println(caixaReading);

}

tomtomReading = analoogRead(tomtom);

if (tomtomReading >= drempel) {

// ALS JE DE CAIXA RAAKT, STUUR 2 NAAR VERWERKING

Serieel.print("2, ");

Serial.println (tomtomReading);

}

crashReading = analoogRead(crash);

if (crashReading >= drempelwaarde) {

// ALS JE DE CAIXA RAAKT, STUUR 3 NAAR VERWERKING

Serieel.print("3, ");

Serial.println (crashReading);

}

bomboReading = analoog lezen (bombo);

if (bomboReading >= 15) {

// ALS JE DE CAIXA RAAKT, STUUR 4 NAAR VERWERKING

Serieel.print("4, ");

Serial.println (bomboReading);

}

vertraging(10); // vertraging om overbelasting van de seriële poortbuffer te voorkomen

}

VERWERKINGSCODE

//GELUID EN SERILE BIBLIOTHEKEN IMPORTEREN

verwerking.geluid importeren.*;

importverwerking.serienummer.*;

Seriële myPort; // Maak een object van de seriële klasse

String waarde; // Gegevens ontvangen van de seriële poort

//DRUMGELUIDEN

Geluidsbestand caixa;

Geluidsbestand charles;

SoundFile-tomtom;

SoundFile-crash;

SoundFile-bom;

//DRUMS STUDIO AFBEELDINGEN

PImage img0;

PImage img1;

PImage img2;

PImage img3;

PImage img4;

PImage img5;

PImage img6;

//DRUMS STUDIO GOLVEN VARIABELEN

vlotter n = 0;

vlotter n2 = 1;

vlotter n3 = 2;

vlotter n4 = 3;

vlotter n5 = 4;

zweven y = 0;

zweven y2 = 1;

zweven y3 = 2;

zweven y4 = 3;

zweven y5 = 4;

ongeldige setup()

{

// OPEN WAT DE POORT IS DIE JE GEBRUIKT

String portName = Serial.list()[0]; // verander de 0 in een 1 of 2 enz. om overeen te komen met uw poort

myPort = nieuw serieel (dit, poortnaam, 9600);

//DRUMS STUDIO CONSOLA

maat (720, 680);

achtergrond(15, 15, 15);

slagGewicht(2);

//LAAD DRUM STUDIO-BEELDEN

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

//LAAD GELUIDEN

caixa = nieuw SoundFile (dit, "caixa.aiff");

charles = nieuw SoundFile (dit, "charles.aiff");

tomtom = nieuw SoundFile (dit, "tomtom.aiff");

crash = nieuw SoundFile (dit, "crash.aiff");

bombo = nieuw SoundFile (dit, "bombo.aiff");

}

nietig tekenen()

{

//TITULO DRUMS STUDIO

afbeelding (img0, 125, 0);

//GOLVEN TEKENING

if (y>720) //Start de golven opnieuw

{

y = 0;

y2 = 1;

y3 = 2;

y4 = 3;

y5 = 4;

}

vul (0, 10);

rect(0, 0, breedte, hoogte);

// Dejamo's vullen een blanco para

// dibujar la bola

vullen (255);

slag (250, 255, 3);

punt(y, (hoogte-40) + sin(n) * 30);

n = n + 0,05;

y = y + 1;

slag (250, 255, 3);

punt(y2, (hoogte-40) + cos(n2) * 30);

n2 = n2 + 0,05;

y2 = y2 + 1;

slag (250, 255, 3);

punt(y3, (hoogte-40) + sin(n3) * 30);

n3 = n3 + 0,05;

y3= y3 + 1;

slag (250, 255, 3);

punt(y4, (hoogte-40) + cos(n4) * 30);

n4 = n4 + 0,05;

y4 = y4 + 1;

slag (250, 255, 3);

punt(y5, (hoogte-40) + sin(n5) * 30);

n5 = n5 + 0,05;

y5 = y5 + 1;

//DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA

afbeelding (img1, 0, 80);

// MAAK UITGANGEN VOOR ELKE INPUT

if (myPort.available() > 0)

{ // Als er gegevens beschikbaar zijn, val = mijnPort.readStringUntil('\n'); // lees het en sla het op in val

println (val);

String lijst = split(val, ', '); //Open een lijst voor het nemen van elke invoerwaarde

if (lijst!=null)

{

if (list[0].equals("0")) { // if you hit the caixa

caixa.play(); //Speel caixa-geluid af

afbeelding (img2, 0, 80);//De caixa is verlicht in het scherm

println("caixa"); // print het uit in de console

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

charles.play();//Speel charles sound af

afbeelding (img3, 0, 80);// De charles wordt verlicht in het scherm

println("charles"); // print het uit in de console

} else if (list[0].equals("2")) { //If you hit the tomtom

tomtom.play();//Tomtom-geluid afspelen

afbeelding (img4, 0, 80);//Tomtom wordt verlicht op het scherm

println("tomtom"); // print het uit in de console

} else if (list[0].equals("3")) { //If you hit the crash

crash.play();//Speel crashgeluid af

afbeelding (img5, 0, 80); // Crash wordt verlicht in het scherm

println("crash"); // print het uit in de console

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

bombo.play();//Speel bombo-geluid af

afbeelding (img6, 0, 80); // Bombo is verlicht in het scherm

println("bom"); // print het uit in de console

}

}

}

}

Stap 4: Bouw het

Bouw het
Bouw het
Bouw het
Bouw het
Bouw het
Bouw het
Bouw het
Bouw het

Voor de realisatie van het prototype hebben we:

gebruikte alledaagse elementen om het proces te vereenvoudigen, maar altijd op zoek naar functionaliteit en een goede afwerking.

De eerste stap was om de kabels aan de piëzo te lassen en deze op een voldoende lengte af te knippen om vrijheid te hebben bij het plaatsen van de batterij op de tafel of waar we gaan oefenen.

Na enig onderzoek stelden we vast dat het belangrijk was dat de pad de vibratie van elke impact optimaal doorgaf aan de piëzo-elektrische, zodat materialen zoals hout of plastic werden weggegooid. Ten slotte hebben we ervoor gekozen om metalen deksels te gebruiken voor conserven, die voldoen aan hun functie en een passend uiterlijk hebben voor hun doel.

Proberen met de drumsticks en zoals verwacht, waren de effecten te luidruchtig en verwijderden ze de oplossing van stille drums. Om het op te lossen, bedekken we het oppervlak met een Eva-schuim, gesneden op de afmetingen van de centrale omtrek van het deksel. Het is met dubbelzijdig tape dun genoeg gelijmd zodat het reliëf niet opvalt tijdens het spelen. Omdat de rand van de deksels nog steeds een vervelend geluid maakte waardoor we niet comfortabel konden spelen, hebben we een paar kleine druppels smeltlijm op de rand gedaan om te voorkomen dat de pad wegglijdt en elke impact zoveel mogelijk te verzachten.

Om te voorkomen dat de vier pads uiteenvallen tijdens het aanraken, hebben we ze paarsgewijs met elkaar verbonden door middel van een draadstang die vanaf de zijkant naar binnen ging en van binnenuit met een kleine moer werd bevestigd. Het probleem toen we begonnen te spelen was dat, aangezien het een metalen materiaal was, het de trillingen van de ene pad naar de andere overdroeg, dus toen we er een speelden, klonk zijn partner tegelijkertijd.

Uiteindelijk verwijderden we de staven en zagen dat het voldoende en zelfs praktischer was om de piëzo-kabel zelf als een unie te gebruiken.

Wat betreft het pedaal, we hadden het eerste idee om de piëzo tussen een sandwich te houden; om de directe impact van de piëzo tegen de grond te vermijden. Om dit te doen hebben we de piëzo op een houten plaat gelijmd en een andere PVC-plaat van dezelfde grootte gelijmd, waarin we een kleine scheur hebben gemaakt die zowel de piëzo als de kabel vergemakkelijkt en herbergt.

In eerste instantie gebruikten we voor beide platen PVC, maar na verschillende tests kwamen we tot de conclusie dat dit materiaal te veel impact absorbeerde en dit doorgaf aan de piëzo.

Om te voorkomen dat een pedaal losraakt en beweegt terwijl je stapt, hebben we besloten om een rubberen band tussen de sandwich te plaatsen om het pedaal tegen onze voet te houden en elke slag op de trommel te garanderen.

Ten slotte hebben we, om een betere afwerking te krijgen, zelf een kleine doos gebouwd waarin het protoboard en de arduino zaten. Hier komen de 5 kabels aan de ene kant binnen en kan de USB-kabel via de andere worden aangesloten. Het is gemonteerd in karton met zwarte veren, vanwege het eenvoudige gebruik en om door te gaan met de zwart-witte esthetiek van het hele prototype.

Aanbevolen: