İçindekiler:

Giyilebilir Teknoloji Final Projesi - DJ Kaskı: 6 Adım
Giyilebilir Teknoloji Final Projesi - DJ Kaskı: 6 Adım

Video: Giyilebilir Teknoloji Final Projesi - DJ Kaskı: 6 Adım

Video: Giyilebilir Teknoloji Final Projesi - DJ Kaskı: 6 Adım
Video: UFACIK KUTUYA NELER SIĞDIRMIŞLAR! DJI POCKET 2 (Creator Combo) KUTU AÇILIŞI & VİDEO PERFORMANSI 2024, Temmuz
Anonim
Giyilebilir Teknoloji Final Projesi - DJ Kaskı
Giyilebilir Teknoloji Final Projesi - DJ Kaskı

Bu projenin amacı, şov ve wow faktörü için müziğe tepki veren LED'li bir DJ kaskı yapmaktır. Amazon.com'dan adreslenebilir bir LED şeridin yanı sıra bir motosiklet kaskı, bir Arduino uno ve tel kullanıyoruz.

Gereçler

Malzemeler şunları içerir:

  • Adreslenebilir LED şerit
  • Motorsiklet kaskı
  • Arduino Uno'su
  • Teller ve havya

Adım 1: LED'lerin Sese Tepki Vermesini Sağlamak

İlk adım olarak LED şeridin sese tepki vermesini test edeceğiz, Sparkfun'dan ses kartını kullanıyoruz ve bir breadboard ve kablo kullanarak Arduino'ya bağlıyoruz. Arduino yazılımıyla test ederek, kullanabileceğimiz iki okuma elde ederiz. "Zarf" bağlantı noktasından gelen sesin genliği ve "kapı" bağlantı noktasından okunan ikili 1/0. Adreslenebilir led şeridi eşleştirmek için bu değişkenleri kullanın, ardından "geçit" birdir, LED'ler belirli bir rengi gösterir, Zarf belirli bir seviyenin üzerindeyken belirli bir rengi gösterir. Tam kod verilecektir.

Adım 2: Kask Üzerinde Şekillendirmek için LED'leri Kesip Lehimleyin

LED'leri Kask Üzerinde Şekillendirmek için Kes ve Lehimle
LED'leri Kask Üzerinde Şekillendirmek için Kes ve Lehimle
LED'leri Kask Üzerinde Şekillendirmek için Kes ve Lehimle
LED'leri Kask Üzerinde Şekillendirmek için Kes ve Lehimle
LED'leri Kask Üzerinde Şekillendirmek İçin Kes ve Lehimle
LED'leri Kask Üzerinde Şekillendirmek İçin Kes ve Lehimle

Projemde, kaska LED'leri, dışarıda ekstra üçgenlerle X tarzında eklemeye karar verdim, bu tasarımın müziğin çalma şekliyle daha iyi çalışmasını planlıyorum. Dolayısıyla bu adım, LED şeritlerini istenen uzunluklarda kesmek ve köşeleri oluşturmak için bunları kesim işaretlerinde lehimlemekle ilgilidir. Bunu yaklaşık 10 kez yapmak zorunda kaldım ve özellikle küçük kablolarla uğraşırken çok zaman alıyor. Bu adımdaki ilerleme bu

Adım 3: Kasktaki LED'leri Kablolayın ve Test Edin

Kasktaki LED'leri Kablolayın ve Test Edin
Kasktaki LED'leri Kablolayın ve Test Edin
Kasktaki LED'leri Kablolayın ve Test Edin
Kasktaki LED'leri Kablolayın ve Test Edin

Bu adımda, kesimlerin ve lehimlemenin doğru çalıştığından emin olmak için LED'leri arduino'ya, ses kartına ve kesim LED'lerine bağladım ve test ettim.

Adım 4: Breadboard'dan Ücretsiz Elektronik

Breadboard'dan Ücretsiz Elektronik
Breadboard'dan Ücretsiz Elektronik
Breadboard'dan Ücretsiz Elektronik
Breadboard'dan Ücretsiz Elektronik
Breadboard'dan Ücretsiz Elektronik
Breadboard'dan Ücretsiz Elektronik

Bu adımda tüm elektronik aksamları devre tahtasından çıkarmaya odaklandım. Lehimlenmesi gereken tüm telleri lehimledim ve kask tellerini Arduino'ya bağlı kaskı takabilmeniz için uzun olacak şekilde uzattım. Çözemediğim en önemli şey harici güçtü, farklı konfigürasyonlarda piller denedim ama hiçbir şey bana istediğim sonucu vermedi, bazıları ışıkları çıldırtır, bazıları ise farklı renklerde yapardı. Maalesef bu benim devre bilgimden kaynaklanıyor olabilir ama Arduino'ya gelen gücü pc kartından tutmayı seçtim. Ses kartı bir pil takımıyla çalışır ve bu iyi çalışır

Adım 5: Son Yapılandırma

Son Yapılandırma
Son Yapılandırma

Bu son adım için, ses kartından gelen değerleri okudum ve kodu, devre tahtasından her şeyi değiştiren yeni değerlerle eşleşecek şekilde değiştirdim. LED şeritleri daha önce bantlanmış oldukları kaska yapıştırdım ve sonunda tekrar test ettim.

Adım 6: Kod (Arduino)

// NeoPixel Ring basit çizimi (c) 2013 Shae Erisson

// Geri kalanıyla eşleşmesi için GPLv3 lisansı altında yayınlandı

// Adafruit NeoPixel kitaplığı

#Dahil etmek

#ifdef _AVR_ #include // 16 MHz Adafruit Biblo için gereklidir #endif

// Arduino'daki hangi pin NeoPixels'e bağlı?

#define PIN 3 // Biblo veya Gemma'da bunu 1 olarak değiştirmenizi öneririz

// Arduino'ya kaç NeoPiksel bağlı?

#define NUMPIXELS 166 // Popüler NeoPixel halka boyutu

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

#define DELAYVAL 500 // Pikseller arasında duraklama süresi (milisaniye cinsinden)

geçersiz kurulum() {

#if tanımlı(_AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1); #endif // Bibloya özel kodun sonu.

piksel.begin(); // NeoPixel şerit nesnesini BAŞLATIN (GEREKLİ)

Seri.başla(9600); }

boşluk döngüsü () {

int sensorValue = analogRead(A1);

int sensorValue2 = digitalRead(7); Serial.println(sensorValue); //gecikme(5); //pikseller.temizle(); // Tüm piksel renklerini 'kapalı' olarak ayarla

if (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++) { piksel.setPixelColor(i, 15, 0, 50); } } ////////////////////////// else{ for(int i=0; i<28; i++) { piksel.setPixelColor(ben, 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++) { piksel.setPixelColor(i, 0, 0, 0); } } ////////////////////////// if (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);

} piksel.göster(); } 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);

}

piksel.göster(); } 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);} piksel.göster(); } }

Önerilen: