Mega vinyl speler


Mega vinyl speler (door Dries, Laurens & Sven) - Interaction Design @ Mad-Faculty (Genk)
Arduino-aangedreven project.

Deze grote vinyl speler aangedreven door Arduino geluiden afgespeeld afhankelijk van de hogere / lagere delen op de 'vinyl' (houten plank). Het verschil in hoogte wordt gemeten door een potentiometer. Je bent vrij om te tweaken van het project als u wilt.

Belangrijk: Dit project was een kwestie van trial-and-error. Niet alles kan perfect en het is meer een experiment. Voel je vrij om te veranderen het proces/code als u alstublieft. Volg uw intuïtie! :)

Video:

http://www.YouTube.com/watch?v=neUZw9xFHv4&feature=Youtu.be

Benodigde materialen:
-Tape
-Arduino jumper draden (diverse)
-Genoeg houten planken om mee te werken

Gereedschap:
-Illustrator
-De Arduino (+ Processing)
-Tools om te solderen
-De freesmachine
-Lastercutter

Proces:
1. begin met het maken van een ontwerp voor uw vinyl speler. In Illustrator kunt u een cirkel met tracks in het ontwerpen. In ons project, hebben we gekozen voor twee sporen. In deze tracks ontwerpt u hogere/lagere delen. Vergeet niet om te snijden in het midden een cirkel - hier kunt u het plaatsen van een pijp die de steun om uw box met de potentiometers draai rond de mega vinyl speler.

2. Nadat u uw platte 2D ontwerp hebt gemaakt, gebruik een grote freesbank te knippen uit uw mega vinyl speler. Om u een idee van een grootte: gebruikten We 120 x 120 centimeter.

3. Oke, nu een moeilijke deel: ontwerp een manier om uw doos met potentiometer draai rond de mega vinyl speler en ondersteuning zelf. Bijvoorbeeld: gebruikten We een balk die rond de buis wordt gezet. Aan het einde van de lichtbundel gelijmd we een wiel.

4. meet de lengte tussen je twee tracks. Dit bedrag geeft u een idee hoe plaats uw potentiometers, en hoe groot uw box zal worden. Ontwerp nu een doos met uw twee potentiometers steken uit de doos. In het vak heb je de Arduino en uw jumper draden, samen met een motor schild en uw USB-kabel. We gebruiken het motor schild om het vak samen met straal natuurlijk verplaatsen.

5. Breng het allemaal samen! Wanneer u uw potentiometer in het vak hebt gelijmd, verbinden het met een stuk hout en sommige gewicht toe te voegen, zodat het altijd daalt wanneer er een verschil in hoogte (Zie de foto's). U kunt de lasercutter gebruiken om uw vak stuk hout...

6. Wanneer je denkt dat je hebt alles. Tijd om het programma!

Code:
Opmerking: De code is geknepen voortdurend. Zo zijn er een heleboel dingen in de commentaren. Voel je vrij om rond te spelen met het! ^_^

ARDUINO:
---------------

Const int
PWM_A = 3,
DIR_A = 12,
BRAKE_A = 9,
SNS_A = A0;
Boole-vlag = false;
Booleaanse Markering1 = false;

VOID Setup {}
De A-uitvoer configureren
pinMode (BRAKE_A, uitvoer);  Rem pin op kanaal A
pinMode (DIR_A, uitvoer);    Richting pin op kanaal A

Open seriële communicatie
Serial.begin(9600);
}

void loop {}

Instellen van de uitgangen te lopen van de motor naar voren

digitalWrite (BRAKE_A, laag);  instelling van de rem laag uitschakelen motorrem
digitalWrite (DIR_A, laag);   voorwaarts zal richting instellen op hoog de motor draaien

analogWrite (PWM_A, 255);     Set de snelheid van de motor, de 255 is de maximumwaarde

Lees de input op analoge pin 0:
int sensorValue = analogRead(A4);
int sensorValue2 = analogRead(A5);

Serial.println(sensorValue);
Als (sensorValue > 700 & & vlag == false) {}
Serial.Print("1");
vlag = true;
}
Als (sensorValue < 700) {}
vlag = false;
}
Als (sensorValue2 > 160 & & Markering1 == false) {}
Serial.Print("2");
Markering1 = true;
}
Als (sensorValue2 < 160) {}
Markering1 = false;
}
int sensorValue2 = analogRead(A4);
de waarde die u leest uitprinten:
/ * Serial.print(sensorValue);
Serial.Print ("+"); */

Serial.Print(sensorValue);
Serial.Print(',');
Serial.Print(sensorValue2);
Serial.println();

}

VERWERKING:
---------------------

importeren van processing.serial.*;
importeren van ddf.minim.*;
importeren van themidibus.*; Importeren van de bibliotheek

MidiBus myBus; De MidiBus

AudioPlayer [] muziek = nieuwe AudioPlayer [20];

int [] nummers = nieuwe int [20];

Minim minim;
int i = 0;
int een = 0;
int b = 0;
Booleaanse play = false;
int teller = 0;
int teller2 = 0;
Seriële myPort;
int test;

Boole firstContact = false;

VOID Setup {}
println(Serial.List());
myPort = nieuwe Serial (dit, Serial.list() [4], 9600);

MidiBus.list();

cijfers [0] = 67;
nummers [1] = 71;
getallen [2] = 62;
getallen [3] = 67;
getallen [4] = 62;
getallen [5] = 71;
getallen [6] = 71;
getallen [7] = 62;
getallen [8] = 83;
getallen [9] = 67;
[10] nummers = 67;
getallen [11] = 83;
getallen [12] = 72;
getallen [13] = 83;
getallen [14] = 67;
getallen [15] = 67;
getallen [16] = 83;
getallen [17] = 81;
getallen [18] = 81;
getallen [19] = 67;

/ * int toonhoogte = int(67);
int toonhoogte = int(71);
int toonhoogte = int(62);
int toonhoogte = int(67);
int toonhoogte = int(62);
int toonhoogte = int(71);
int toonhoogte = int(71);
int toonhoogte = int(62);
int toonhoogte = int(83);
int toonhoogte = int(67); * /

Minim = nieuwe Minim(this);
Music[0]=Minim.loadFile ("1.mp3", 1024);
Music[1]=Minim.loadFile ("2.mp3", 1024);
Music[2]=Minim.loadFile ("3.mp3", 1024);
Music[3]=Minim.loadFile ("4.mp3", 1024);
Music[4]=Minim.loadFile ("5.mp3", 1024);
Music[5]=Minim.loadFile ("6.mp3", 1024);
Music[6]=Minim.loadFile ("7.mp3", 1024);
Music[7]=Minim.loadFile ("8.mp3", 1024);
Music[8]=Minim.loadFile ("9.mp3", 1024);
Music[9]=Minim.loadFile ("10.mp3", 1024);
Music[10]=Minim.loadFile ("11.mp3", 1024);
Music[11]=Minim.loadFile ("12.mp3", 1024);
Music[12]=Minim.loadFile ("13.mp3", 1024);
Music[13]=Minim.loadFile ("14.mp3", 1024);
Music[14]=Minim.loadFile ("15.mp3", 1024);
Music[15]=Minim.loadFile ("16.mp3", 1024);
Music[16]=Minim.loadFile ("17.mp3", 1024);
Music[17]=Minim.loadFile ("18.mp3", 1024);
Music[18]=Minim.loadFile ("19.mp3", 1024);
Music[19]=Minim.loadFile ("20.mp3", 1024);
myBus = nieuwe MidiBus (deze, -1, "Java Sound Synthesizer"); Maak een nieuwe MidiBus met geen invoerapparaat en de standaard Java Sound Synthesizer als het uitvoerapparaat.
}

VOID draw() {}
int kanaal = 0;

int test = getallen [teller];

int toonhoogte = int(test);
int snelheid = 127;

terwijl (myPort.available() > 0) {}
int inByte = myPort.read();
println(inByte);
if(inByte == 50) {}
println("test");
myBus.sendNoteOn (channel, toonhoogte, snelheid); Stuur een Midi noteOn
delay(200);
myBus.sendNoteOff (channel, toonhoogte, snelheid);


teller ++;

}
if(teller == 9) {}
teller = 0;
}

if(inByte == 49) {}
println(teller2);
myBus.sendNoteOn (channel, toonhoogte, snelheid); Stuur een Midi noteOn
delay(200);
myBus.sendNoteOff (channel, toonhoogte, snelheid);
teller2 ++;

}
if(teller2 == 7) {}
teller2 = 0;

}
}

}

VOID serialEvent(Serial myPort) {}
String myString = myPort.readStringUntil('\n');
Als (myString! = null) {}
//
myString = trim(myString);
//
int sensoren [] = int (split (myString, ','));
//
int een = sensoren [0];
int b = sensoren [1];
Print(a);
Print("");
Print(b);
Print("");
Print(Play);
println();
//
//
Als (een 695 > & & spelen == false) {}
Music[i].Play();
//        i++;
//
spelen = true;
//
//      }
//
//
Als (een < 700) {}
spelen = false;
//      }
//
//
//    }
//
//}
//
VOID noteOn (int channel, int worp, int snelheid) {}
Ontvangen van een noteOn
println();
println ("opmerking op:");
println("---");
println("Channel:"+Channel);
println("pitch:"+pitch);
println("Velocity:"+Velocity);
}

VOID noteOff (int channel, int worp, int snelheid) {}
Ontvangen van een noteOff
println();
println ("opmerking uit:");
println("---");
println("Channel:"+Channel);
println("pitch:"+pitch);
println("Velocity:"+Velocity);
}
VOID vertraging (int keer) {}
int huidige = millis();
while(Millis() < huidige + tijd) Thread.yield();
}

Gerelateerde Artikelen

Mega Man 8-bit Mega muurschildering van keramische tegels

Mega Man 8-bit Mega muurschildering van keramische tegels

Ons bedrijf had een enorme, grijze cinderblock muur in onze overigens mooi ingerichte reclamebureau. Ik zag een kans voor een gigantische 8-bit Mega Man gevecht scène. Het ontwerp is gebaseerd op de Mega Man-spel uit 1987.De 8-bits tekens in de muurs
Retro gaming kunst met Sonic the Hedgehog

Retro gaming kunst met Sonic the Hedgehog

het lijkt pas gisteren opknoping sindsdien een videospel poster aan de muur zou hebben bevestigd dat uw geheime identiteit als een vrienden uber-nerd.Maar PocketGamer.co.ukheeft besloten om weer te geven zijn chique geek openlijken trots, en nodigt u
Professional RIAA EQ met analoge elektronica

Professional RIAA EQ met analoge elektronica

Wat dit verslag gaat overWant ik een echte audiofiel en een elektronica-liefhebber ben, proberen ik vaak te combineren beide. De meeste van mijn projecten zijn over een analoge elektronische dingen, waar ik probeer te krijgen van het beste uit de aud
Draaitafel gemaakt van 100y oude Duitse eik

Draaitafel gemaakt van 100y oude Duitse eik

Dit Instructable maakt deel uit van een reeks projecten, zoalsHoe ontwerp je een voorversterker voor vinyl record versterken--> RIAA EQHoe controle een stappenmotor voor juiste snelheid (met het oog op het spinnen snelheid van een platenspeler)Over h
Magnetische klas woordenschat spel

Magnetische klas woordenschat spel

woordenschat is een ding dat elke leraar ongeacht grade level-test of onderwerp leert. Het is een lerares Engels proberen om fundament te leggen zodat haar studenten begrijp eigenlijk een kort verhaal, een leraar van de geschiedenis probeert uit te l
Gemakkelijk Mega boom

Gemakkelijk Mega boom

Hallo! Dit Instructable zal u tonen hoe te bouwen van een eenvoudige mega boom voor Kerstmis! Alles wat u nodig hebt is de volgende:1. een stevige PVC pijp knippen tot grootte *2. Christmas lights (ik gebruikte 2 strengen van 30 voet)3. een boor of i
DIY Nerf Mega blaster voor kleine kinderen

DIY Nerf Mega blaster voor kleine kinderen

Dit is een eenvoudige, goedkope, huisgemaakte nerf mega dart blaster die ik heb gemaakt. Ik heb vergelijkbare eenheden dat schieten elite voor mijn 2-jarige Darten, die sterk genoeg is om de regelmatige nerf blasters prime ins't. Deze is ontworpen om
4-speler voetstuk Arcade kast voor MAME

4-speler voetstuk Arcade kast voor MAME

Dit zal u tonen hoe ik mijn 4 speler MAME voetstuk kabinet geconstrueerd. Er zijn een heleboel dingen die u kunt aanpassen naar uw wens. Ik zal u tonen hoe ik mij gemaakt, u kunt voel je vrij om het naar uw eigen smaak tweaken. Dit herbergt een stand
Severus Sneep kostuum met licht-up "Patronus" spell kostuum

Severus Sneep kostuum met licht-up "Patronus" spell kostuum

Helaas was de video-bestand dat ik heb voor de kostuum wedstrijd gemaakt twee grote voor Instructables te uploaden, dus ik heb de youtube video hieronder bijgesloten ter referentie:Voor deze Halloween dit jaar besloten heb ik om Professor Severus Sna
Het spel Over Stand Up Arcade

Het spel Over Stand Up Arcade

mijn kinderen en ik begonnen met het maken van arcadespelen in de kelder uit kaart bestuur en een aantal daar oud speelgoed. Een dag die ik probeerde uit te leggen aan hen hoe cool is het om videogames spelen op een oude school stand-up arcade. Dus w
Arduino schieten spel Arcade

Arduino schieten spel Arcade

Hallo vrienden,Welkom op mijn schietbaan.Dit instructable is alles over het maken van uw eigen Shooting spel binnen uw budget. Deze opstelling kostte me slechts ca. 15$ (1000INR)Het project is nu van de alpha-versie. De animaties en spel, je ziet vid
Mega klauw 2.0

Mega klauw 2.0

We willen Mega klauw 2.0, een meer dan levensgrote kraan spel. De oorspronkelijke Mega klauw brak naar het punt waar om het te repareren zou betekenen wederopbouw van het vanaf nul. Zij leefde alleen lang genoeg om te overleven van de twee dagen op M
Opnieuw beschrijfbare Flashcards/aanwijzing kaarten/Memory spel

Opnieuw beschrijfbare Flashcards/aanwijzing kaarten/Memory spel

Kaarten van de flits zijn geweldig voor kinderen om te leren van hun brieven, de aantallen en de "gezichtswoorden". Helaas, flash kaarten krijgen gebogen, gescheurd en vuile zeer snel. Ik heb een flash card houder die ik wassen kon, dat opnieuw
Wijzigen van Nerf Mega Rotofury te schieten elite Darten

Wijzigen van Nerf Mega Rotofury te schieten elite Darten

Dit zal u tonen hoe te snel, gemakkelijk en goedkoop wijzigen de Nerf Mega RotoFury te schieten elite Darten. Dit is een zeer makkelijke mod baan, hoeft u de blaster openstellen en is volledig omkeerbaar. Deze bevestiging duurt ongeveer 30 minuten en