Isi kandungan:

Projek Akhir Teknologi Wearable - Helmet DJ: 6 Langkah
Projek Akhir Teknologi Wearable - Helmet DJ: 6 Langkah

Video: Projek Akhir Teknologi Wearable - Helmet DJ: 6 Langkah

Video: Projek Akhir Teknologi Wearable - Helmet DJ: 6 Langkah
Video: How To Take The Best Photo GoPro Hero 9 2024, November
Anonim
Projek Akhir Teknologi Wearable - Helmet DJ
Projek Akhir Teknologi Wearable - Helmet DJ

Matlamat projek ini adalah untuk membuat topi keledar DJ dengan LED yang reaktif terhadap muzik untuk faktor pertunjukan dan wow. Kami menggunakan jalur LED yang dapat dialamatkan dari Amazon.com serta helmet motosikal, undu Arduino dan wayar.

Bekalan

Bahan merangkumi:

  • Jalur LED yang boleh dialamatkan
  • Helmet Motosikal
  • Arduino Uno
  • Wayar dan besi pematerian

Langkah 1: Mendapatkan LED untuk Beraksi kepada Bunyi

Untuk langkah pertama kita akan menguji jalur LED untuk bertindak balas terhadap bunyi, kita menggunakan papan suara dari Sparkfun dan menghubungkannya ke Arduino menggunakan papan roti dan wayar. Menguji dengan perisian Arduino, kami mendapat dua bacaan yang dapat kami gunakan. Amplitud suara yang berasal dari port "Sampul surat" dan bacaan perduaan 1/0 dari port "gerbang". Gunakan pemboleh ubah ini untuk memetakan ke jalur dipimpin yang dapat dialamatkan, kemudian "gerbang" berada pada satu, LEDS menampilkan warna tertentu, ketika Sampul surat berada di atas tingkat tertentu, tampilkan warna tertentu. Kod penuh akan diberikan.

Langkah 2: Potong dan Solder LEDS untuk Membentuk Helmet

Potong dan Pateri LED untuk Membentuk Helmet
Potong dan Pateri LED untuk Membentuk Helmet
Potong dan Pateri LED untuk Membentuk Helmet
Potong dan Pateri LED untuk Membentuk Helmet
Potong dan Pateri LED untuk Membentuk Helmet
Potong dan Pateri LED untuk Membentuk Helmet

Pada projek saya, saya memutuskan untuk menambahkan LED ke topi keledar dengan cara X dengan segitiga tambahan di bahagian luar, saya merancang untuk menjadikan reka bentuk itu berfungsi lebih baik dengan cara muzik dimainkan. Jadi langkah ini adalah mengenai memotong jalur LED ke panjang yang diinginkan dan menyatukannya bersama pada tanda potong untuk membuat sudut. Saya terpaksa melakukan ini kira-kira 10 kali dan sangat memakan masa terutama ketika berhadapan dengan wayar kecil. Inilah kemajuan pada langkah ini

Langkah 3: Kawat dan Uji LED pada Helmet

Kawat dan Uji LED pada Helmet
Kawat dan Uji LED pada Helmet
Kawat dan Uji LED pada Helmet
Kawat dan Uji LED pada Helmet

Pada langkah ini saya memasang kabel dan menguji LED ke arduino, papan suara dan LED yang dipotong untuk memastikan pemotongan dan pematerian berfungsi dengan betul

Langkah 4: Elektronik Percuma Dari Breadboard

Elektronik Percuma Dari Papan Roti
Elektronik Percuma Dari Papan Roti
Elektronik Percuma Dari Breadboard
Elektronik Percuma Dari Breadboard
Elektronik Percuma Dari Papan Roti
Elektronik Percuma Dari Papan Roti

Pada langkah ini, saya memfokuskan untuk mengeluarkan semua elektronik dari papan roti. Saya menyolder semua wayar yang perlu disolder dan memanjangkan wayar helmet agar panjang sehingga anda dapat memakai helmet yang dilekatkan pada Arduino. Perkara paling penting yang tidak dapat saya ketahui ialah kuasa luaran, saya mencuba bateri dalam konfigurasi yang berbeza tetapi tidak ada yang memberikan hasil yang saya perlukan, ada yang membuat lampu menjadi gila dan ada yang menjadikannya berbeza. Malangnya ini mungkin disebabkan oleh pengetahuan saya mengenai litar tetapi saya memilih untuk terus menggunakan Arduino dari papan komputer. Papan suara dikuasakan oleh pek bateri dan berfungsi dengan baik

Langkah 5: Konfigurasi Akhir

Konfigurasi Akhir
Konfigurasi Akhir

untuk langkah terakhir ini, saya membaca nilai-nilai yang berasal dari papan suara dan mengubah kodnya agar sesuai dengan nilai-nilai baru yang mengubah satu semuanya dilepaskan dari papan roti. Saya menempelkan jalur LED ke topi keledar di mana sebelum mereka dilekatkan dan akhirnya saya menguji lagi.

Langkah 6: Kod (Arduino)

// Sketsa ringkas NeoPixel Ring (c) 2013 Shae Erisson

// Dikeluarkan di bawah lesen GPLv3 agar sesuai dengan yang lain

// Perpustakaan Adafruit NeoPixel

#sertakan

#ifdef _AVR_ #include // Diperlukan untuk 16 MHz Adafruit Trinket #endif

// Pin mana di Arduino yang disambungkan ke NeoPixels?

#define PIN 3 // Pada Trinket atau Gemma, cadangkan ubah ini menjadi 1

// Berapa banyak NeoPixels yang dilekatkan pada Arduino?

#define NUMPIXELS 166 // Saiz cincin NeoPixel yang popular

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

#define DELAYVAL 500 // Masa (dalam milisaat) untuk berhenti sebentar antara piksel

batal persediaan () {

#jika ditakrifkan (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (jam_div_1); #endif // TAMAT kod khusus perhiasan.

piksel.begin (); // MEMULAKAN objek jalur NeoPixel (DIPERLUKAN)

Serial.begin (9600); }

gelung kosong () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // kelewatan (5); //pixels.clear (); // Tetapkan semua warna piksel ke 'mati'

jika (sensorValue2 == 1) {

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

}

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

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

}

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

}

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

}

piksel.show (); } lain {untuk (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

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

}

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

Disyorkan: