Мазмұны:

Wearable Tech Final Project - DJ Helmet: 6 қадам
Wearable Tech Final Project - DJ Helmet: 6 қадам

Бейне: Wearable Tech Final Project - DJ Helmet: 6 қадам

Бейне: Wearable Tech Final Project - DJ Helmet: 6 қадам
Бейне: I wear the last one everyday... 👨🏼‍🚀 2024, Шілде
Anonim
Wearable Tech Final Project - DJ Helmet
Wearable Tech Final Project - DJ Helmet

Бұл жобаның мақсаты - шоу мен вау факторына музыкаға реактивті светодиоды бар диджейлік дулыға жасау. Біз Amazon.com -дан адрестік жарықдиодты жолақты, сонымен қатар мотоциклге арналған дулыға, Arduino uno және сымды қолданамыз.

Жабдықтар

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

  • Адресативті жарықдиодты жолақ
  • Мотоцикл дулыға
  • Ардуино Уно
  • Сымдар мен дәнекерленген темір

1 -қадам: жарықдиодты дыбысқа жауап беру

Бірінші қадамда біз жарық диодты жолақты дыбысқа жауап беру үшін тексереміз, біз Sparkfun дыбыстық тақтасын қолданамыз және оны нан тақтасы мен сым арқылы Arduino -ға қосамыз. Arduino бағдарламалық жасақтамасымен тестілеу кезінде біз қолдануға болатын екі көрсеткішті аламыз. «Конверт» портынан шығатын дыбыстың амплитудасы және «қақпа» портынан екілік 1 /0 көрсеткіші. Бұл айнымалы мәндерді адрестелетін жолақпен салыстыру үшін қолданыңыз, содан кейін «қақпа» бір, жарық диодтары белгілі бір түсті көрсетеді, конверт белгілі бір деңгейден жоғары болғанда белгілі бір түсті көрсетеді. Толық код беріледі.

2 -қадам: Дулыға пішінін беру үшін светодиодтарды кесіңіз және дәнекерлеңіз

Дулыға пішінін беру үшін светодиодтарды кесу және дәнекерлеу
Дулыға пішінін беру үшін светодиодтарды кесу және дәнекерлеу
Дулыға пішінін беру үшін светодиодтарды кесу және дәнекерлеу
Дулыға пішінін беру үшін светодиодтарды кесу және дәнекерлеу
Дулыға пішінін беру үшін светодиодтарды кесу және дәнекерлеу
Дулыға пішінін беру үшін светодиодтарды кесу және дәнекерлеу

Мен өз жобамда светодиодтарды дулыға X үлгісінде сыртынан қосымша үшбұрыштармен қосуды шештім, мен бұл дизайнды музыканың ойнауымен жақсы жұмыс жасауды жоспарлап отырмын. Осылайша, бұл қадам жарық диодты жолақтарды қажетті ұзындықтарға кесу және бұрыштарды жасау үшін оларды кесу белгілеріне біріктіру болып табылады. Мен мұны шамамен 10 рет жасауға мәжбүр болдым, бұл өте көп уақытты алады, әсіресе шағын сымдармен жұмыс жасағанда. Бұл қадамдағы прогресс

3 -қадам: Дулығадағы светодиодты сыммен қосыңыз және тексеріңіз

Шлемдегі светодиодтарды сыммен тексеріңіз
Шлемдегі светодиодтарды сыммен тексеріңіз
Шлемдегі светодиодтарды сыммен тексеріңіз
Шлемдегі светодиодтарды сыммен тексеріңіз

Бұл қадамда мен жарықдиодты arduino, дыбыс тақтасы мен кесілген жарық диодты сымдармен тексеріп, кесу мен дәнекерлеудің дұрыс жұмыс жасайтынына көз жеткіздім.

4 -қадам: электронды тақтадан ақысыз электроника

Электронды электронды тақтадан
Электронды электронды тақтадан
Электронды электронды тақтадан
Электронды электронды тақтадан
Электронды электронды тақтадан
Электронды электронды тақтадан

Бұл қадамда мен барлық электрониканы тақтадан алып тастауға назар аудардым. Мен дәнекерлеу қажет барлық сымдарды дәнекерледім және дулыға сымдарын ұзарттым, сондықтан сіз Arduino -ға бекітілген дулыға киюге болады. Мен түсінбейтін ең бастысы - сыртқы қуат, мен батареяларды әр түрлі конфигурацияда сынап көрдім, бірақ ештеңе маған қажетті нәтиже бермейді, кейбіреулер шамдарды жынды етеді, ал кейбіреулері оларды басқа түстерге айналдырады. Өкінішке орай, бұл менің тізбектерді білуіме байланысты болуы мүмкін, бірақ мен Arduino қуатын компьютердің тақтасынан алуды шештім. Дыбыстық тақта аккумуляторлық батареямен жұмыс істейді және ол жақсы жұмыс істейді

5 -қадам: соңғы конфигурация

Соңғы конфигурация
Соңғы конфигурация

Бұл соңғы қадам үшін мен дыбыстық тақтадан келетін мәндерді оқыдым және кодты жаңа мәндерге сәйкес етіп өзгерттім, бәрі өзгерді. Мен жарықдиодты жолақтарды дулығаға жапсырып қойдым, содан кейін мен қайтадан сынап көрдім.

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

// NeoPixel Ring қарапайым эскизі (c) 2013 Shae Erisson

// GPLv3 лицензиясымен қалғандарға сәйкес келу үшін шығарылды

// Adafruit NeoPixel кітапханасы

#қосу

#ifdef _AVR_ #include // 16 МГц Adafruit Trinket үшін қажет #endif

// Arduino -дағы қандай түйреуіш NeoPixels -ке қосылған?

#3 PIN кодын анықтаңыз // Trinket немесе Gemma -де оны 1 -ге өзгертуді ұсыныңыз

// Arduino -ға қанша NeoPixels бекітілген?

#depine NUMPIXELS 166 // Танымал NeoPixel сақина өлшемі

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

#анықтау 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) {

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

} пиксель.шоу (); } if (sensorValue> 3) {for (int i = 29; i <47; i ++) {piksel.setPixelColor (i, 0, 155, 155);

}

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

}

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

}

пиксель.шоу (); } else {for (int i = 29; i <47; i ++) {piksel.setPixelColor (i, 0, 0, 0);

}

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

}

for (int i = 130; i <148; i ++) {piksel.setPixelColor (i, 0, 0, 0);} пиксель.шоу (); }}

Ұсынылған: