Мазмуну:

Wearable Tech Final Project - DJ Helmet: 6 Steps
Wearable Tech Final Project - DJ Helmet: 6 Steps

Video: Wearable Tech Final Project - DJ Helmet: 6 Steps

Video: Wearable Tech Final Project - DJ Helmet: 6 Steps
Video: I wear the last one everyday... 👨🏼‍🚀 2024, Ноябрь
Anonim
Wearable Tech Final Project - DJ Helmet
Wearable Tech Final Project - DJ Helmet

Бул долбоордун максаты - шоу жана вау факторлоруна музыкага реактивдүү диоддордун шлемин түзүү. Биз Amazon.com'дун даректүү LED тилкесин, ошондой эле мотоциклдин туулгасын, Arduino уносун жана зымын колдонуп жатабыз.

Жабдуулар

Материалдар кирет:

  • Даректүү LED тилкеси
  • Мотоцикл каскасы
  • Arduino Uno
  • Зымдар жана ширетүүчү темир

1 -кадам: Жарык диоддорунун үнгө реакциясын алуу

Биринчи кадам үчүн биз LED тилкесин үнгө реакция кылуу үчүн сынап көрөбүз, биз Sparkfun үн тактасын колдонобуз жана аны нан жана зым аркылуу Arduino менен туташтырабыз. Arduino программасы менен тестирлөөдөн кийин, биз колдоно турган эки окууну алабыз. "Конверт" портунан келген үндүн амплитудасы жана "дарбаза" портунан бинардык 1 /0 көрсөткүчү. Бул өзгөрмөлөрдү даректүү LED тилкесине картага түшүрүү үчүн колдонуңуз, андан кийин "дарбаза" бирде, LEDS белгилүү бир түстү көрсөтөт, конверт белгилүү бир денгээлден жогору болгондо, белгилүү бир түстү көрсөтөт. Толук код берилет.

2 -кадам: LEDдерди кесүү жана ширетүү

Шлемди калыптандыруу үчүн LEDдерди кесип жана Solder
Шлемди калыптандыруу үчүн LEDдерди кесип жана Solder
Шлемди калыптандыруу үчүн LEDдерди кесип жана Solder
Шлемди калыптандыруу үчүн LEDдерди кесип жана Solder
Шлемди калыптандыруу үчүн LEDдерди кесип жана Solder
Шлемди калыптандыруу үчүн LEDдерди кесип жана Solder

Менин проектимде мен светодиоддорду баш кийимиме X стилинде сыртынан кошумча үч бурчтуктар менен кошууну чечтим, мен бул дизайнды музыканын ойногону менен жакшыраак иштөөнү пландап жатам. Ошентип, бул кадам LED тилкелерин каалаган узундукка кесүү жана бурчтарды жасоо үчүн аларды кесилген жерлерге бириктирүү. Мен муну болжол менен 10 жолу жасоого туура келди жана бул, өзгөчө, кичинекей зымдар менен иштөөдө абдан көп убакытты талап кылат. Бул кадамдагы прогресс

3 -кадам: Шлемдеги LEDди зым менен текшериңиз

Шлемдеги LEDди зым менен текшерип көрүңүз
Шлемдеги LEDди зым менен текшерип көрүңүз
Шлемдеги LEDди зым менен текшерип көрүңүз
Шлемдеги LEDди зым менен текшерип көрүңүз

Бул кадамда мен диоддорду arduinoго, үн тактасына жана кесилген диоддорго зым менен текшерип көрдүм жана кесимдердин туура иштешине ынандым.

4 -кадам: бекер электроника Breadboard

Breadboardдон бекер электроника
Breadboardдон бекер электроника
Бекер электроника Breadboard
Бекер электроника Breadboard
Бекер электроника Breadboard
Бекер электроника Breadboard

Бул кадамда мен баардык электрониканы нан тактасынан алууга басым жасадым. Мен ширетилиши керек болгон бардык зымдарды ширеттим жана туулга зымдарын узун кылып узарттым, ошондо сиз Arduinoго бекитилген шлемди кийе аласыз. Эң негизгиси, сырткы кубат, мен батарейкаларды ар кандай конфигурацияда сынап көрдүм, бирок эч нерсе мага керектүү натыйжа бербейт, кээ бирлери чырактарды жинди кылат, кээ бирлери аларды башка түстө кылат. Тилекке каршы, бул микросхемаларды билүүмдөн улам болушу мүмкүн, бирок мен Ардуиного кубаттуулукту компьютердин тактайынан сактап калууну чечтим. Үн тактасы батарейка менен иштейт жана ал жакшы иштейт

5 -кадам: Акыркы конфигурация

Акыркы конфигурация
Акыркы конфигурация

Бул акыркы кадам үчүн, мен үн тактасынан келген баалуулуктарды окуп чыктым жана кодду жаңы баалуулуктарга дал келтирүү үчүн өзгөртүп койдум, баары өзгөрүлдү. Мен LED тилкелерин туулгага чаптап койгонго чейин, акыры мен дагы сынап көрдүм.

6 -кадам: Код (Arduino)

// NeoPixel Ring жөнөкөй эскизи (c) 2013 Shae Erisson

// GPLv3 лицензиясына ылайык, калганына дал келет

// Adafruit NeoPixel китепканасы

#кошуу

#ifdef _AVR_ #кошуу // 16 МГц Adafruit Trinket үчүн керектүү #endif

// Arduinoдогу кайсы пин NeoPixelsке туташкан?

#define PIN 3 // Trinket же Gemma боюнча, муну 1ге өзгөртүүнү сунуштаңыз

// Ардуиного канча NeoPixels тиркелет?

#define NUMPIXELS 166 // Популярдуу NeoPixel шакектин өлчөмү

Adafruit_NeoPixel пикселдери (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#Define DELAYVAL 500 // Пикселдердин ортосунда тыныгуу убактысы (миллисекунд менен)

жараксыз орнотуу () {

#аныкталган болсо (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // Trinketке тиешелүү коддун аягы.

piksel.begin (); // NeoPixel тилкесинин объектисин ИНТИЗАЛДОО (КЕРЕК)

Serial.begin (9600); }

void loop () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // кечиктирүү (5); //pixels.clear (); // Бардык пиксел түстөрүн "өчүрүү" кылып коюңуз

эгер (sensorValue2 == 1) {

үчүн (int i = 0; i <28; i ++) {piksel.setPixelColor (i, 15, 0, 50);

}

үчүн (int i = 48; i <81; i ++) {piksel.setPixelColor (i, 15, 0, 50);

}

үчүн (int i = 102; i <129; i ++) {piksel.setPixelColor (i, 15, 0, 50);

}

үчүн (int i = 148; i <166; i ++) {piksel.setPixelColor (i, 15, 0, 50); }} ////////////////////////////// else {for (int i = 0; i <28; i ++) {piksel.setPixelColor (i, 0, 0, 0);

}

үчүн (int i = 48; i <81; i ++) {piksel.setPixelColor (i, 0, 0, 0);

}

үчүн (int i = 102; i <129; i ++) {piksel.setPixelColor (i, 0, 0, 0);

}

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

}

үчүн (int i = 82; i <101; i ++) {piksel.setPixelColor (i, 255, 0, 0);

}

үчүн (int i = 130; i <148; i ++) {piksel.setPixelColor (i, 255, 0, 0);

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

}

үчүн (int i = 82; i <101; i ++) {piksel.setPixelColor (i, 0, 155, 155);

}

үчүн (int i = 130; i <148; i ++) {piksel.setPixelColor (i, 0, 155, 155);

}

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

}

үчүн (int i = 82; i <101; i ++) {piksel.setPixelColor (i, 0, 0, 0);

}

үчүн (int i = 130; i <148; i ++) {piksel.setPixelColor (i, 0, 0, 0);} piksel.show (); }}

Сунушталууда: