Innehållsförteckning:

Wearable Tech Final Project - DJ -hjälm: 6 steg
Wearable Tech Final Project - DJ -hjälm: 6 steg

Video: Wearable Tech Final Project - DJ -hjälm: 6 steg

Video: Wearable Tech Final Project - DJ -hjälm: 6 steg
Video: 12 Amazing Hydroelectric Technologies That Will Change Our World 2024, November
Anonim
Wearable Tech Final Project - DJ -hjälm
Wearable Tech Final Project - DJ -hjälm

Målet med detta projekt är att göra en DJ -hjälm med lysdioder reaktiva för musik för show och wow -faktor. Vi använder en adresserbar LED -remsa från Amazon.com samt en motorcykelhjälm, en Arduino uno och tråd.

Tillbehör

Material inkluderar:

  • Adresserbar LED -remsa
  • Motorcykelhjälm
  • Arduino Uno
  • Trådar och lödkolv

Steg 1: Få lysdioder att reagera på ljud

För det första steget ska vi testa LED -remsan för att reagera på ljud, vi använder ljudkortet från Sparkfun och ansluter det till Arduino med en brödbräda och tråd. När vi testar med Arduino -programvaran får vi två avläsningar som vi kan använda. Amplituden för ljudet som kommer från "Envelope" -porten och den binära 1 /0 -avläsningen från "gate" -porten. Använd dessa variabler för att mappa till den adresserbara ledremsan, då är "grind" på en, lysdioderna visar viss färg, när kuvertet är över en viss nivå, visar en viss färg. Hela koden tillhandahålls.

Steg 2: Klipp och löd lysdioder för att forma hjälmen

Skär och löd lysdioder för att forma hjälmen
Skär och löd lysdioder för att forma hjälmen
Skär och löd lysdioder för att forma hjälmen
Skär och löd lysdioder för att forma hjälmen
Skär och löd lysdioder för att forma hjälmen
Skär och löd lysdioder för att forma hjälmen

På mitt projekt bestämde jag mig för att lägga till lysdioderna till hjälmen på ett X -sätt med extra trianglar på utsidan, jag planerar att få den designen att fungera bättre med det sätt musiken spelar. Så det här steget handlar om att klippa LED -remsorna till önskade längder och löda ihop dem på snittmärkena för att göra hörn. Jag var tvungen att göra detta ungefär 10 gånger och det är mycket tidskrävande, särskilt när det gäller små trådar. Detta är framstegen i detta steg

Steg 3: Anslut och testa lysdioderna på hjälmen

Koppla och testa lysdioderna på hjälmen
Koppla och testa lysdioderna på hjälmen
Koppla och testa lysdioderna på hjälmen
Koppla och testa lysdioderna på hjälmen

I det här steget kopplade och testade jag lysdioderna till arduino, ljudkortet och de skurna lysdioderna för att se till att skärningarna och lödningen fungerade korrekt

Steg 4: Gratis elektronik från brödbräda

Gratis elektronik från brödbräda
Gratis elektronik från brödbräda
Gratis elektronik från brödbräda
Gratis elektronik från brödbräda
Gratis elektronik från brödbräda
Gratis elektronik från brödbräda

I detta steg fokuserade jag på att få bort all elektronik från brödbrädan. Jag lödde alla trådar som behövde lödas och förlängde hjälmtrådarna till att vara långa så att du kan bära hjälmen som är fäst vid Arduino. Det viktigaste jag inte kunde räkna ut var extern ström, jag provade batterier i olika konfigurationer men ingenting skulle ge mig det resultat jag behövde, vissa skulle få lamporna att bli galna och vissa skulle få dem att vara i olika färger. Tyvärr kan detta bero på min kunskap om kretsar men jag valde att hålla strömmen till Arduino från PC -kortet. Ljudkortet drivs av ett batteri och det fungerar bra

Steg 5: Slutlig konfiguration

Slutlig konfiguration
Slutlig konfiguration

för det här sista steget läste jag värdena som kom från ljudkortet och ändrade koden för att matcha de nya värdena som förändrade en allt togs bort från brödbrädan. Jag limmade LED -remsorna på hjälmen där innan de hade tejpats ner och slutligen testade jag igen.

Steg 6: Kod (Arduino)

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

// Släppt under GPLv3 -licensen för att matcha resten av

// Adafruit NeoPixel -bibliotek

#omfatta

#ifdef _AVR_ #include // Krävs för 16 MHz Adafruit Trinket #endif

// Vilken pin på Arduino är ansluten till NeoPixels?

#define PIN 3 // På Trinket eller Gemma, föreslå att du ändrar detta till 1

// Hur många NeoPixels är anslutna till Arduino?

#define NUMPIXELS 166 // Populär NeoPixel -ringstorlek

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

#define DELAYVAL 500 // Tid (i millisekunder) att pausa mellan pixlar

void setup () {

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

clock_prescale_set (clock_div_1); #endif // SLUT för Trinket-specifik kod.

pixlar. börjar (); // INITIALISERA NeoPixel -bandobjekt (KRÄVS)

Serial.begin (9600); }

void loop () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // fördröjning (5); //pixels.clear (); // Ställ in alla pixelfärger till 'av'

if (sensorValue2 == 1) {

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

}

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

}

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

}

för (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 15, 0, 50); }} ////////////////////////////////// annat {för (int i = 0; i <28; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

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

}

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

}

för (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);

}

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

}

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

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

}

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

}

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

}

pixlar. visa (); } annat {för (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

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

}

för (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 0, 0);} pixlar. visa (); }}

Rekommenderad: