İçindekiler:

Müzikle Tepki Veren Light Show Ceket: 7 Adım (Resimli)
Müzikle Tepki Veren Light Show Ceket: 7 Adım (Resimli)

Video: Müzikle Tepki Veren Light Show Ceket: 7 Adım (Resimli)

Video: Müzikle Tepki Veren Light Show Ceket: 7 Adım (Resimli)
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Temmuz
Anonim
Müzikle Tepki Veren Light Show Ceket
Müzikle Tepki Veren Light Show Ceket

Bu eğitim, York Üniversitesi'nde Müzik Teknolojisi ve Uygulamalı Elektronik bölümündeki son yıl projemin bir parçası olarak hazırlanmıştır. Elektronikle ilgilenen müzisyenlere yöneliktir. Bitmiş ürün, müziğe uygun bir ışık şovu üretebilen bir ceketin arkasındaki bir LED matris olacaktır. Bu, Pure Data ve Arduino kullanılarak ses girişlerini analiz ederek yapılacaktır. Ceket, bir anahtarla kontrol edilebilen iki ayara sahip olacaktır. Bir ayar, LED'leri müziğin genliğine göre kontrol edecek, diğeri ise LED'lerin birer birer yanıp sönmesini ve perdeye göre renk değiştirmesini sağlayacaktır.

Nasıl Çalışacak

Bu cihaz iki ayrı devreden oluşacaktır. Biri, doğrudan bir bilgisayara bağlı bir Arduino Mega'yı temel alacak. Diğer devre bir LilyPad Arduino'yu temel alacak ve tamamen ceketin içinde bulunacak ve 9V pil ile güçlendirilecek. Bu devrelerin her ikisi de XBee modüllerini kullanarak kablosuz olarak birbirleriyle iletişim kuracaktır. Ses sinyalleri, bilgisayarın dahili mikrofonu tarafından alınacak ve amplitüd ve frekans verilerini elde etmek için Pure Data'da analiz edilecektir. Bu bilgi bir MIDI giriş devresi kullanılarak Arduino Mega'ya aktarılacak ve bu daha sonra XBees kullanılarak LilyPad'e iletilecektir. LilyPad daha sonra ceket üzerindeki LED'lerin nasıl tepki vereceğini belirleyecektir.

Neye ihtiyacınız olacak

Mega Devre için

  • Arduino Mega 2560
  • XBee Explorer Düzenlemeli
  • XBee 1mW İzleme Anteni - Seri 1
  • Mega için Prototip Kalkanı
  • USB Tip A'dan B'ye
  • USB'den MIDI Kablosuna
  • MIDI Soketi
  • 1 x 220Ω Direnç
  • 1 x 270Ω Direnç
  • 1 x 1N4148 Diyot
  • 1 x 6N138 Optokuplör

LilyPad Devresi için

  • LilyPad Arduino 328 Ana Kart
  • LilyPad XBee Koparma Kartı
  • XBee 1mW İzleme Anteni - Seri 1
  • LilyPad FTDI Temel Koparma Kartı
  • 72 x LilyPad LED'leri (beyaz, mavi, kırmızı, sarı, yeşil, pembe ve mor dahil olmak üzere tüm renkler mevcuttur)
  • LilyPad Sürgülü Anahtar
  • USB 2.0 A-Erkek - Mini-B Kablosu
  • 9V Pil
  • 9V Pil Klipsi

Başka

  • Ceket
  • Pure Data ve Arduino IDE'nin kurulu olduğu bilgisayar
  • Ekipman Teli
  • Lehimleme Ekipmanları
  • Tel kesiciler
  • Tel Sıyırıcılar
  • Büyük gözlü iğne
  • Konu
  • İletken Konu
  • Makas
  • şerit metre
  • Kumaş Tutkalı veya Şeffaf Tırnak Cilası
  • Tebeşir veya Beyaz Eyeliner
  • Astar veya eski bir tişört için kumaş
  • cırt cırt
  • Matkap (muhtemelen)
  • Standart LED (test için)
  • Breadboard (test için)
  • Başka bir 220Ω direnç (test için)
  • Multimetre (test için)

Bu projenin maliyeti büyük ölçüde yukarıdaki ekipmanın ne kadarına sahip olduğunuza bağlı olacaktır. Ancak 150-200 TL arasında olması muhtemeldir.

Kısa bir not - LilyPad panoları doğrudan tekstillere dikilmek üzere tasarlanmıştır ve bu nedenle 9V'luk bir pil klipsini birine lehimlemek sorunlara neden olabilir. Bağlantı hassas olabilir ve kolayca kırılabilir. Kullanmayı tercih edeceğiniz AAA veya LiPo piller için özel olarak tasarlanmış LilyPad kartları alabilirsiniz. Bununla birlikte, pil ömrü AAA'lardan daha uzun olduğu ve Üniversitemin LiPo pil kullanımı konusunda kısıtlamaları olduğu için yine de 9V rotasını kullanmayı seçtim.

Adım 1: MIDI Giriş Devresini Oluşturma

MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma

Öncelikle MIDI Giriş devresini ele alalım. Bunun Arduino Mega'ya yerleştirilecek olan prototipleme panosunda yapılması gerekecek. Bu, Pure Data yamasından Mega'ya 'COMMUNICATION RX0' pini aracılığıyla MIDI mesajları göndermek için kullanılacaktır. Bir devre şeması ve bir fotoğraf için yukarıya bakın. Prototipleme kartınıza bağlı olarak, düzeniniz biraz farklı olabilir ama MIDI soketini sol alt köşeye yerleştirmeyi seçtim. Sokete oturtmak için siper üzerindeki delikleri büyütmek için burada bir matkap kullanılması gerekebilir. Fotoğraftaki kırmızı kablolar 5V'a, kahverengi kablolar toprağa bağlı, siyah kablo 6N138'de pim 3'e, mavi kablo 6N138'de pim 2'ye ve sarı kablolar RX0'a bağlı toplu iğne. Daha sonra XBee'ye yer açmak için prototipleme panosunun sağ tarafında boşluk bırakılır. Muhtemelen tahtadaki raylarda molalar yapılması gerekecektir. Bu örnek için 6N138'deki pimler arasında yapılması gerekiyordu.

MIDI Giriş Devresini Test Etme

Devreyi test etmek için USB Tip A - B kablosunu kullanarak aşağıdaki kodu Arduino Mega'ya yükleyin. RX veya TX pinlerine herhangi bir şey bağlıysa kod yüklenemeyeceğinden, bunu yaptığınızda blendajın takılı olmadığından emin olun. Ayrıca kod, indirmeniz gerekebilecek MIDI.h kitaplığını aşağıdaki bağlantıda bulabilirsiniz.

MIDI.h

Ardından, kalkanı megaya takın ve MIDI - USB kablosu aracılığıyla bilgisayarınızdaki başka bir USB bağlantı noktasına bağlayın. Kullanmanız gereken MIDI ucu 'out' olarak etiketlenecektir. Pim 2'yi 220Ω dirence bağlayan bir devre tahtası üzerinde basit bir devre oluşturun ve ardından bunu standart bir LED'in anotuna bağlayın. LED'lerin katotunu toprağa bağlayın.

Ardından, her ikisi de sol girişi yoluyla bir noteout nesnesine bağlı bir [60 100] mesajı ve bir [0 0] mesajı olan basit bir Pure Data yaması oluşturun. MIDI ayarlarını açarak ve çıkış cihazını değiştirerek bu yamanın MIDI Giriş devresine bağlı olduğundan emin olun. Bu yoksa, Pure Data'yı açmadan önce MIDI devresini bilgisayarınıza bağladığınızdan emin olun. Şimdi devreniz doğru ise [60 100] mesajına basıldığında led yanmalı, [0 0] mesajına basıldığında sönmelidir.

Adım 2: LED Matrisinin Tasarlanması

LED Matrisinin Tasarlanması
LED Matrisinin Tasarlanması
LED Matrisinin Tasarlanması
LED Matrisinin Tasarlanması
LED Matrisinin Tasarlanması
LED Matrisinin Tasarlanması

Ardından, ceketin arkası için LED matrisi dikkate alınmalıdır. Bu, doğrudan ana LilyPad kartına bağlanacaktır. Normalde, bir mikro denetleyici kullanarak LED'leri kontrol etmek için her biri kendi pinlerine atanırdı. Ancak, sadece bir Arduino LilyPad ile bu çok sınırlayıcı olacaktır. Toplamda, LilyPad 12 dijital pin ve 6 analog, yani potansiyel olarak 18 çıkış pinine sahiptir. Ancak, bu pinlerden biri daha sonra bir sürgülü anahtarı kontrol etmek için kullanılacağından, geriye sadece 17 tane kalacaktır.

Bu durumda, LilyPad'in kontrol pinlerinin potansiyelini en üst düzeye çıkarmak için çoğullama adı verilen bir teknik kullanılabilir. Bu, iki olgudan yararlanır:

  • LED'ler diyotlardır ve akımın yalnızca bir yönde akmasına izin verir.
  • İnsan gözleri ve beyni, görüntüleri ışığın seyahat edebileceğinden çok daha yavaş işler, bu nedenle LED'ler yeterince hızlı yanıp sönerse, fark etmeyiz. Bu, “Vizyonun Kalıcılığı” olarak bilinen bir kavramdır.

Bu tekniği kullanarak kontrol edilebilen LED sayısı (n/2) x (n-(n/2))'dir, burada n, mevcut kontrol pinlerinin sayısıdır. Bu nedenle, mevcut 17 pin ile 9x8 matrisinde 72 LED'i kontrol etmek mümkün olmalıdır.

Her satır ve sütunun bağlanması gereken pinler için öneriler de dahil olmak üzere, 9x8'lik bir matristeki LED'lerin düzeni için bir diyagram yukarıda görülebilir. Satırların ve sütunların birbirine değmemesine dikkat etmek önemlidir. Ayrıca, her bir LED'in 100Ω'luk bir dirençle kendi dahili yapısına sahip olması nedeniyle direnç gerekmez.

Dikişe başlamadan önce devrenin ceket üzerindeki yerleşimini planlamalısınız. Buradan başlamak için iyi bir yer, LED'lerin nereye gideceğini ceketin üzerinde küçük noktalarla işaretlemek, eşit aralıklarla yerleştirildiğinden emin olmak için bir mezura kullanmaktır. Siyah deri bir ceket için beyaz eyeliner çok işe yarar ve hata yapıldığında kolayca silinebilir. Ancak ceketinizin malzemesine ve rengine bağlı olarak tebeşir gibi diğer ortamlar da işe yarayabilir. Kullandığım LED renklerinin düzeni, daha sonra verilen kodla çalışacak olan yukarıda görülebilir. Bunun kodda değiştirilmesi gerekmesine rağmen, farklı bir düzen kullanabilirsiniz.

Düşünülmesi gereken bir sonraki şey, LilyPad, LilyPad XBee ve güç kaynağının nereye gideceğidir. Kullandığım ceket için en mantıklı ve göze batmayan yer ceketin arka kısmı, alt kısmı ve iç astarı gibi görünüyordu. Bunun nedeni, burada kullanıcının kolları tarafından vurulma ihtimalinin düşük olması ve LED matrisine kolayca erişebilmesidir. Ayrıca kullandığım ceketin alt kısmı bol olduğu için yine de rahattı.

Adım 3: LED Matrisinin Dikilmesi

LED Matrisinin Dikilmesi
LED Matrisinin Dikilmesi
LED Matrisinin Dikilmesi
LED Matrisinin Dikilmesi
LED Matrisinin Dikilmesi
LED Matrisinin Dikilmesi

Bu noktada dikişe başlayabilirsiniz. İletken iplikle çalışmak zor olabilir, bu nedenle işte birkaç faydalı ipucu:

  • Kumaş tutkalı kullanarak bir bileşeni yerine yapıştırmak, dikmeyi çok daha kolay hale getirecektir.
  • Farklı dikiş türleri farklı estetik ve işlevsel özelliklere sahip olacağından, başlamadan önce bunlara göz atmaya değer. Bununla birlikte, temel bir koşu dikişi bu proje için iyi olmalıdır.
  • Normalden daha "yaylı" olduğu için, iletken iplikle düğümler oldukça kolay çözülme eğilimindedir. Bunun için bir çözüm, onları kapatmak için az miktarda şeffaf oje veya kumaş yapıştırıcısı kullanmaktır. Kuyruklarını kesmeden önce kurumaları için zaman tanıyın.
  • Devre bileşenlerine bağlantılar oluştururken veya iki iletken iplik hattını birleştirirken, iyi bir mekanik ve elektriksel bağlantının yapıldığından emin olmak için bunları birden çok kez dikmek iyi bir fikirdir.
  • İğnenizin keskin ve büyük bir göze sahip olduğundan emin olun. Ceketten geçmek zor olabilir ve iletken iplik normalden daha kalındır.
  • İplikteki gevşek tüylere dikkat edin. Bunlar, diğer dikiş hatlarına temas ederse devrede kısa devreler oluşturabilir. Bunlar önemli bir sorun haline gelirse, test yapıldıktan ve her şey kesinlikle doğru şekilde çalıştığında, tüm çizgiler şeffaf tırnak cilası veya kumaş yapıştırıcısı ile kapatılabilir.

Dikişe başlamak için iyi bir yer sıralardır. Onları olabildiğince düz hale getirmek için, bir cetvel kullanarak dikmek için soluk çizgiler çizebilirsiniz. Bunları diktikten sonra sütunlara geçin. Bir sıraya her ulaşıldığında büyük özen gösterilmesi gerekecektir, çünkü ikisinin geçmemesi esastır. Bu, yukarıdaki fotoğrafta görüldüğü gibi, bu bağlantı için ceketin iç kısmındaki sütun için dikiş oluşturularak başarılabilir. Tüm satırları ve sütunları tamamladığınızda, kısa devre olmadığını kontrol etmek için bir multimetre kullanılabilir.

Memnun kaldığınızda, ceketin en sağındaki sütun için LED'leri dikmeye başlayın. Her anotun kendi satırına ve her katotun soldaki sütuna bağlı olduğundan emin olun. Ardından, LilyPad Arduino'yu bu sütunun aşağısında bir yerde kumaş yapıştırıcı kullanarak yerine yerleştirin ve FTDI koparma panosu pinlerinin aşağı baktığından emin olun. LilyPad'in 11. pimini 1. sıraya, 12. pimi 2. sıraya vb. A5 pimi 9. sıraya dikin. Ardından pim 10'u en sağdaki sütuna dikin. Bu ilk sütunu test etmek için aşağıdaki kodu kullanabilirsiniz. Kodu yükleyin ve FTDI devre kartı ve USB 2.0 A-Erkek - Mini-B kablosunu kullanarak bilgisayarınıza bağlayarak LilyPad'i çalıştırın.

LilyPad'i taktığınızda doğru bağlantı noktası mevcut değilse, aşağıdaki bağlantıdan bir FTDI sürücüsü yüklemeniz gerekebilir.

FTDI Sürücü Kurulumu

Bu ilk LED sütunu yandığında, gerisini ceketin üzerine dikmenin zamanı geldi. Bu oldukça zaman alıcı bir süreçtir ve bu nedenle muhtemelen birkaç gün içinde ara vermek en iyisidir. Devam ederken her sütunu test ettiğinizden emin olun. Bunu, yukarıdaki kodu, test etmek istediğiniz sütunun pininin kurulumda bir çıkış olarak bildirilmesi ve ardından döngüde DÜŞÜK olarak ayarlanması için uyarlayarak yapabilirsiniz. Diğer kolon pinlerinin HIGH olarak ayarlandığından emin olun, çünkü bu onların kapatılmasını sağlayacaktır.

4. Adım: Anahtar Ekleme

Anahtar Ekleme
Anahtar Ekleme

Ardından, ceket üzerindeki ayarları değiştirmek için kullanılacak bir anahtar ekleyebilirsiniz. Ceketin iç kısmına LilyPad Arduino kartının altına dikilmesi gerekiyor. İletken iplik kullanılarak, "kapalı" etiketli uç toprağa bağlanmalı ve "açık" etiketli uç pim 2'ye bağlanmalıdır.

Aşağıdaki kodu kullanarak anahtarı test edebilirsiniz. Bu çok basittir ve anahtar açıksa sağ alttaki LED'i açar ve anahtar kapalıysa kapatır.

Adım 5: Cihazı Kablosuz Yapmak

Cihazı Kablosuz Yapmak
Cihazı Kablosuz Yapmak
Cihazı Kablosuz Yapmak
Cihazı Kablosuz Yapmak
Cihazı Kablosuz Yapmak
Cihazı Kablosuz Yapmak

LilyPad XBee ve XBee Explorer'ı Hazırlama

LilyPad XBee'yi 6 pimli dik açılı Erkek Başlığa lehimleyerek yapılandırma için hazırlayın. Bu daha sonra LilyPad FTDI Basic Breakout kartı ve USB Mini kablosu aracılığıyla bir bilgisayara bağlanmasına izin verecektir. Ayrıca 9V pil klipsini kırmızı kablo “+” pime ve siyah kablo “-” pime gidecek şekilde LilyPad XBee'ye lehimleyin.

Explorer kartını Arduino Mega için prototip kalkanına bağlayın. Explorer kartındaki 5V ve Toprak, Mega'da 5V'a ve Toprak'a bağlanmaya ihtiyaç duyacaktır, Explorer'daki çıkış pininin Mega'da RX1'e bağlanması gerekecek ve Explorer'daki girişin Mega'da TX1'e bağlanması gerekecektir.

XBees'i Yapılandırma

Daha sonra XBees'in yapılandırılması gerekir. Öncelikle aşağıdaki linkten ulaşabileceğiniz CoolTerm yazılımını ücretsiz olarak yüklemeniz gerekecektir.

CoolTerm Yazılımı

İki XBee arasında bir şekilde ayrım yaptığınızdan emin olun, çünkü onları karıştırmamanız önemlidir.

İlk olarak, bilgisayar için XBee'yi yapılandırın. LilyPad XBee Breakout kartına takın ve bunu FTDI temel devre kartı ve USB Mini kablosu kullanarak bilgisayara bağlayın. CoolTerm'i açın ve Seçenekler'de doğru seri bağlantı noktasını seçin. Göremiyorsanız, 'Seri Bağlantı Noktalarını Yeniden Tara'ya basmayı deneyin. Ardından, baud hızının 9600 olarak ayarlandığından emin olun, Yerel Eko'yu açın ve Anahtar Öykünmesini CR'ye ayarlayın. CoolTerm artık XBee'ye bağlanabilir.

XBee'yi komut moduna geçirmek için ana pencereye "+++" yazın. Geri dönüşe basmayın. Bu, AT komutları kullanılarak yapılandırılmasına izin verecektir. Bu başarılı olduysa, çok kısa bir aradan sonra bir “OK” mesajı yanıtı gelmelidir. Bir sonraki satıra 30 saniyeden fazla bir gecikme olursa, komut modundan çıkılır ve bunun tekrarlanması gerekir. PAN ID, MY ID, Destination ID'yi ayarlamak ve değişiklikleri kaydetmek için çok sayıda AT komutunun girilmesi gerekir. Bu komutların her birinin ardından Return'e basılması gerekir ve bunlar yukarıdaki tabloda görülebilir. Bu XBee bilgisayarı için tamamlandıktan sonra, bağlantısının kesilmesi ve aynı işlemin XBee ceketi için yapılması gerekir.

Sondaki değer olmadan her AT komutunu yazarak yeni XBee ayarlarını kontrol edebilirsiniz. Örneğin, “ATID” yazıp return tuşuna basarsanız, “1234” yankılanmalıdır.

XBees'i test etme

Bu noktada, LilyPad XBee'yi LilyPad Arduino'nun yanındaki ceketin üzerine dikin. İletken iplik ile aşağıdaki bağlantıların yapılması gerekir:

  • LilyPad XBee'de 3,3V, LilyPad'de '+'
  • LilyPad XBee'de Topraklama, LilyPad'de Topraklama
  • LilyPad'de RX XBee'den LilyPad'de TX'e
  • LilyPad XBee'de TX'den LilyPad'de RX'e

Artık cihaz, XBees'in doğru çalıştığından emin olmak için test edilebilir. Aşağıdaki 'Wireless_Test_Mega' adlı kodun Arduino Mega'ya yüklenmesi gerekiyor ve asıl amacı daha önce oluşturulan basit Pure Data yamasından MIDI mesajlarını almak ve XBee aracılığıyla farklı değerler iletmektir. 60 perdeli bir MIDI notası alınırsa, 'a' mesajı iletilecektir. Alternatif olarak, bir not mesajı alınırsa, 'b' iletilecektir.

Buna ek olarak aşağıdaki 'Wireless_Test_LilyPad' adlı kodun da LilyPad'e yüklenmesi gerekmektedir. Bu, Mega'dan mesajları XBees aracılığıyla alır ve buna göre sağ alt LED'i kontrol eder. Mega tarafından 60 perdelik bir MIDI notu alındığı anlamına gelen 'a' mesajı alınırsa, LED yanar. Öte yandan, 'a' alınmazsa, LED sönecektir.

Kod her iki karta da yüklendikten sonra, kalkanın Mega'ya yeniden takıldığından ve bilgisayara her iki kabloyla da bağlı olduğundan emin olun. XBee bilgisayarını Explorer panosuna yerleştirin. Ardından, FTDI Breakout kartının kılıfla bağlantısının kesildiğinden emin olun ve XBee kılıfını LilyPad XBee'ye takın. 9V pili bağlayın ve Pure Data'daki farklı mesajlara basmayı deneyin. Ceket üzerindeki sağ alt LED'in açılıp kapanması gerekir.

Adım 6: Son Dokunuşlar

Son dokunuşlar
Son dokunuşlar
Son dokunuşlar
Son dokunuşlar
Son dokunuşlar
Son dokunuşlar

Kod ve Saf Veri Yaması

Ceketin kablosuz olarak çalıştığından memnun olduğunuzda, aşağıdaki 'MegaCode' taslağını Arduino Mega'ya ve 'LilyPadCode' taslağını LilyPad'e yükleyin. DSP'nin açık olduğundan ve ses girişinin bilgisayarınızın dahili mikrofonuna ayarlandığından emin olarak Pure Data yamasını açın. Biraz müzik çalmayı ve anahtarı hareket ettirmeyi deneyin. LED'lerin sese ne kadar veya az tepki verdiğine bağlı olarak Pure Data'daki eşikleri biraz ayarlamanız gerekebilir.

Yeni Astar Ekleme

Son olarak, ceketi daha estetik ve giyilmesi daha rahat hale getirmek için, dikişi ve bileşenleri örtmek için ceketin içine başka bir astar eklenebilir. Bu, herhangi bir değişiklik yapılması gerektiğinde devreye kolay erişim sağlamak için cırt cırt kullanılarak yapılmalıdır.

Her şeyden önce, 'ilmek' şeritlerini (yumuşak kısım) ceketin iç tarafına, her iki taraftan üstten ve alttan dikin. Alt kısmı serbest bırakmak iyi bir fikirdir çünkü bu, bileşenlere hava girmesine izin verecektir. Ardından, aynı boyutta bir kumaş parçası kesin ve üstten ve alttan her iki taraftan cırt cırtlı 'kanca' şeritlerini buna dikin. Ayrıca cırt cırt ile aynı tarafta ve en uygun yerde pilin oturabileceği bir cep dikin. Örnekler için yukarıdaki resimlere bakın.

Adım 7: İşiniz Bitti

Kablosuz Light Show Jacket'ınız artık tamamlanmış olmalı ve sese başarılı bir şekilde tepki vermeli! Bir ayar, bir genlik çubuğu gibi bir efekt oluşturmalı ve diğerinde, perdeye bağlı olarak renkleriyle müziğe parıldayan ayrı LED'ler olmalıdır. Video örnekleri için yukarıya bakın. Merak ettiyseniz, renk ve perde, sadece tonlamaya dayalı Gül Haç Düzeni ile ilişkilidir. Umarım bu projeden hoşlanmışsınızdır!

Önerilen: