Ses Reaktif Yıldırım ile Bulut Lamba Nasıl Oluşturulur

  • Mark Lucas
  • 1
  • 4931
  • 611
reklâm

Birkaç ay önce, 3000 dolarlık bir gökgürültüsü ve yıldırım lambası lambası yapımcı topluluğuna yayıldı. Şaşırtıcı derecede güzel bir ışıktı, ancak fiyat etiketi, akıl sağlığı bozulmadan herkesin erişemeyeceği bir yerde kaldı. Bugün yapacağımız şey tam olarak aynı değil - bir sanat eseri yerine daha pratik bir şey yapıyoruz, ama çok daha serin ve daha özelleştirilebilir olacak.

Odanızda kullanmak isteyeceğiniz muhtemelen muhtemelen iyi bir çift hoparlörünüz olduğu varsayımıyla konuşmacıları atlamayı seçtim ve açıkçası bir hoparlöre lamba koymak biraz garip. Bunun yerine, yıldırımın gürültülü seslere otomatik olarak tepki vermesini sağlayacak bir mikrofon ekleyeceğim - ya gerçek bir fırtınadan ya da PC'nizden veya müzik setinizden çalınan bir müzik parçası.

Ayrıca tam RGB Neopixel LED'ler (WS2812B) iplikçik kullanacağız, böylece beyaz dışındaki renkleri çoğaltabilir ve her pikseli kontrol edebiliriz.

Uyarı: Bu projede kullandığım güç kaynağında, canlı bir AC kablosuna bağlanan vidalı terminaller var. Bir fişi kablolamaktan emin değilseniz, tamamen kapalı bir güç kaynağı satın aldığınızdan emin olun. En azından PSU’yu güvenli bir proje kutusu içine almanız gerekecek..

Adım 0: Giriş

İşte bitmiş projenin bir demo videosu. Standart yıldırımdan trippy asit bulutuna ve uzaktan kumandadan seçilebilen renk solma havası lambasına kadar birkaç farklı mod uyguladım..

Gerekli olan tüm kod ve kütüphaneler bu Github deposundan indirilebilir..

1. Adım: İhtiyacınız Olacak

  • WS2812B iplikçik, tipik olarak 5 metreye 50 dolar civarındadır. Başka tür bir Neopixel teliniz varsa endişelenmeyin, neredeyse kesinlikle FastLED arayüzü tarafından desteklenir, ancak kablolama işleminiz farklı olabilir (örneğin, sinyale ek olarak bir senkronizasyon hattı isteyebilirsiniz)..
  • 5V, 10A + güç kaynağı - Her biri 11 dolar için 15A birim satın aldım. 120-240V AC giriş alıyorlar ve tüm piksellerimizi tam parlaklıkta ve Arduino'da kullanmaya yetecek kadar yüksek 5V çıkış üretiyorlar.
  • Elektrik kablolaması, fiş ve hat anahtarı
  • Proje kapsamı
  • İki Arduino. 10 dolarlık Funduino klonları iyi durumda. İkincisi uzaktan kumanda için gereklidir, ilki ana mantığı ve LED'leri kontrol ederken.
  • İki 2.2k (veya bununla ilgili) Ohm dirençleri - kesin değer çok önemli değil, yaklaşık 1.5k ila 47k arası çalışmalı.
  • maketler
  • TSOP4838 IR alıcısı
  • IR uzaktan kumanda - Her biri için yaklaşık 2 ABD doları tutarında toplu olarak satın aldım, ancak herhangi bir uzaktan kumanda kod değişiklikleriyle çalışmalı.
  • Büyük mikrofon modülü
  • Tabanınızı kesmek için bir MDF ağacı hurdası ve bir testere.
  • Polistiren ambalaj malzemesi / kutu ekler.
  • Polipropilen pamuklu yastık dolması. Birkaç korkunç eski yastıktan fazlasıyla yeterince çektim. Bu bir seçenek değilse, yaklaşık 10 dolarlık bir miktar yeni satın alabilmeniz veya daha ucuz pamuk yünü kullanabilmelisiniz. Her ikisiyle de denedim - pamuk yünü onu çıkarmak zorunda kalmak için daha fazla çalışmaya ihtiyaç duyuyordu ve kabarık değildi, ama bir tutam, işe yarayacak.
  • Bulutu asmak için zincir ve kancalar - 5kg'dan fazla tutmalı.
  • Düşük sıcaklık ayarlı tutkal tabancası
  • Püskürtme tutkalı - bununla doldurmayı bulutunuza yapıştırmak daha kolay, ancak bir tutkal tabancası da işe yarayabilir.

Toplam maliyet, araçlar dahil değil 100 dolar civarında, ancak bunun çoğu evin etrafından fırlattı. Elektronik bileşenlerin tümü yaygın olarak mevcuttur; mikrofon bir sensör kitinde bulunabilir veya ayrı olarak satın alınabilir.

Adım 2: Tabanı Kes

Hurda bir MDF parçasından kaba bir tabanı bir testere ile kesin - kesin şekli açıkça size bağlıdır, ama bir sebepten dolayı bir bulut beynimde barbunya şeklindedir. Asmak için bazı kancaları buna bağlayacağız, fakat aksi halde üzerine inşa etmek için sağlam bir taban sağlar. Merkezi alan elektronikler, PSU ve zinciri elden çıkarmak için ayrılmış olacak, bu nedenle en azından etrafınızdaki bazı kancalarla proje alanınızı yerleştirmek için yeterli alana sahip olduğunuzdan emin olun.

Adım 3: Polistiren Katmanı

Bu en zor ve yaratıcı adım, ama biz gerçekten sağlam bir şey yaratıyoruz. kinda sorta LED şeridinin üzerine yapıştırmak için bulut şeklindedir. Tutkal tabancanızdaki düşük ısı ayarını kullanarak büyük miktarda polistiren contasını tabana (ve altına) yapıştırın. Düşük bir ayarınız yoksa, ısı tabancasını kapatın ve tutkallamadan önce biraz soğumasını bekleyin. Sıcaklık çok yüksekse, paketleme malzemesinde eriyeceksiniz.

Birbirine yapıştırmadan önce her bir parçanın sağlam olduğundan emin olun ve yeterince yapışmamak.

Yine, elektronik, zincir ve kancalara uyacak kadar bulut içinde yeterince büyük bir boşluk bırakmayı unutmayın.

Adım 4: 3B Bulut Şekli Kazın

Kaba bir 3D bulut şekli elde edinceye kadar köşelerinizi yuvarlayarak ve gereksiz materyalleri keserek bulutunuzu temizlemek için bir bıçak kullanın. Bunun ne kadar zor olduğu önemli değil, çünkü daha sonra doldurmadaki her şeyi kapsayacağız - hataları kolayca gizleyebilirsiniz.

Adım 5: Kancaları Düzeltin, Düzenleyin

Son olarak, bulut boşluğunun her bir köşesinden MDF tabanına üç veya dört kanca sabitleyin. MDF'nin doğrudan vidalanması zor olduğundan, küçük bir pilot deliği açmanız gerekecektir..

Aynı zamanda, homojen bir renk temeli sağlamak için her şeyi basit bir beyaz boya spreyi boyadım..

Adım 6: LED Şeritleri Tutkal

LED'lere tutkal uygulamaya başlamadan önce, ya yeni bir şeritten başlayın ya da toplamda kaç tane LED olduğunu hesaplayın - programlama adımında daha sonra kaç tane kullandığınızı hesaplamanız gerekir. Bulutunuzun kenarına küçük bir delik açın ve LED şeridinizin başlangıcını oluşturan tellerin içinden geçirerek bulut boşluğuna sokun. Doğru uçtan başladığınıza çok dikkat edin - LED şeritleri yöne duyarlıdır, bu nedenle sinyal oklarının boşluktan uzakta olduğundan emin olun.

Yavaş çalışarak, şeridi alt kısmı örtmek için tabana aşağıya çekmeden önce, LED piksellerini polistiren tabanına dairesel bir şekilde yapıştırın. Yine - burada mükemmel olmanıza gerek yok, çünkü bir kez her şeyi dağıttık ve onu doldurma ile boğduktan sonra, her şey yine de çok etkileyici görünüyor.

Ana gövdeyi iki kez çevreleyen ve alt tarafındaki tek bir LED dizesini kullandığım toplam 85 LED veya 2.5 m'nin üzerinde kullandım..

Adım 7: Kablo Şeması

Kablolama karmaşık, ancak kolayca bölümlere ayrılmıştır.

İlk önce, güç kaynağını, tercihen ayrı bir proje durumunda, kablolu ve güvenli hale getirin. Canlı AC kablolarının güvenliği konusunda size ders vermeyeceğim, bu yüzden bu bölümü halledebileceğinizi ve bundan 5V ve GND hattınızın olduğunu varsayıyorum..

ÖNEMLİ: Arduino'yu programlarken ve test ederken, güç kaynağınızdaki 5V, Arduino'dan (GND'ler bağlı olsa da) izole kalmalıdır - Arduino USB üzerinden sağlanan 5V'yi kullanırken sadece LED şeridine güç vermelidir. Programlama bittiğinde, USB'nin bağlantısı kesilmeli ve artık Arduino'ya 5V vermeyecek - bu noktada, 5V'yi beslemenizden breadboard'un sol tarafındaki 5V rayına bağlamanız gerekir.

Her Arduino'dan toprağı ve 5V pimleri, breadboard'un sol yan raylarına bağlayarak başlayın. Sahip olduğumuz harici PSU veya USB’lerden birine takılı olsun aynı güç kaynağını paylaşırlar.

Ardından, I2C kablolama bölümünü tamamlayın - bu iki Arduino'muzun iletişim kurmasını sağlayan şeydir. Her iki Arduinos'tan A4 pimi, breadboard üzerinde tek bir sıraya alın, sonra bu sıradan bir 2.2k rezistörü 5V raya bağlayın. Onları ayrı bir sıraya bağlayarak A5 için tekrarlayın, başka bir 2.2k dirençle tekrar 5V.

Daha sonra IR alıcısını bağlayın - başka bir modeliniz varsa pin yapılandırmasını kontrol edin, ancak temel olarak sinyal pimi bir Arduino'da D11'e gitmelidir. Yükle thundercloud_ir_receiver.ino Bu Arduino’ya dönün (burada tüm kodlar), sonra artık ihtiyacımız olmadığından USB'yi çıkarın.

Diğer Arduino’da Veri girişi LED şeridin başından D6'ya bir sinyal pimi. LED'lerden gelen GND, tüm Arduino'larla ortak olmalı, ancak bu noktada 5V doğrudan PSU'dan gelecek.

Ayrıca bu Arduino'da, mikrofon modülünü A0'a takın. Diğerini yükle thundercloud.ino eskiz ve hata ayıklama sırasında USB'yi şimdilik takılı tutun. Değiştirerek başlayın NUM_LEDS uygun şekilde değişken.

Adım 8: Doldurma Üzerine Yapıştırıcı

Son bir adım olarak, doldurma işleminizi yapıştırın. Burada özel bir teknik yok - buluta bir tutkal tabakasıyla püskürtün ve bir avuç doluyu doldurun. Yüzey alanını arttırmak için zaten uğraştıysanız doldurma ile çalışmak daha kolaydır..

Benim kullandığım uzaktan kumandayı kullandıysanız, STROBE düğmesi onu ses reaktif bulut moduna geçirir; FLASH, trippy renk modudur ve FADE yavaş sönen renk modudur..

Adım 9: Kod Açıklaması

Neden iki Arduino? Hem kızılötesi alıcı programlaması hem de WS2818B piksel sürücü kütüphanesi zamanlamaya karşı çok hassastır - zamanlama geciktiğinde, IR sinyali bozulur. Her devreye kendi mikro denetleyicisi vererek ve I2C protokolü üzerinden konuşmalarına izin vererek, zamanlamanın her biri için mükemmel olmasını sağlayabiliriz. Ayrıca, kendi mikro denetleyicileri yerleşik ayrı IR modülleri de bulabilirsiniz, ancak araştırmam, bunların aslında basit bir Arduino klonu ve IR LED'den daha pahalı olduğunu buldu. Thundercloud_ir_receiever açıklama gerektirmemelidir, ancak önce I2C temellerini okumak isteyebilirsiniz.

Ana thundercloud kontrol ünitesinde, ON (yıldırım efektleri ses etkin değil), CLOUD (yıldırım yalnızca ses etkindir), ACID (bulut trippy renkleri gösterir) veya basit tek renk modları gibi farklı çalışma modlarını tanımlarız. Yeni bir mod tanımlamak için enum önce konsolu açın ve eşlemek için bir uzaktan kumanda düğmesi bulun - her uzaktan basışta bir hata ayıklama satırı yazdırılmalıdır. İçinde receiveEvent () yöntemi, bu tuşa basmaları bir moda eşleriz, bu yüzden oraya ek bir anahtar deyimi ekleyin. Sonunda, ana döngü () Bu mod seçimlerini farklı görüntüleme fonksiyonlarına yönlendirdiğimiz yöntem.

Mikrofon yumuşatma kodu aslen Adafruit'ten geliyor - İhtiyaçlarımızı basitleştirdim ve ortalamadan daha yüksek bir ses duyulduğunda bir tetikleyici eklendi.

Adım 10: Yıldırım Modları

Şimşek görüntüler üç farklı birleştirir “türleri” yeterince gerçekçi bir şey elde etmek için yıldırım veya en azından göze hoş gelen. İlk tip ) (Çatlak, Her LED kısa bir süre için 10-100 ms arasında açık. İkinci tip haddeleme () - Her bir LED'in etkinleştirme şansı% 10'dur ve tüm döngü her döngü arasında 5-100 ms gecikmeyle 2-10 kez tekrarlanır. Üçüncü tip thunderburst (), Her biri 10-20 LED arasında, şeridin iki farklı bölümünü seçen bu bölümleri 3-6 defa kısaca yanıp söner. Tek tek LED'lerin nasıl etkinleştirildiğini görmek için bu yöntemleri ayrıntılı olarak inceleyin - HSV renk tekerleği boyunca kullanılır (yani beyaz H = 0, S = 0, V = 255). Yeni yıldırım ekranları ayarlamanızı veya yazmanızı, ardından yorumlarınızı paylaşmanızı tavsiye ederim..

Yıldırım her tetiklendiğinde veya döngü çalıştırıldığında, bulut üç yıldırım türü arasında rasgele seçim yapar. Sonunda, bir ) (Reset yöntem tüm ışıkları kapatır, aksi takdirde “hatırlamak” önceki durumları.

Sorularınız veya sorunlarınız - lütfen yorumlarda bizimle iletişime geçin; size yardımcı olmak için elimden geleni yapacağım. Bir Github hesabınız varsa, bunun yerine sorun izleyiciye böcek ya da sorun göndermekten çekinmeyin. Herhangi bir değişiklik yaptıysanız veya bazı yeni aydınlatma işlevleri yazdıysanız, lütfen Gist veya Pastebin'deki kodunuzun bağlantısını paylaşın.




Steve Watson ([email protected])
21.02.22 01:15
Hi, We'd like to introduce to you our explainer video service, which we feel can benefit your site tr.unedose.fr. Check out some of our existing videos here: https://www.youtube.com/watch?v=zvGF7uRfH04 https://www.youtube.com/watch?v=cZPsp217Iik https://www.youtube.com/watch?v=JHfnqS2zpU8 All of our videos are in a similar animated format as the above examples, and we have voice over artists with US/UK/Australian/Canadian accents. We can also produce voice overs in languages other than English. They can show a solution to a problem or simply promote one of your products or services. They are concise, can be uploaded to video sites such as YouTube, and can be embedded into your website or featured on landing pages. Our prices are as follows depending on video length: Up to 1 minute = $239 1-2 minutes = $339 2-3 minutes = $439 *All prices above are in USD and include an engaging, captivating video with full script and voice-over. If this is something you would like to discuss further, don't hesitate to reply. Kind Regards, Steve
Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.