Spisu treści:

Wearable Tech Final Project – kask DJ-a: 6 kroków
Wearable Tech Final Project – kask DJ-a: 6 kroków

Wideo: Wearable Tech Final Project – kask DJ-a: 6 kroków

Wideo: Wearable Tech Final Project – kask DJ-a: 6 kroków
Wideo: I wear the last one everyday... 👨🏼‍🚀 2024, Lipiec
Anonim
Wearable Tech Final Project - kask DJ-a
Wearable Tech Final Project - kask DJ-a

Celem tego projektu jest stworzenie kasku DJ-skiego z diodami LED reagującymi na muzykę, aby pokazać i zachwycić. Używamy adresowalnej taśmy LED z Amazon.com oraz kasku motocyklowego, Arduino uno i drutu.

Kieszonkowe dzieci

Materiały obejmują:

  • Adresowalna taśma LED
  • Kask motocyklowy
  • Arduino Uno
  • Przewody i lutownica

Krok 1: Jak diody LED reagują na dźwięk

W pierwszym kroku przetestujemy pasek LED pod kątem reakcji na dźwięk, używamy płytki dźwiękowej od Sparkfun i łączymy ją z Arduino za pomocą płytki stykowej i przewodu. Testując z oprogramowaniem Arduino, otrzymujemy dwa odczyty, które możemy wykorzystać. Amplituda dźwięku pochodzącego z portu „Koperta” oraz odczyt binarny 1/0 z portu „Brama”. Użyj tych zmiennych, aby odwzorować adresowalną taśmę led, wtedy "brama" jest na jednym, diody LED wyświetlają określony kolor, gdy koperta znajduje się powyżej pewnego poziomu, wyświetlają określony kolor. Zostanie dostarczony pełny kod.

Krok 2: Wytnij i przylutuj diody LED, aby ukształtować na kasku

Wytnij i przylutuj diody LED do kształtu na kasku
Wytnij i przylutuj diody LED do kształtu na kasku
Wytnij i przylutuj diody LED do kształtu na kasku
Wytnij i przylutuj diody LED do kształtu na kasku
Wytnij i przylutuj diody LED do kształtu na kasku
Wytnij i przylutuj diody LED do kształtu na kasku

W moim projekcie zdecydowałem się dodać diody LED do kasku w stylu X z dodatkowymi trójkątami na zewnątrz. Planuję, aby ten projekt działał lepiej ze sposobem, w jaki gra muzyka. Tak więc ten krok polega na przycięciu taśm LED na żądaną długość i przylutowaniu ich razem na znakach cięcia, aby uzyskać narożniki. Musiałem to zrobić około 10 razy i jest to bardzo czasochłonne, szczególnie w przypadku małych przewodów. To jest postęp na tym etapie

Krok 3: Podłącz i przetestuj diody LED na kasku

Podłącz i przetestuj diody LED na kasku
Podłącz i przetestuj diody LED na kasku
Podłącz i przetestuj diody LED na kasku
Podłącz i przetestuj diody LED na kasku

W tym kroku podłączyłem i przetestowałem diody LED do arduino, płyty dźwiękowej i wyciętych diod LED, aby upewnić się, że cięcia i lutowanie działają poprawnie

Krok 4: Bezpłatna elektronika z deski do krojenia chleba

Darmowa elektronika z deski do krojenia chleba
Darmowa elektronika z deski do krojenia chleba
Darmowa elektronika z deski do krojenia chleba
Darmowa elektronika z deski do krojenia chleba
Darmowa elektronika z deski do krojenia chleba
Darmowa elektronika z deski do krojenia chleba

W tym kroku skupiłem się na usunięciu całej elektroniki z płytki stykowej. Przylutowałem wszystkie przewody, które wymagały lutowania i przedłużyłem przewody kasku, aby były długie, dzięki czemu możesz nosić kask podłączony do Arduino. Najważniejszą rzeczą, której nie mogłem rozgryźć, było zewnętrzne zasilanie, wypróbowałem baterie w różnych konfiguracjach, ale nic nie dało mi pożądanego rezultatu, niektóre spowodowały, że światła zwariowały, a niektóre sprawiłyby, że miałyby różne kolory. Niestety może to wynikać z mojej znajomości obwodów, ale zdecydowałem się zachować zasilanie Arduino pochodzące z płyty pc. Płyta dźwiękowa jest zasilana z akumulatora i działa dobrze

Krok 5: Konfiguracja końcowa

Konfiguracja końcowa
Konfiguracja końcowa

w tym ostatnim kroku odczytałem wartości pochodzące z płyty dźwiękowej i zmodyfikowałem kod, aby pasował do nowych wartości, które zmieniły jeden, wszystko zostało zdjęte z płytki prototypowej. Przykleiłem paski LED do kasku, gdzie wcześniej były przyklejone taśmą i na koniec ponownie przetestowałem.

Krok 6: Kod (Arduino)

// Prosty szkic NeoPixel Ring (c) 2013 Shae Erisson

// Wydany na licencji GPLv3, aby pasował do reszty

// Biblioteka Adafruit NeoPixel

#włączać

#ifdef _AVR_ #include // Wymagane dla 16 MHz Trinket Adafruit #endif

// Który pin w Arduino jest podłączony do NeoPixels?

#define PIN 3 // W Trinket lub Gemma zasugeruj zmianę na 1

// Ile NeoPixeli jest podłączonych do Arduino?

#define NUMPIXELS 166 // Popularny rozmiar pierścienia NeoPixel

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

#define DELAYVAL 500 // Czas (w milisekundach) przerwy między pikselami

pusta konfiguracja () {

#jeśli zdefiniowano(_AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1); #endif // KONIEC kodu specyficznego dla Trinket.

piksele.początek(); // INICJALIZUJ obiekt paska NeoPixel (WYMAGANE)

Serial.początek(9600); }

pusta pętla () {

int sensorValue = analogRead(A1);

int sensorValue2 = digitalRead(7); Serial.println(WartośćCzujnika); //opóźnienie(5); //piksele.clear(); // Ustaw wszystkie kolory pikseli na „wyłączone”

if (WartośćCzujnika2 == 1){

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

} piksele.pokaż(); } if (sensorValue > 3){ for(int i=29; i<47; i++) { pikseli.setPixelColor(i, 0, 155, 155);

}

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

}

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

}

piksele.pokaż(); } else{ for(int i=29; i<47; i++) { pikseli.setPixelColor(i, 0, 0, 0);

}

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

}

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

Zalecana: