Innholdsfortegnelse:

Wearable Tech Final Project - DJ -hjelm: 6 trinn
Wearable Tech Final Project - DJ -hjelm: 6 trinn

Video: Wearable Tech Final Project - DJ -hjelm: 6 trinn

Video: Wearable Tech Final Project - DJ -hjelm: 6 trinn
Video: СТРАННЫЕ НОВОСТИ НЕДЕЛИ - 41 | Таинственный | Вселенная | НЛО | Паранормальный 2024, Juli
Anonim
Wearable Tech Final Project - DJ -hjelm
Wearable Tech Final Project - DJ -hjelm

Målet med dette prosjektet er å gjøre en DJ -hjelm med lysdioder reaktiv på musikk for show og wow -faktor. Vi bruker en adresserbar LED -stripe fra Amazon.com samt en motorsykkelhjelm, en Arduino uno og wire.

Rekvisita

Materialer inkluderer:

  • Adresserbar LED -stripe
  • Motorsykkel hjelm
  • Arduino Uno
  • Ledninger og loddejern

Trinn 1: Få lysdioder til å reagere på lyd

For det første trinnet skal vi teste LED -stripen for å reagere på lyd, vi bruker lydkortet fra Sparkfun og kobler det til Arduino ved hjelp av et brødbrett og ledning. Ved å teste ut med Arduino -programvaren får vi to avlesninger vi kan bruke. Amplituden til lyden som kommer fra "Envelope" -porten og den binære 1 /0 -avlesningen fra "gate" -porten. Bruk disse variablene til å kartlegge den adresserbare LED -stripen, så er "gate" på ett, lysdiodene viser viss farge, når konvolutten er over et visst nivå, viser en bestemt farge. Du får hele koden.

Trinn 2: Klipp og lodd LED for å forme hjelmen

Klipp og lodd LED for å forme hjelmen
Klipp og lodd LED for å forme hjelmen
Klipp og lodd LED for å forme hjelmen
Klipp og lodd LED for å forme hjelmen
Klipp og lodd LED for å forme hjelmen
Klipp og lodd LED for å forme hjelmen

På prosjektet mitt bestemte jeg meg for å legge lysdiodene til hjelmen på en X -måte med ekstra trekanter på utsiden, jeg planlegger å få det designet til å fungere bedre med måten musikken spiller på. Så dette trinnet handler om å kutte LED -stripene til ønsket lengde og lodde dem sammen på kuttmerkene for å lage hjørner. Jeg måtte gjøre dette omtrent 10 ganger, og det er veldig tidkrevende, spesielt når det gjelder små ledninger. Dette er fremdriften på dette trinnet

Trinn 3: Koble til og test lysdiodene på hjelmen

Led og test lysdiodene på hjelmen
Led og test lysdiodene på hjelmen
Led og test lysdiodene på hjelmen
Led og test lysdiodene på hjelmen

I dette trinnet koblet og testet jeg lysdiodene til arduinoen, lydkortet og de kuttede lysdiodene for å sikre at kuttene og loddingene fungerte riktig

Trinn 4: Gratis elektronikk fra brødbrett

Gratis elektronikk fra brødbrett
Gratis elektronikk fra brødbrett
Gratis elektronikk fra brødbrett
Gratis elektronikk fra brødbrett
Gratis elektronikk fra brødbrett
Gratis elektronikk fra brødbrett

I dette trinnet fokuserte jeg på å få all elektronikken av brødbrettet. Jeg loddet alle ledningene som måtte loddes og forlenget hjelmtrådene til å være lange, slik at du kan bære hjelmen som er festet til Arduino. Det viktigste jeg ikke kunne finne ut var ekstern strøm, jeg prøvde batterier i forskjellige konfigurasjoner, men ingenting ville gi meg det resultatet jeg trengte, noen ville få lysene til å gå gale og noen ville få dem til å være i forskjellige farger. Dessverre kan dette skyldes min kunnskap om kretser, men jeg valgte å beholde strømmen til Arduino fra PC -kortet. Lydkortet drives av en batteripakke og det fungerer fint

Trinn 5: Sluttkonfigurasjon

Sluttkonfigurasjon
Sluttkonfigurasjon

for dette siste trinnet, jeg leste verdiene som kom fra lydkortet og endret koden for å matche de nye verdiene som endret en alt ble tatt av brødbrettet. Jeg limte LED -stripene til hjelmen der før de hadde blitt tapet ned og til slutt testet jeg igjen.

Trinn 6: Kode (Arduino)

// NeoPixel Ring enkel skisse (c) Shae Erisson 2013

// Utgitt under GPLv3 -lisensen for å matche resten av

// Adafruit NeoPixel bibliotek

#inkludere

#ifdef _AVR_ #include // Påkrevd for 16 MHz Adafruit Trinket #endif

// Hvilken pin på Arduino er koblet til NeoPixels?

#define PIN 3 // På Trinket eller Gemma, foreslår du å endre dette til 1

// Hvor mange NeoPixels er festet til Arduino?

#define NUMPIXELS 166 // Populær NeoPixel ringstørrelse

Adafruit_NeoPixel piksler (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Tid (i millisekunder) til pause mellom piksler

ugyldig oppsett () {

#if definert (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // END of Trinket-specific code.

pixels.begin (); // INITIALISER NeoPixel stripeobjekt (påkrevd)

Serial.begin (9600); }

void loop () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // forsinkelse (5); //piksler.clear (); // Sett alle pikselfarger til 'av'

hvis (sensorValue2 == 1) {

for (int i = 0; i <28; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

for (int i = 48; i <81; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

for (int i = 102; i <129; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

for (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 15, 0, 50); }} ////////////////////////////////// annet {for (int i = 0; i <28; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 48; i <81; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 102; i <129; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 0, 0, 0); }} //////////////////////////////////// (sensorValue == 3 || sensorValue == 2) {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 255, 0, 0);

}

for (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 255, 0, 0);

}

for (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 255, 0, 0);

} piksler.vis (); } if (sensorValue> 3) {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

for (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

for (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

piksler.vis (); } annet {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 0, 0);} piksler.vis (); }}

Anbefalt: