Obsah:

Konečný projekt Wearable Tech - DJ prilba: 6 krokov
Konečný projekt Wearable Tech - DJ prilba: 6 krokov

Video: Konečný projekt Wearable Tech - DJ prilba: 6 krokov

Video: Konečný projekt Wearable Tech - DJ prilba: 6 krokov
Video: The Making of the Iron Man Suit: From Plaster to CGI #shorts #short #ironman 2024, November
Anonim
Konečný projekt Wearable Tech - DJ prilba
Konečný projekt Wearable Tech - DJ prilba

Cieľom tohto projektu je vytvoriť DJ prilbu s LED diódami reagujúcimi na hudbu pre show a wow faktor. Používame adresovateľný LED pás od Amazon.com, ako aj motocyklovú prilbu, Arduino uno a drôt.

Zásoby

Materiály zahŕňajú:

  • Adresovateľný LED pás
  • Motocyklová prilba
  • Arduino Uno
  • Drôty a spájkovačka

Krok 1: Zabezpečenie reakcie diód LED na zvuk

V prvom kroku otestujeme LED pásik, aby reagoval na zvuk, použijeme zvukovú dosku od Sparkfunu a prepojíme ju s Arduinom pomocou breadboardu a drôtu. Testovaním softvéru Arduino získame dve hodnoty, ktoré môžeme použiť. Amplitúda zvuku vychádzajúceho z portu „Obálka“a binárna hodnota 1/0 odčítaná z portu „brána“. Tieto premenné použite na mapovanie na adresovateľný LED pásik, potom je "brána" na jednej, LED diódy zobrazujú určitú farbu, keď je obálka nad určitou úrovňou, zobrazujú určitú farbu. Bude poskytnutý celý kód.

Krok 2: Rezanie a spájkovanie LED diód vytvarujte na prilbe

Rezanie a spájkovanie LED diód vytvarujte na prilbe
Rezanie a spájkovanie LED diód vytvarujte na prilbe
Rezanie a spájkovanie LED diód vytvarujte na prilbe
Rezanie a spájkovanie LED diód vytvarujte na prilbe
Rezanie a spájkovanie LED diód vytvarujte na prilbe
Rezanie a spájkovanie LED diód vytvarujte na prilbe

Na svojom projekte som sa rozhodol pridať diódy LED k prilbe spôsobom X s extra trojuholníkmi na vonkajšej strane. Plánujem, aby tento dizajn lepšie fungoval so spôsobom, akým hrá hudba. Tento krok je teda o rezaní pásikov LED na požadovanú dĺžku a ich spájkovaní dohromady na značky rezu, aby sa vytvorili rohy. Musel som to urobiť asi 10 krát a je to veľmi časovo náročné, najmä keď sa zaoberám malými drôtmi. Toto je pokrok v tomto kroku

Krok 3: Pripojte a vyskúšajte diódy LED na prilbe

Pripojte a vyskúšajte diódy LED na prilbe
Pripojte a vyskúšajte diódy LED na prilbe
Pripojte a vyskúšajte diódy LED na prilbe
Pripojte a vyskúšajte diódy LED na prilbe

V tomto kroku som zapojil a testoval LED diódy na arduino, zvukovú dosku a rezané diódy LED, aby som sa ubezpečil, že rezy a spájkovanie fungujú správne.

Krok 4: Bezplatná elektronika z Breadboardu

Zdarma elektronika z Breadboard
Zdarma elektronika z Breadboard
Zdarma elektronika z Breadboard
Zdarma elektronika z Breadboard
Zdarma elektronika z Breadboard
Zdarma elektronika z Breadboard

V tomto kroku som sa zameral na odstránenie všetkej elektroniky z dosky. Spájkoval som všetky drôty, ktoré bolo potrebné spájkovať, a predĺžil som drôty prilby tak, aby boli dlhé, aby ste mohli nosiť prilbu pripevnenú k Arduinu. Najdôležitejšia vec, na ktorú som nemohol prísť, bolo externé napájanie. Skúšal som batérie v rôznych konfiguráciách, ale nič mi neprinieslo požadovaný výsledok. Pri niektorých by sa svetlá zbláznili a pri iných by mali rôzne farby. Bohužiaľ to môže byť spôsobené mojimi znalosťami obvodov, ale rozhodol som sa ponechať napájanie Arduina vychádzajúce z dosky počítača. Zvuková doska je napájaná batériou a funguje dobre

Krok 5: Konečná konfigurácia

Konečná konfigurácia
Konečná konfigurácia

Pre tento posledný krok som prečítal hodnoty pochádzajúce zo zvukovej dosky a upravil kód tak, aby zodpovedal novým hodnotám, ktoré jednu zmenili. Všetko bolo odstránené z dosky. Prilepil som pásy LED k prilbe, kde boli predtým zalepené páskou, a nakoniec som znova testoval.

Krok 6: Kód (Arduino)

// Jednoduchý náčrt NeoPixel Ring (c) 2013 Shae Erisson

// Vydané pod licenciou GPLv3, aby zodpovedalo zvyšku súboru

// Knižnica Adafruit NeoPixel

#zahrnúť

#ifdef _AVR_ #include // Vyžadované pre 16 MHz Adafruit Trinket #endif

// Ktorý pin na Arduine je pripojený k NeoPixels?

#define PIN 3 // V Trinket alebo Gemma navrhnite zmeniť toto číslo na 1

// Koľko NeoPixelov je pripojených k Arduinu?

#define NUMPIXELS 166 // Obľúbená veľkosť prsteňa NeoPixel

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

#define DELAYVAL 500 // Čas (v milisekundách) na pozastavenie medzi pixelmi

neplatné nastavenie () {

#je definovaný (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // END kódu špecifického pre Trinket.

pixely.begin (); // INICIALIZUJTE objekt pásu NeoPixel (POVINNÉ)

Serial.begin (9600); }

prázdna slučka () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // zdržanie (5); //pixels.clear (); // Nastavte všetky farby pixelov na 'vypnuté'

if (sensorValue2 == 1) {

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

}

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

}

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

}

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

}

pre (int i = 48; i <81; i ++) {pixely.setPixelColor (i, 0, 0, 0);

}

pre (int i = 102; i <129; i ++) {pixely.setPixelColor (i, 0, 0, 0);

}

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

}

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

}

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

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

}

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

}

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

}

pixely.show (); } else {for (int i = 29; i <47; i ++) {pixely.setPixelColor (i, 0, 0, 0);

}

pre (int i = 82; i <101; i ++) {pixely.setPixelColor (i, 0, 0, 0);

}

pre (int i = 130; i <148; i ++) {pixely.setPixelColor (i, 0, 0, 0);} pixelov.show (); }}

Odporúča: