Inhoudsopgave:

Wearable Tech Final Project - DJ-helm - Ajarnpa
Wearable Tech Final Project - DJ-helm - Ajarnpa

Video: Wearable Tech Final Project - DJ-helm - Ajarnpa

Video: Wearable Tech Final Project - DJ-helm - Ajarnpa
Video: The BEST transformers helmets you can find #transformers #shorts #optimus #bumblebee #helmet 2024, Juli-
Anonim
Draagbaar technisch eindproject - DJ-helm
Draagbaar technisch eindproject - DJ-helm

Het doel van dit project is om een DJ-helm te maken met LED's die reageren op muziek voor show en wow-factor. We gebruiken een adresseerbare LED-strip van Amazon.com, evenals een motorhelm, een Arduino uno en draad.

Benodigdheden

Materialen omvatten:

  • Adresseerbare ledstrip
  • Motorhelm
  • Arduino Uno
  • Draden en soldeerbout

Stap 1: LED's laten reageren op geluid

Voor de eerste stap gaan we de LED-strip testen om te reageren op geluid, we gebruiken het klankbord van Sparkfun en verbinden deze met de Arduino met behulp van een breadboard en draad. Bij het testen met de Arduino-software krijgen we twee metingen die we kunnen gebruiken. De amplitude van het geluid dat uit de "Envelope" -poort komt en de binaire 1 / 0-lezing uit de "gate" -poort. Gebruik deze variabelen om toe te wijzen aan de adresseerbare ledstrip, dan is "poort" één, de LEDS geven een bepaalde kleur weer, wanneer de envelop boven een bepaald niveau is, een bepaalde kleur weergeven. De volledige code wordt verstrekt.

Stap 2: Knip en soldeer LED's om op de helm te vormen

Knip en soldeer LED's in vorm op helm
Knip en soldeer LED's in vorm op helm
Knip en soldeer LED's in vorm op helm
Knip en soldeer LED's in vorm op helm
Knip en soldeer LED's in vorm op helm
Knip en soldeer LED's in vorm op helm

Op mijn project heb ik besloten om de LED's op een X-manier aan de helm toe te voegen met extra driehoeken aan de buitenkant, ik ben van plan om dat ontwerp beter te laten werken met de manier waarop de muziek speelt. Bij deze stap draait het dus om het op de gewenste lengte knippen van de LED-strips en deze aan elkaar solderen op de snijtekens om hoeken te maken. Ik moest dit ongeveer 10 keer doen en het is erg tijdrovend, vooral als het om kleine draden gaat. Dit is de voortgang bij deze stap

Stap 3: Bedraad en test de LED's op de helm

Bedraad en test de LED's op de helm
Bedraad en test de LED's op de helm
Bedraad en test de LED's op de helm
Bedraad en test de LED's op de helm

In deze stap heb ik de LED's aangesloten en getest op de arduino, het klankbord en de gesneden LED's om er zeker van te zijn dat de sneden en het solderen correct werkten

Stap 4: Gratis elektronica van Breadboard

Gratis elektronica van Breadboard
Gratis elektronica van Breadboard
Gratis elektronica van Breadboard
Gratis elektronica van Breadboard
Gratis elektronica van Breadboard
Gratis elektronica van Breadboard

In deze stap concentreerde ik me op het krijgen van alle elektronica van het breadboard. Ik heb alle draden gesoldeerd die moesten worden gesoldeerd en de helmdraden verlengd om lang te zijn, zodat je de helm kunt dragen terwijl deze aan de Arduino is bevestigd. Het belangrijkste waar ik niet achter kon komen was externe voeding, ik probeerde batterijen in verschillende configuraties, maar niets zou me het gewenste resultaat geven, sommige zouden de lichten gek maken en sommige zouden ze verschillende kleuren maken. Helaas kan dit te wijten zijn aan mijn kennis van circuits, maar ik heb ervoor gekozen om de stroom naar de Arduino van de printplaat te laten komen. Het klankbord wordt gevoed door een batterijpakket en dat werkt prima

Stap 5: Definitieve configuratie

Definitieve configuratie
Definitieve configuratie

voor deze laatste stap las ik de waarden die van het klankbord kwamen en wijzigde ik de code om overeen te komen met de nieuwe waarden die veranderden, alles werd van het breadboard gehaald. Ik heb de LED-strips op de helm gelijmd waar ze eerder waren afgeplakt en uiteindelijk heb ik opnieuw getest.

Stap 6: Coderen (Arduino)

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

// Uitgebracht onder de GPLv3-licentie om overeen te komen met de rest van de

// Adafruit NeoPixel-bibliotheek

#erbij betrekken

#ifdef _AVR_ #include // Vereist voor 16 MHz Adafruit Trinket #endif

// Welke pin op de Arduino is verbonden met de NeoPixels?

#define PIN 3 // Op Trinket of Gemma, stel voor dit te wijzigen in 1

// Hoeveel NeoPixels zijn aangesloten op de Arduino?

#define NUMPIXELS 166 // Populaire NeoPixel ringmaat

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

#define DELAYVAL 500 // Tijd (in milliseconden) om tussen pixels te pauzeren

ongeldige setup() {

#indien gedefinieerd(_AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1); #endif // END van Trinket-specifieke code.

pixels.begin(); // INITIALISEER NeoPixel-stripobject (VERPLICHT)

Serieel.begin(9600); }

lege lus() {

int sensorValue = analoog lezen (A1);

int sensorValue2 = digitalRead (7); Serial.println(sensorValue); //vertraging (5); //pixels.clear(); // Zet alle pixelkleuren op 'uit'

if (sensorWaarde2 == 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); } } //////////////////////////// else{ for(int i=0; i<28; i++) { pixels.setPixelColor(ik, 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); } } //////////////////////////// if (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);

} pixels.show(); } 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);

}

pixels.show(); } else{ 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);} pixels.show(); } }

Aanbevolen: