INHOUDSOPGAWE:

Wearable Tech Final Project - DJ Helmet: 6 stappe
Wearable Tech Final Project - DJ Helmet: 6 stappe

Video: Wearable Tech Final Project - DJ Helmet: 6 stappe

Video: Wearable Tech Final Project - DJ Helmet: 6 stappe
Video: ELF/EMBARC Bronchiectasis conference 2023 with subtitles 2024, Julie
Anonim
Wearable Tech Final Project - DJ -helm
Wearable Tech Final Project - DJ -helm

Die doel van hierdie projek is om 'n DJ -helm met LED's reaktief op musiek te maak vir vertoning en wow -faktor. Ons gebruik 'n aanspreekbare LED -strook van Amazon.com, sowel as 'n motorhelm, 'n Arduino -uno en draad.

Voorrade

Materiaal sluit in:

  • Adresbare LED -strook
  • Motorhelm
  • Arduino Uno
  • Drade en soldeerbout

Stap 1: Laat LED's reageer op klank

Vir die eerste stap gaan ons die LED -strook toets om op klank te reageer, ons gebruik die klankbord van Sparkfun en verbind dit met die Arduino met 'n broodbord en draad. As ons die Arduino -sagteware toets, kry ons twee lesings wat ons kan gebruik. Die amplitude van die klank wat uit die "Envelope" -poort kom en die binêre 1 /0 -lesing vanaf die "gate" -poort. Gebruik hierdie veranderlikes om na die aanspreekbare LED -strook te karteer, dan is die "hek" een, die LED's vertoon 'n sekere kleur, as die koevert bo 'n sekere vlak is, vertoon 'n sekere kleur. Die volledige kode sal verskaf word.

Stap 2: Sny en soldeer LED's om die helm te vorm

Sny en soldeer LED's om die helm te vorm
Sny en soldeer LED's om die helm te vorm
Sny en soldeer LED's om die helm te vorm
Sny en soldeer LED's om die helm te vorm
Sny en soldeer LED's om die helm te vorm
Sny en soldeer LED's om die helm te vorm

Op my projek het ek besluit om die LED's op 'n X -manier by die helm te voeg met ekstra driehoeke aan die buitekant. Ek is van plan om die ontwerp beter te laat werk met die manier waarop die musiek speel. Hierdie stap gaan dus oor die sny van die LED -stroke op die verlangde lengtes en soldeer dit aan die snypunte om hoeke te maak. Ek moes dit ongeveer 10 keer doen, en dit is baie tydrowend, veral as ek met klein drade te doen het. Dit is die vordering in hierdie stap

Stap 3: Bedraad en toets die LED's op die helm

Bedraad en toets die LED's op die helm
Bedraad en toets die LED's op die helm
Bedraad en toets die LED's op die helm
Bedraad en toets die LED's op die helm

In hierdie stap het ek die LED's aan die arduino, die klankbord en die gesnyde LED's bedraad en getoets om seker te maak dat die snitte en soldeerwerk korrek werk

Stap 4: Gratis elektronika van broodbord

Gratis elektronika van broodbord
Gratis elektronika van broodbord
Gratis elektronika van broodbord
Gratis elektronika van broodbord
Gratis elektronika van broodbord
Gratis elektronika van broodbord

In hierdie stap het ek gefokus om al die elektronika van die broodbord af te haal. Ek het al die drade wat gesoldeer is, soldeer en die helmdrade verleng om lank te wees, sodat u die helm kan dra wat aan die Arduino geheg is. Die belangrikste ding wat ek nie kon agterkom nie, was eksterne krag, ek het batterye in verskillende konfigurasies probeer, maar niks sou my die resultaat gee wat ek nodig gehad het nie, sommige sou die ligte mal maak en sommige in verskillende kleure. Ongelukkig is dit te wyte aan my kennis van stroombane, maar ek het besluit om die krag van die Arduino van die rekenaarbord af te hou. Die klankbord word aangedryf deur 'n battery en dit werk goed

Stap 5: Finale opset

Finale opset
Finale opset

vir hierdie laaste stap, lees ek die waardes wat van die klankbord kom, en verander die kode om aan te pas by die nuwe waardes wat verander het, alles is van die broodbord verwyder. Ek het die LED -stroke op die helm vasgeplak, waar dit voorheen vasgemaak is en uiteindelik weer getoets.

Stap 6: Kode (Arduino)

// NeoPixel Ring eenvoudige skets (c) Shae Erisson 2013

// Vrygestel onder die GPLv3 -lisensie om by die res van die

// Adafruit NeoPixel biblioteek

#insluit

#ifdef _AVR_ #include // Vereis vir 16 MHz Adafruit Trinket #endif

// Watter pen op die Arduino is aan die NeoPixels gekoppel?

#define PIN 3 // Stel op Trinket of Gemma voor om dit na 1 te verander

// Hoeveel NeoPixels is aan die Arduino gekoppel?

#define NUMPIXELS 166 // Gewilde ringgrootte van NeoPixel

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

#define DELAYVAL 500 // Tyd (in millisekondes) om tussen pixels te breek

ongeldige opstelling () {

#as gedefinieer (_ AVR_ATtiny85_) && (F_CPU == 16000000)

klok_preskaalstel (klok_div_1); #endif // EINDE van Trinket-spesifieke kode.

pixels.begin (); // INITIALISEER NeoPixel -strookvoorwerp (benodig)

Serial.begin (9600); }

leemte -lus () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // vertraging (5); //pixels.clear (); // Stel alle pixelkleure op 'af'

as (sensorValue2 == 1) {

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

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

}

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

}

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

}

pixels.show (); } anders {vir (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

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

}

vir (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 0, 0);} pixels.show (); }}

Aanbeveel: