Tartalomjegyzék:

Wearable Tech Final Project - DJ sisak: 6 lépés
Wearable Tech Final Project - DJ sisak: 6 lépés

Videó: Wearable Tech Final Project - DJ sisak: 6 lépés

Videó: Wearable Tech Final Project - DJ sisak: 6 lépés
Videó: ai robots hit sofi stadium 2024, November
Anonim
Wearable Tech Final Project - DJ sisak
Wearable Tech Final Project - DJ sisak

A projekt célja, hogy a DJ -sisak LED -ekkel reagáljon a zenére a show és a wow faktor miatt. Az Amazon.com címzett LED -csíkját, valamint motorkerékpáros sisakot, Arduino uno -t és drótot használunk.

Kellékek

Az anyagok tartalmazzák:

  • Címzett LED szalag
  • Motorkerékpár sisak
  • Arduino Uno
  • Huzalok és forrasztópáka

1. lépés: A LED -ek reagálása a hangra

Az első lépésben teszteljük a LED -szalagot, hogy reagáljon a hangra, a Sparkfun hanglemezét használjuk, és egy kenyérsütő deszkával és vezetékkel csatlakoztatjuk az Arduino -hoz. Az Arduino szoftverrel végzett tesztelés során két használható értéket kapunk. A "Envelope" portból érkező hang amplitúdója és a "gate" port bináris 1 /0 leolvasása. Használja ezeket a változókat a címzett led szalag leképezéséhez, akkor a "kapu" egy, a LED -ek bizonyos színt jelenítenek meg, ha a boríték egy bizonyos szint felett van, akkor egy bizonyos színt jelenítenek meg. A teljes kód megadásra kerül.

2. lépés: Vágja és forrasztja a LED -eket a sisakra

Vágott és forrasztott LED -ek a sisakon
Vágott és forrasztott LED -ek a sisakon
Vágott és forrasztott LED -ek a sisakon
Vágott és forrasztott LED -ek a sisakon
Vágott és forrasztott LED -ek a sisakon
Vágott és forrasztott LED -ek a sisakon

A projektem során úgy döntöttem, hogy a LED -eket a sisakhoz X stílusban adom hozzá, kívülről háromszögekkel, és azt tervezem, hogy ez a design jobban működik a zene lejátszásával. Ez a lépés tehát arról szól, hogy a LED -csíkokat a kívánt hosszúságra vágjuk, és összeforrasztjuk őket a vágási jeleken, hogy sarkokat hozzunk létre. Ezt körülbelül 10 -szer kellett megtenni, és nagyon időigényes, különösen kis vezetékek kezelésekor. Ez a haladás ebben a lépésben

3. lépés: Csatlakoztassa és tesztelje a sisak LED -jeit

Csatlakoztassa és tesztelje a sisak LED -jeit
Csatlakoztassa és tesztelje a sisak LED -jeit
Csatlakoztassa és tesztelje a sisak LED -jeit
Csatlakoztassa és tesztelje a sisak LED -jeit

Ebben a lépésben bekötöttem és teszteltem a LED -eket az arduino -hoz, a hangtáblához és a vágott LED -ekhez, hogy megbizonyosodjak arról, hogy a vágások és a forrasztás megfelelően működnek

4. lépés: Ingyenes elektronika a kenyértábláról

Ingyenes elektronika a kenyértábláról
Ingyenes elektronika a kenyértábláról
Ingyenes elektronika a kenyértábláról
Ingyenes elektronika a kenyértábláról
Ingyenes elektronika a kenyértábláról
Ingyenes elektronika a kenyértábláról

Ebben a lépésben arra összpontosítottam, hogy az összes elektronikát eltávolítsam a kenyértábláról. Összeforrasztottam az összes vezetéket, amelyet forrasztani kellett, és hosszúra nyújtottam a sisakhuzalokat, hogy viselhesse az Arduino -hoz rögzített sisakot. A legfontosabb dolog, amit nem tudtam kitalálni, a külső tápellátás volt, különböző konfigurációkban próbáltam elemeket, de semmi sem adta meg a kívánt eredményt, egyesek megbolondították a lámpákat, mások pedig más színűvé tették őket. Sajnos ez az áramkörök ismereteinek köszönhető, de úgy döntöttem, hogy az Arduino áramellátását a PC -ről kapom. A hanglemez akkumulátorról működik, és jól működik

5. lépés: Végső konfiguráció

Végső konfiguráció
Végső konfiguráció

ehhez az utolsó lépéshez elolvastam a hangkártyáról érkező értékeket, és módosítottam a kódot, hogy megfeleljen az új értékeknek, amelyek megváltoztattak egyet, mindent eltávolítottak a kenyértábláról. A LED -csíkokat a sisakhoz ragasztottam, ahol korábban leragasztották őket, és végül újra teszteltem.

6. lépés: Kód (Arduino)

// NeoPixel Ring egyszerű vázlat (c) 2013 Shae Erisson

// A GPLv3 licenc alapján adták ki, hogy megfeleljen a többi

// Adafruit NeoPixel könyvtár

#befoglalni

#ifdef _AVR_ #include // 16 MHz -es Adafruit csecsebecséhez szükséges #endif

// Az Arduino melyik csapja csatlakozik a NeoPixelshez?

#define PIN 3 // Trinket vagy Gemma esetén javasoljuk, hogy módosítsa ezt 1 -re

// Hány NeoPixel kapcsolódik az Arduino -hoz?

#define NUMPIXELS 166 // Népszerű NeoPixel gyűrűméret

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

#define DELAYVAL 500 // A pixelek közötti szüneteltetési idő (ezredmásodpercben)

void setup () {

#if meghatározott (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // END a Trinket-specifikus kód.

pixels.begin (); // NeoPixel szalagos objektum INICIALIZÁLÁSA (SZÜKSÉGES)

Sorozat.kezdet (9600); }

void loop () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // delay (5); //pixels.clear (); // Az összes képpont színének beállítása "ki"

if (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); }} ///////////////////////////// else {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); }} ///////////////////////////// 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 (); }}

Ajánlott: