İçindekiler:
- Adım 1: Materyallerin Edinilmesi
- 2. Adım: Güç
- Adım 7: Yaşasın! Sen bittin! (Kod Hakkında Ekstralar için okumaya devam edin)
Video: Akıllı Telefon Kontrollü Bluetooth LED'leri (Canlı Müzik Senkronizasyonu ile): 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bir şeyler inşa etmeyi her zaman sevmişimdir, yeni üniversite yurdumun korkunç bir aydınlatmaya sahip olduğunu öğrendikten sonra, biraz renklendirmeye karar verdim.
***UYARI*** Bu projeyi benim kurulumumla aynı ölçekte kurarsanız, makul miktarda elektrik gücü ile çalışıyor olacaksınız. GÜVENLİ OLUN, sağduyunuzu kullanın ve emin değilseniz SORUN! Evinizi yakma riskini almayın.
Adım 1: Materyallerin Edinilmesi
Bu proje için ihtiyacınız olacak:
- Adreslenebilir WS2812B LED şerit(ler)i. 5V açık ara en yaygın tiptir ve bu projede çok tercih edilir. Bu proje RGBW için değil, RGB LED'ler için tasarlanmıştır. Adafruit'in NeoPixels'ini şiddetle tavsiye ederim. (60 LED başına ~25$)
- Bir CurieNano (hala satılmaktadır), bir Arduino 101 (üretilmiyor ancak kullandığım) veya BLE'ye erişebilen başka bir mikro denetleyici. (~35$)
- Bir akıllı telefon (hem Apple hem de Android çalışır)
- Bir güç kaynağı. Piyasadaki çoğu adreslenebilir LED'ler 5V'dir. Gereken amper, kurulumunuzun boyutuna bağlıdır*. (kurulumunuza bağlı olarak ~10-50$)
- Kablolama** (uygun 3 pinli veya 2 pinli JST konektörlerine ve Arduino pinlerine de ihtiyacınız olabilir) (~20-30$)
- 2.1x5.5mm varil jak konektörleri, onları burada bulabilirsiniz. (~$5)
- Küçük bir Phillips tornavida
- Havya ve Lehim (~20$)
- Çift taraflı montaj bandı (1/4 inç genişlik). Bunu kullanıyorum. (~10$)
- (Önerilen) Müzik senkronizasyonu için bir mikrofon. (Müzik senkronizasyonunun çalışması için bir tane olması gerekir) Adafruit'ten bir tane bulabilirsiniz. (~7$)
- (İsteğe bağlı) Bunun gibi bir Arduino vakası. (~10$)
- (İsteğe bağlı) en az 10 μF'lik bir kapasitör (Bu, güç kaynağınıza ilk kez güç verildiğinde voltaj yükselmelerine karşı koruma sağlar. Daha büyük, daha şık güç kaynaklarının bazılarının zaten yerleşik korumaya sahip olabileceğini unutmayın.) (~5 $)
Bu listedeki bağlantılı malzemelere bağlı kalmanızı şiddetle tavsiye ederim, çünkü onları her gün, aylarca hatasız bir şekilde kullandım - özellikle LED'ler. Aksi takdirde, beklenmedik hıçkırıklarla karşılaşabilir veya belirli belirli malzeme veya araçlardan yoksun olduğunuzu fark edebilirsiniz.
* Son derece küçük şeritler için (~30 Piksel veya daha az) veya Arduino bunları çalıştırmak için yeterli güce sahiptir ve bir güç kaynağına ihtiyacınız olmaz. (BU KILAVUZ İÇİN TAVSİYE EDİLMEZ. Küçük, adreslenebilir LED kurulumları oluşturmaya ilişkin birçok talimat kılavuzu vardır, bunlar sizin durumunuza daha özel olacaktır.)
Ancak çoğunuzun muhtemelen bir güç kaynağına ihtiyacı olacak. Hesaplama (Amper) = 0.075*(Piksel Sayısı) şeklindedir. Bu, yerleşik bir güvenlik payına sahiptir (tam çekişte güç kaynağınız ~%75 kapasitede çalışacaktır. Bu, güç kaynağınızın soğuk çalışmasını ve dolayısıyla uzun süre boyunca tutarlı bir şekilde çalışmasını sağlayacaktır). Bunun önemli ölçüde altına inmek aşırı ısınma ve hatta yangın riski taşır. Bazı güç kaynakları ayrıca kendi AC duvar fişinizi takmanızı gerektirir. Birden fazla full led makara kullanan ekranlar için power inject yapmanızı şiddetle tavsiye ederim. Bu, bir sonraki bölümde tartışılacaktır.
** Telinizi uygun şekilde boyutlandırın! ÖNCE GÜVENLİK Fazladan birkaç dolar harcamak evinizi kurtarabilir.
(Merak ediyorsanız, her biri iki adet 30A çıkışlı iki adet 5V güç kaynağı ve 12 gauge hoparlör kablosu kullanıyorum. Bu, LED şeridim boyunca dört noktaya yeterli gücü enjekte etmeme izin veriyor. 60 LED yoğunluğunda ~21 metre kullanıyorum. /metre.)
2. Adım: Güç
"yükleniyor="tembel"
Başlangıç noktalarında piksel numarasını soran iki mod vardır: mod 2 (Color Wipe) ve mod 12 (Music Sync). Çok sayıda LED'iniz varsa, başlangıç olarak tam olarak hangi pikseli istediğinizi saymak çok büyük bir acı, bu yüzden bir araç yaptım. BLYNK uygulamanızdaki mod menüsünün son öğesinde "Piksel Bulucu" adlı bir mod bulacaksınız. Bunu kullanmak için muhtemelen widget ayarlarınızı değiştirmeniz gerekecektir.
- İlk önce düzenleme modunda olduğunuzdan emin olun
- Kaydırıcıyı seçin
- Aradığınız piksel sayısı girilen parlaklık aralığında olacak şekilde parlaklık değerlerini değiştirin.
Bu Piksel Bulucu modunu kullandığınızda parlaklık değerinizin piksel sayısı Yeşil renkte yanar. Bu şekilde, istediğiniz konuma hızlıca kaydırabilir ve telefonunuzdaki piksel numarasını okuyabilirsiniz
Bunu Resimler [5 ve 6] ve [7 ve 8]'de görebilirsiniz. (Bu ekran görüntüsünde zeRGBra yerine Renk Kaydırıcılarını kullandığımı fark edebilirsiniz). Ayrıca ilk pikselin indeksinin 1 değil 0 olduğuna dikkat edin.
Bu, kalıplarınızı istediğiniz yere ayarlamanıza yardımcı olacaktır.
Bahsetmem gereken bir şey daha, Comet (mod 10) ve Music Sync (mod 12) modlarındaki "Parlaklık", "kuyrukların" uzunluğunu ayarlar. Kodun bu şekilde çalışması gerekiyor, çünkü "Parlaklık" bu modlarda gerçekten bir anlam ifade etmiyor.
Adım 7: Yaşasın! Sen bittin! (Kod Hakkında Ekstralar için okumaya devam edin)
LED'lerinizi kullanmak için:
- Arduino'nuzun menzilinde olun
- BLE simgesine dokunun
- Cihazınızı bulun (cihazAdı için yanıt verin) ve onu seçin
Artık uzaktan kumandanızı kullanabileceksiniz.
Git tüm sıkı çalışmanın tadını çıkar!
*******************************Gelişmiş (Kod Hakkında)*************** ********************
Kodu iyi yorumlamaya çalıştım, muhtemelen hiçbir şekilde optimize edilmedi, ancak 1200+ ışığımı yeterince hızlı çalıştırdığını biliyorum. İçindekiler, satır numarasına göre ayrılmış koda sahiptir.
Kodun modları ve kullanıcı arayüzünü içeren kısımları oldukça ayrılabilir, teknik olarak bluetooth'u kesebilir ve kablolu bir santral veya tüm modlar arasında geçiş yapan basit bir zamanlayıcı kullanabilirsiniz. Talimat vermek için gerçekten sadece cmdArr dizisini doldurmanız gerekiyor.
- Dizin 0, şeridin açık/kapalı olduğu hakkında bilgi depolar,
- Dizin 1, menüden mod numarasını saklar
- 2, 3 ve 4 dizinleri sırasıyla renk seçiciden R, G ve B değerlerini depolar.
- Dizin 5, yüzde parlaklığı depolar
- Diğer endeksler şu anda kullanılmıyor
Kodda, işlevin sadece "setPixelColor(…" olmasına rağmen) "SetPixelColorAdj(…" yazan birçok satır olduğunu fark etmişsinizdir. Bunun nedeni, LED şeridinin parçalarını haritalamak için kullanılan biraz fazla kod olmasıdır. Örneğin, iki ilmek yapmak için bir şerit kullanırsanız, ilmeklerin kendi içinde birleştiği yere kadar bir ara vererek kalıpları ele almak acı verici olacaktır. Bununla, LED şeridin dahili özelliğini yapay olarak sonuna kadar birleştirebilirsiniz. ve ayrıca ana döngüyü tekrar bir araya getirin, böylece kod içinde çalışmak sezgisel olur.
Ayrıca daha karmaşık modlardan bazılarının nasıl çalıştığının arkasında bir açıklama yapacağım. Bazıları (Rainbow, Color Wipe ve Fade [1, 2, 3]) örnek kod olarak NeoPixel Kitaplığında zaten bulunmaktadır.
- Lava, Canopy, Ocean [4, 5, 6] - Bu modlar, daha önce belirtildiği gibi kılavuz noktaları kullanır, her kılavuz noktası kendisine atanan bir bölge içinde rastgele bir renk alır. Lav çoğunlukla kırmızı, Canopy çoğunlukla yeşil ve Okyanus çoğunlukla mavidir. Soldurma modeli [3] zaten harika bir doğrusal solma algoritması sağlar. Bu, aradaki pikseller kullanılarak bir kılavuz noktasının renginden diğerine solarak yumuşak bir dalgalanma yaratacak şekilde yeniden tasarlanmıştır. Üç sönümleme dizisi, kılavuz noktaların (başlangıç, geçiş ve bitiş durumları) bir zaman sönümlemesinin adımlarını saklar. Kılavuz noktalar zamanla solduğunda, yanlarındaki pikseller de renklerini günceller. Bir zaman döngüsü tamamlandığında, henüz ulaşılan bitiş noktası yeni başlangıç noktası olur. Bu şekilde desen zamanla pürüzsüz kalır.
- Renk Dalgası [7] - Bu, önceki modlara benzer, ancak kılavuz noktaların renkleri farklı şekilde seçilir. Bir temel renge verilen ve zaman içinde renk çarkı çevresinde solan bir sapma vardır.
- Ateşböcekleri[8] - 2B dizi, seçilen 90 ateşböceği için konum ve yön kaydeder. Her zaman adımında bir ateş böceğinin sola mı, sağa mı yoksa hiç hareket etmeyeceğine karar verir. Genel parlaklıkları, bir solma, yavaşlama döngüsünü takip eder.
- Konfeti[9] - Benzer görünseler de burada ateş böceği parçalarını yeniden kullanamazsınız- bunun nedeni, renk kaymasını en iyi şekilde görmek için genel olarak tutarlı bir parlaklık tercih etmenizdir. Ancak fikir çok farklı değil. Tüm konfeti kıvılcımlarının 1/3'ünü her biri periyodun 1/3'lük bir kaymasıyla ayrılmış 3 eş-periyodik sinüs fonksiyonuna atayarak eşit aydınlatmayı sağladım.
- Comet[10] - Adafruit'in Tarayıcısına çok benzer, aradaki fark, yönün artık her seferinde rasgele oluşturulduğu ve değişmiyor, piksel etrafında hareket ettikçe renkte hafif bir değişiklik olması ve üzerinde daha "ateş" benzeri bir etki yaratmasıdır. kuyruk. Her güncellemede karartma çağrısı, desenin solmasını veya "kuyruğu"nu yaratan şeydir.
- Müzik Senkronizasyonu[12]- Hacme göre (A0'dan gelen voltaj) iki parametre hesaplanır: Bir renk ve uzunluk. Müzik senkronizasyonu daha sonra bir merkez renkten hesaplanan renge kaybolurken, aynı anda verilen uzunlukta siyaha döner. Ortadaki renk, renk tekerleğinin etrafında düzgün bir şekilde kaybolur, böylece hem gösterişli efektler hem de pürüzsüzlük elde edersiniz, böylece rahatsız edici olmaz.
Resim Kredisi
cdn.shopify.com/s/files/1/0176/3274/produc…
store-cdn.arduino.cc/usa/catalog/product/c…
cdn.mos.cms.futurecdn.net/aSDvUGkMEbyuB9qo…
images-na.ssl-images-amazon.com/images/I/6…
www.amazon.com/Speaker-GearIT-Meters-Theat…
www.powerstream.com/z/adapter-2-1-to-screw…
www.amazon.com/Hobbico-HCAR0776-Soldering-…
images-na.ssl-images-amazon.com/images/I/7…
cdn-shop.adafruit.com/970x728/1063-03.jpg
cdn-learn.adafruit.com/assets/assets/000/0…
www.adafruit.com/product/2561
www.adafruit.com/product/2964?length=1
cdn.sparkfun.com//assets/parts/4/6/8/4/102…
www.holidaycoro.com/v/vspfiles/assets/image…
www.circuitspecialists.eu/5-volt-enclosed-s…
d3vs3fai4o12t3.cloudfront.net/media/catalo…
Önerilen:
Ateş, Müzik ve Işık Senkronizasyonu: 10 Adım (Resimlerle)
Yangın, Müzik ve Işık Senkronizasyonu: Elektroniklerin Hastanelerde, Okullarda, Fabrikalarda Birçok Önemli Görev için Kullanıldığını Hepimiz Biliyoruz. Neden Onlarla Biraz Eğlenmiyorsunuz? Bu Derste Müziğe Tepki Veren Ateş ve Işıklar (Led'ler) Yapacağım, Müziği Biraz Daha İyi Hale Getireceğim
RGB Led Şerit Bluetooth Kontrol Cihazı V3 + Müzik Senkronizasyonu + Ortam Işığı Kontrolü: 6 Adım (Resimlerle)
RGB Led Şerit Bluetooth Kontrol Cihazı V3 + Müzik Senkronizasyonu + Ortam Işığı Kontrolü: Bu proje, telefonunuzla bluetooth üzerinden bir RGB led şeridi kontrol etmek için arduino kullanır. Rengi değiştirebilir, ışıkların müzikle senkronize olmasını sağlayabilir veya ortam aydınlatmasına göre otomatik olarak ayarlanmasını sağlayabilirsiniz
Bluetooth Akıllı Telefon Kontrollü Akıllı LED Lamba: 7 Adım
Bluetooth Akıllı Telefon Kontrollü Akıllı LED Lamba: Her zaman aydınlatma cihazlarımı kontrol etmeyi hayal ediyorum. Sonra biri inanılmaz renkli bir LED lamba yaptı. Geçenlerde Youtube'da Joseph Casha'nın bir LED Lambasına rastladım. Ondan ilham alarak, bağlantıyı korurken birkaç işlev eklemeye karar verdim
WiFi Üzerinden Blynk Uygulaması ile Akıllı Telefon Kontrollü Neopikseller (LED Şerit): 6 Adım
Akıllı Telefon Kontrollü Neopikseller (LED Şerit) WiFi Üzerinden Blynk Uygulaması ile: Bu projeyi, bir arkadaş evinde akıllı telefon kontrollü neopiksellerden ilham aldıktan sonra oluşturdum, ancak onunki dükkandan satın alındı. "Kendim yapmak ne kadar zor olabilir, hem de çok daha ucuza gelir!" diye düşündüm
Akıllı Telefon Kontrollü Akıllı Alışveriş Sepeti: 7 Adım
Akıllı Telefon Kontrollü Akıllı Alışveriş Sepeti: Alışveriş merkezlerini ziyaret etmek eğlenceli olabilir. Ancak Alışveriş Sepetini bir şeylerle doldururken sürüklemek, düpedüz can sıkıcı bir şey. O dar koridorlardan itip o keskin dönüşleri yapmanın acısı! İşte size (bir tür) teklif