İçindekiler:

Arduino Tabanlı Işık Gösterisi: 7 Adım
Arduino Tabanlı Işık Gösterisi: 7 Adım

Video: Arduino Tabanlı Işık Gösterisi: 7 Adım

Video: Arduino Tabanlı Işık Gösterisi: 7 Adım
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Temmuz
Anonim
Image
Image
Arduino Tabanlı Işık Gösterisi
Arduino Tabanlı Işık Gösterisi
Arduino Tabanlı Işık Gösterisi
Arduino Tabanlı Işık Gösterisi
Arduino Tabanlı Işık Gösterisi
Arduino Tabanlı Işık Gösterisi

Makers Rock, Album Art Collab'a giriş olarak Arduino kontrollü bir ışık gösterisi yaptım. Bunun için aşağıdaki bağlantıdan daha fazla bilgi edinebilirsiniz: Makers Rock. Seçtiğim kapak Judas Priest - Painkiller albümünden.

Tüm parça, ahşap bir çerçeve içine alınmış bir ışık gösterisidir ve albüm resmi, ışığın parlaması için üstüne konur.

Adım 1: Ahşap Çerçeveyi Hazırlayın

Ahşap Çerçeveyi Hazırlayın
Ahşap Çerçeveyi Hazırlayın
Ahşap Çerçeveyi Hazırlayın
Ahşap Çerçeveyi Hazırlayın
Ahşap Çerçeveyi Hazırlayın
Ahşap Çerçeveyi Hazırlayın

Çerçeveyi veya muhafazayı istediğiniz şekilde oluşturabilirsiniz. Ben ahşabı sadece basit aletlerle çalışmak kolay olduğu için seçiyorum.

Çerçeveyi kurtardığım bazı palet tahtalarından yaptım. 30 cm uzunluğundaki levhaların 4 adet temiz parçasını derzler için 45 derecelik gönyeleri işaretleyerek işaretledim.

Tüm kesimi dekupaj testeremi kullanarak yaptım ve sorunsuz çalıştı. Bir gönye testere veya masa testeresine erişiminiz varsa, bunları kullanabilir ve çok daha iyi sonuçlar alabilirsiniz. Birleştirmeler mükemmel değildi ama bant zımparamla parçaları güzelce oturtabildim.

Test montajı sırasında çok geniş olduklarını ve muhafazanın içinde çok yer kaplayacaklarını fark ettim ve bunları 2 cm genişliğinde kesmeye karar verdim. Yine çizgiyi kesmemeye dikkat ederek dekupaj testeremi kullandım.

Gönye bağlantıların kendi başlarına çok fazla desteği yoktu, bu yüzden köşelere yapıştırmak için küçük üçgen parçalar kestim. Burada yapılacak bir sürü daha iyi seçenek olduğundan eminim ama şu an aklımdaki en iyi fikir buydu.

Kelepçe görevi görmesi ve ahşap tutkalı sertleşirken yerinde tutması için gönyeleri derzlerin ortasında ahşap tutkalı ve uçlarında CA tutkalı ile birleştirdim. Küçük destek üçgenleri, işlemi daha hızlı hale getirmek için sadece CA yapıştırıcı kullanılarak yerine yapıştırıldı.

Adım 2: Devrenin Prototipini Yapın

Devre Prototipi
Devre Prototipi
Devre Prototipi
Devre Prototipi
Devre Prototipi
Devre Prototipi

İçerideki ışık şovunun elektroniği, odadaki sesleri dinleyen bozuk bir kulaklıktan mikrofonlu bir Arduino Uno panosundan oluşur ve daha sonra içindeki 5 adet led şeritten birini aydınlatarak toplam ses hacmini yansıtır.

Devre birbirinden bağımsız iki parçadan oluşmaktadır. İlk kısım tek transistörlü amplifikatörlü mikrofon, ikinci kısım ise LED şeritler için sürücülerdir. LED şerit 12V üzerinde çalışırken Arduino ve mikrofon amplifikatörü 5V üzerinde çalıştığından onlara ihtiyacımız var.

Mikrofon, Arduino'daki 5V çıkışına 10k'lık bir direnç üzerinden ve bir kapasitör aracılığıyla transistörün tabanına bağlanır. Transistör daha sonra sinyali 2.5V orta seviye ile yükseltir, böylece Arduino'daki analog giriş A0'dan alabiliriz.

LED'ler için 12V'u açmak için transistörlerin tabanı 10k'lık bir direnç üzerinden dijital bir çıkışa bağlanır ve aynı devre 5 defa tekrarlanır. Transistörleri kullanarak kurtulabilmek için bölümlerin her birinde sadece 3 LED açıyorum. Projeyi daha uzun şeritler kullanacak şekilde değiştirmek isterseniz, bazı MOSFET'leri kullanmanız gerekecektir.

Karmaşık bir devre gibi görünse de aslında çok basit bir devredir. Hepsini bir breadboard üzerinde test ettim ve beklendiği gibi çalıştığından emin olduktan sonra, doğrudan Arduino Uno'ya monte edilecek bir kalkan oluşturdum.

Şematik şu adreste mevcuttur:https://easyeda.com/bkolicoski/Arduino_Light_Show-506c62032b0646ae8e1636519d0d17fc

Adım 3: Arduino Kalkanını Oluşturun

Arduino Kalkanını Oluşturun
Arduino Kalkanını Oluşturun
Arduino Kalkanını Oluşturun
Arduino Kalkanını Oluşturun
Arduino Kalkanını Oluşturun
Arduino Kalkanını Oluşturun

Devreden memnun kaldığımda, bir perfboard üzerinde Arduino için bir kalkan oluşturdum. Proje için ekteki videoda tam yapım sürecini görebilirsiniz.

Adım 4: Arduino'yu Programlayın

Arduino'yu programlayın
Arduino'yu programlayın

Projenin ana yıldızı Arduino'ya programlanan koddur. Mikrofondan gelen ses seviyelerini analiz etmenin ve onları müziği takip eden görünür ışığa dönüştürmenin ağır yükünü taşıyan şey budur. Kodun tamamını GitHub sayfamdan indirebilir ve bunun bağlantısını video açıklamasında elektronik devre şemasıyla birlikte bulabilirsiniz.

Özetle, kodun 3 ana bölümü vardır: analiz edilecek bir müzik örneğini almak, ses seviyelerini belirlemek ve ardından hesaplanan değere göre LED'lere çıkışı kontrol etmek. Bunun bazılarına roket bilimi gibi gelebileceğini biliyorum ama bir şeyleri kavradıktan sonra gerçekten çok kolay.

Başlangıçtaki çizim, kullanacağımız tüm değişkenleri ve sabitleri tanımlar. Daha kolay anlayabilmeniz için her birine bir açıklama sağladığımdan emin oldum. Bundan sonra, hata ayıklama amacıyla seri iletişimi başlatan, tepeden tepeye ses algılama için kullanacağımız diziyi boşaltan ve başlatan ve LED'ler için çıkışları tanımlayan kurulum fonksiyonumuz var.

Kodun döngü bölümünde, önce sesin tepeden tepeye ses seviyesini algılayabilmemiz için örneklemeye başlıyoruz. Normal bir ses dalgasında, herhangi bir gürültünün olmaması, amplifikatörün üretebileceği minimum ve maksimum voltajın orta noktasında bir seviyedir. Bizim durumumuzda bu 2.5V.

Bir ses algılandığında, yüksek sesleri algılamak için yukarı ve aşağı hareket eden bir dalga elde ederiz, o dalgadaki birleşik genlikle ilgileniriz. Bu nedenle, hareketli bir dalga yerine, yüksek ve düşük hacimli sesleri kolayca ayırt etmek için 0'dan maksimuma kadar olan değerleri bir tür ters çevrilmiş durumda eşleriz.

Kodun sonraki iki bölümü tam olarak bunu yapıyor, ilk önce tepeden tepeye genliği ölçüyoruz ve o dönem için o tepenin maksimumunu belirliyoruz. Mikrofonun çalışma şekli, ondan ne kadar uzak olursanız, o kadar az ses alabilir, bu nedenle ölçülen sinyali yükseltecek veya azaltacak ve farklı seviyelerde aynı tepkiyi verecek bir faktör hesaplamamız gerekiyor.

Son bir adım olarak, mikrofondan ölçülen değeri az önce hesapladığımız faktörle çarpıyoruz ve sonuca göre belirli LED'leri açıyoruz.

Pano şemaya göre lehimlendikten sonra, gerçek albüm resmini hazırlamaya devam etmeden önce test ettiğimden emin oldum.

GitHub'daki kod:https://github.com/bkolicoski/arduino-light-show

Adım 5: Ön Kapağı Hazırlayın

Ön Kapağı Hazırlayın
Ön Kapağı Hazırlayın
Ön Kapağı Hazırlayın
Ön Kapağı Hazırlayın
Ön Kapağı Hazırlayın
Ön Kapağı Hazırlayın

Parçanın önü için bir şeffaf akrilik levha kullandım. Basılı çizimi boyutlarına göre kestim ve akrilik üzerine koruyucu kapak olmadan yüzeye bir kat şeffaf ahşap tutkalı sürdüm. Mod Podge'a veya bazı şeffaf akrilik jel ortamına erişiminiz varsa, ahşap tutkalı yerine bunu kullanmak daha iyidir, ancak neredeyse aynı şekilde çalışır.

Resmi uygularken işin püf noktası kağıtta kırışmamak için benim yaptığım gibi çok fazla yapıştırıcı kullanmamak. Bu durumda daha az iyidir, ancak yüzey tamamen kaplanmalıdır. Yapıştırıcı hala ıslakken, resim zar zor görülebilir ancak tamamen kuruduktan sonra şeffaf hale gelecektir.

Çerçeveyi 24 saat kürlenmeye bıraktım ve ardından Arduino'nun çerçevenin içindeki yerleşimini anladım. Sanat eserinin duvara asılmasını istiyorum ve güç için fişe takılması gerektiğinden, kartı alt tarafa monte ettim, böylece güç adaptörü kablosu duvar prizinden çıkacak.

Malzemenin çoğunu çıkarmak için bir demir testeresi kullandım ve sonra bir keski ve bir eğe ile yoluma devam ettim. El yönlendiriciniz varsa, bu keskiden çok daha hızlı olacaktır. Ayrıca mikrofonun dışarı çıkıp odadaki sesleri alabilmesi için çerçeveye bir delik açtım.

Bitirmeden önce, çerçeveyi 240 kum zımpara kağıdına kadar zımparaladım ve ardından bir kat ahşap vernik uyguladım. Lekeyi silmek için bir bez kullandım ve bir süre sonra sildim.

Adım 6: Işık Gösterisini Birleştirin

Işık Gösterisini Birleştirin
Işık Gösterisini Birleştirin
Işık Gösterisini Birleştirin
Işık Gösterisini Birleştirin
Işık Gösterisini Birleştirin
Işık Gösterisini Birleştirin

Çerçevenin kalınlığı tüm elektronik aksamları yerinde tutmak için yeterli değildi, bu yüzden çerçevenin her iki tarafına iki kat 5 mm siyah XPS köpük yalıtımını kesip yapıştırdım. Tüm elektronik aksamlara yer açmanın yanı sıra, köpük parçaya yanlardan güzel katmanlı bir görünüm kazandırdı.

Tüm elektronik bileşenler, mikrofondan başlayarak ve ardından ana Arduino kartından başlayarak sıcak tutkal kullanılarak çerçevenin içine monte edilir.

Arka tarafta, kenarlardan biri beyaz olduğu için bir destek tahtası ve bir reflektör görevi görecek 3 mm yüksek yoğunluklu sunta levhayı işaretleyip kestim. Arkadan takmak için küçük 3,5 x 16 mm vidalar kullandım. Daha sonra LED şeritlerindeki yapıştırıcının arkasını çıkardım ve bunları suntaya yapıştırdım.

Akrilik ön kısım da aynı 16 mm vidalarla tutturulmuştur ancak vida deliklerini ön tarafa tam oturması için 6 mm'lik bir matkap ucuyla havşalıyorum. Bir yönlendiriciniz varsa, çerçeveye bir oluk yapabilir ve akriliği bu şekilde kapatabilirsiniz.

Sonunda, akrilik levhadan diğer koruyucu tabakayı çıkarmak ve hala işlevsel olduğundan emin olmak için hepsini test etmek meselesiydi. Duvara asmak için arkadaki iki tarak arasına bir parça ip ekledim.

Adım 7: Arduino Işık Gösterinizin Keyfini Çıkarın

Arduino Işık Gösterinizin Keyfini Çıkarın
Arduino Işık Gösterinizin Keyfini Çıkarın

Sonuç olarak, bunun nasıl olduğu konusunda çok memnunum. Uygun ahşap işleme aletlerine sahip olsaydım muhafaza biraz daha iyi olabilirdi ama yine de güzel bir duvar dekoru. Onu inşa ettiğimden beri çocuklarımla çok eğlendik ama artık yeni bir ev bulmanın zamanı geldi.

Yaptığım parçayı hediye edeceğim, bu yüzden nasıl kazanabileceğinizi öğrenmek için lütfen YouTube'daki videoyu izleyin.

YouTube'da Kodu Tadın

Projenin videosunu oluşturun

Projeyi beğendiyseniz, lütfen çalışmamı Patreon'da desteklemeyi düşünün!https://www.patreon.com/taste_the_code

Şematik şu adreste mevcuttur:https://easyeda.com/bkolicoski/Arduino_Light_Show-506c62032b0646ae8e1636519d0d17fc

GitHub'daki kod:https://github.com/bkolicoski/arduino-light-show

Önerilen: