Turinys:

„Wearable Tech Final Project“- DJ šalmas: 6 žingsniai
„Wearable Tech Final Project“- DJ šalmas: 6 žingsniai

Video: „Wearable Tech Final Project“- DJ šalmas: 6 žingsniai

Video: „Wearable Tech Final Project“- DJ šalmas: 6 žingsniai
Video: I wear the last one everyday... 👨🏼‍🚀 2024, Liepa
Anonim
„Wearable Tech Final Project“- DJ šalmas
„Wearable Tech Final Project“- DJ šalmas

Šio projekto tikslas yra padaryti DJ šalmą su šviesos diodais, reaguojančiais į muziką, skirtą šou ir „wow factor“. Mes naudojame adresuojamą LED juostą iš „Amazon.com“, taip pat motociklo šalmą, „Arduino uno“ir vielą.

Prekės

Medžiagos apima:

  • Adresuojama LED juostelė
  • Motociklų šalmas
  • Arduino Uno
  • Laidai ir lituoklis

1 veiksmas: priverskite šviesos diodus reaguoti į garsą

Pirmajame etape mes išbandysime šviesos diodų juostą, kad reaguotų į garsą, mes naudojame „Sparkfun“garso plokštę ir prijungiame ją prie „Arduino“, naudodami duonos lentą ir laidą. Bandydami su „Arduino“programine įranga, gauname du rodmenis, kuriuos galime naudoti. Garso, sklindančio iš „Envelope“prievado, amplitudė ir dvejetainis 1 /0 rodinys iš „gate“prievado. Naudokite šiuos kintamuosius, kad susietumėte adresuotą LED juostą, tada „vartai“yra viename, šviesos diodai rodo tam tikrą spalvą, kai vokas yra virš tam tikro lygio, rodo tam tikrą spalvą. Bus pateiktas visas kodas.

2 veiksmas: supjaustykite ir lituokite šviesos diodus pagal šalmą

Šalmo formos ir pjovimo šviesos diodai
Šalmo formos ir pjovimo šviesos diodai
Šalmo formos ir pjovimo šviesos diodai
Šalmo formos ir pjovimo šviesos diodai
Šalmo formos ir pjovimo šviesos diodai
Šalmo formos ir pjovimo šviesos diodai

Savo projekte nusprendžiau pridėti šviesos diodus prie šalmo X būdu su papildomais trikampiais išorėje, planuoju, kad šis dizainas geriau veiktų su muzika. Taigi šis žingsnis yra susijęs su LED juostelių pjovimu iki norimo ilgio ir litavimo kartu su pjūvio žymėmis, kad būtų padaryti kampai. Aš turėjau tai padaryti maždaug 10 kartų, ir tai užima daug laiko, ypač kai dirbama su mažais laidais. Tai pažanga šiame žingsnyje

3 žingsnis: prijunkite ir išbandykite šalmo šviesos diodus

Prijunkite ir patikrinkite šalmo šviesos diodus
Prijunkite ir patikrinkite šalmo šviesos diodus
Prijunkite ir patikrinkite šalmo šviesos diodus
Prijunkite ir patikrinkite šalmo šviesos diodus

Šiame etape aš prijungiau ir išbandžiau šviesos diodus prie arduino, garso plokštės ir supjaustytų šviesos diodų, kad įsitikinčiau, ar pjūviai ir litavimas veikia tinkamai

4 žingsnis: Nemokama elektronika iš „Breadboard“

Nemokama elektronika iš „Breadboard“
Nemokama elektronika iš „Breadboard“
Nemokama elektronika iš „Breadboard“
Nemokama elektronika iš „Breadboard“
Nemokama elektronika iš „Breadboard“
Nemokama elektronika iš „Breadboard“

Šiame žingsnyje aš sutelkiau dėmesį į tai, kad visa elektronika būtų pašalinta iš duonos lentos. Lituodavau visus laidus, kuriuos reikėjo lituoti, ir pratęsiau šalmo laidus, kad jie būtų ilgi, kad galėtumėte dėvėti šalmą, pritvirtintą prie „Arduino“. Svarbiausias dalykas, kurio negalėjau išsiaiškinti, buvo išorinė energija, išbandžiau skirtingų konfigūracijų baterijas, tačiau niekas nedavė man reikiamo rezultato, kai kurios lemputes išprotėjo, o kitos - skirtingų spalvų. Deja, tai gali būti dėl mano žinių apie grandines, bet aš nusprendžiau išlaikyti „Arduino“maitinimą iš kompiuterio plokštės. Garso plokštė maitinama iš akumuliatoriaus ir tai veikia gerai

5 žingsnis: galutinė konfigūracija

Galutinė konfigūracija
Galutinė konfigūracija

šiam paskutiniam žingsniui perskaičiau iš garso plokštės gautas vertes ir pakeičiau kodą, kad jis atitiktų naujas reikšmes, kurios pakeitė vieną, viskas buvo nuimta nuo lentos. Aš priklijavau šviesos diodų juosteles prie šalmo, kur jos nebuvo užklijuotos, ir galiausiai vėl išbandžiau.

6 žingsnis: kodas („Arduino“)

// „NeoPixel Ring“paprastas eskizas (c) 2013 m. Shae Erisson

// Išleista pagal GPLv3 licenciją, kad atitiktų likusią

// „Adafruit NeoPixel“biblioteka

#įtraukti

#ifdef _AVR_ #include // Reikalingas 16 MHz „Adafruit“niekučiui #endif

// Kuris „Arduino“kaištis yra prijungtas prie „NeoPixels“?

#define PIN 3 // „Trinket“ar „Gemma“pasiūlykite tai pakeisti į 1

// Kiek „NeoPixels“pridedama prie „Arduino“?

#define NUMPIXELS 166 // Populiarus „NeoPixel“žiedo dydis

„Adafruit_NeoPixel“pikseliai (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Laikas (milisekundėmis), kai reikia padaryti pertrauką tarp pikselių

void setup () {

#if apibrėžta (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // „Fingeret“specifinio kodo pabaiga.

pixels.begin (); // INICIALIZUOTI „NeoPixel“juostelės objektą (BŪTINA)

Serial.begin (9600); }

void loop () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // uždelsimas (5); //pixels.clear (); // Nustatykite visas pikselių spalvas kaip „išjungtas“

if (sensorValue2 == 1) {

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

}

(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);

}

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

}

(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);

}

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

}

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

Rekomenduojamas: