İçindekiler:

Akıllı Telefon Kontrollü Bluetooth LED'leri (Canlı Müzik Senkronizasyonu ile): 7 Adım
Akıllı Telefon Kontrollü Bluetooth LED'leri (Canlı Müzik Senkronizasyonu ile): 7 Adım

Video: Akıllı Telefon Kontrollü Bluetooth LED'leri (Canlı Müzik Senkronizasyonu ile): 7 Adım

Video: Akıllı Telefon Kontrollü Bluetooth LED'leri (Canlı Müzik Senkronizasyonu ile): 7 Adım
Video: Telefon ekranı televizyona yansıtmak 2024, Kasım
Anonim
Image
Image
Malzemelerin Edinilmesi
Malzemelerin Edinilmesi

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

Malzemelerin Edinilmesi
Malzemelerin Edinilmesi
Malzemelerin Edinilmesi
Malzemelerin Edinilmesi

Bu proje için ihtiyacınız olacak:

  1. 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$)
  2. Bir CurieNano (hala satılmaktadır), bir Arduino 101 (üretilmiyor ancak kullandığım) veya BLE'ye erişebilen başka bir mikro denetleyici. (~35$)
  3. Bir akıllı telefon (hem Apple hem de Android çalışır)
  4. 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$)
  5. Kablolama** (uygun 3 pinli veya 2 pinli JST konektörlerine ve Arduino pinlerine de ihtiyacınız olabilir) (~20-30$)
  6. 2.1x5.5mm varil jak konektörleri, onları burada bulabilirsiniz. (~$5)
  7. Küçük bir Phillips tornavida
  8. Havya ve Lehim (~20$)
  9. Çift taraflı montaj bandı (1/4 inç genişlik). Bunu kullanıyorum. (~10$)
  1. (Ö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$)
  2. (İsteğe bağlı) Bunun gibi bir Arduino vakası. (~10$)
  3. (İ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üç

Güç
Güç
Güç
Güç
Güç
Güç
Güç
Güç

"yükleniyor="tembel"

Image
Image
Modlar ve Ayarlama
Modlar ve Ayarlama
Modlar ve Ayarlama
Modlar ve Ayarlama
Modlar ve Ayarlama
Modlar ve Ayarlama

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: