Mündəricat:

Smartfon tərəfindən idarə olunan Bluetooth LEDləri (Canlı Musiqi Sinxronizasiyası ilə): 7 addım
Smartfon tərəfindən idarə olunan Bluetooth LEDləri (Canlı Musiqi Sinxronizasiyası ilə): 7 addım

Video: Smartfon tərəfindən idarə olunan Bluetooth LEDləri (Canlı Musiqi Sinxronizasiyası ilə): 7 addım

Video: Smartfon tərəfindən idarə olunan Bluetooth LEDləri (Canlı Musiqi Sinxronizasiyası ilə): 7 addım
Video: Imou Bullet 3C 5mp НОВИНКА УНИВЕРСАЛЬНАЯ КАМЕРА ВИДЕОНАБЛЮДЕНИЯ 2024, Noyabr
Anonim
Image
Image
Alınan materiallar
Alınan materiallar

Hər zaman bir şeylər tikməyi sevirəm, yeni kollec yataqxanamın dəhşətli işıqlandırması olduğunu öyrəndikdən sonra onu bir az da dadlandırmaq qərarına gəldim.

*** XƏBƏRDARLIQ *** Bu layihəni mənim quruluşumla eyni miqyasda qurarsanız, layiqli miqdarda elektrik enerjisi ilə işləyəcəksiniz. SAĞLAM OL, sağlam düşüncədən istifadə et və əmin deyilsənsə SOR! Evinizi yandırmaq riski yoxdur.

Addım 1: Materialların alınması

Alınan materiallar
Alınan materiallar
Alınan materiallar
Alınan materiallar

Bu layihə üçün sizə lazım olacaq:

  1. Ünvanlı WS2812B LED şeridi. 5V bu layihədə ən çox yayılmış və çox üstünlük verilən tipdir. Bu layihə RGBW deyil, RGB LEDləri üçün nəzərdə tutulmuşdur. Adafruit -in NeoPixellərini şiddətlə tövsiyə edirəm. (60 LED başına ~ 25 dollar)
  2. Bir CurieNano (hələ də satılır), bir Arduino 101 (dayandırıldı, amma istifadə etdiyim) və ya BLE-yə daxil ola biləcək başqa bir mikro nəzarətçi. (~ 35 dollar)
  3. Bir smartfon (həm Apple, həm də Android işləyir)
  4. Bir enerji təchizatı. Bazarda ən çox ünvanlanan LEDlər 5V -dir. Lazım olan amperaj quruluşunuzun ölçüsündən asılıdır*. (Quruluşunuzdan asılı olaraq ~ 10-50 dollar)
  5. Kablolama ** (müvafiq 3-pinli və ya 2-pinli JST konnektorlarına və Arduino pinlərinə də ehtiyacınız ola bilər) (~ 20-30 dollar)
  6. 2.1x5.5mm lüləli bağlayıcılar, onları burada tapa bilərsiniz. (~ 5 dollar)
  7. Kiçik bir Phillips tornavida
  8. Havya və Lehim (~ 20 dollar)
  9. İki tərəfli montaj lenti (eni 1/4 düym). Mən bundan istifadə edirəm. (~ 10 dollar)
  1. (Tövsiyə olunur) Musiqi sinxronizasiyası üçün mikrofon. (İşləyən musiqi senkronizasyonu üçün biriniz olmalıdır) Adafruit -dən birini burada tapa bilərsiniz. (~ 7 dollar)
  2. (İsteğe bağlı) Bu kimi bir Arduino işi. (~ 10 dollar)
  3. (İsteğe bağlı) ən az 10 μF olan bir kondansatör (Bu, enerji təchizatınızı ilk dəfə işə salanda gərginlik artımlarından qoruyur. Qeyd edək ki, daha böyük, daha maraqlı olan bəzi enerji təchizatı artıq mühafizə qurmuş ola bilər.) (~ 5 dollar)

Bu siyahıdakı əlaqəli materiallara sadiq qalmağınızı şiddətlə tövsiyə edirəm, çünki onları günün çox hissəsində, hər gün, aylarca uğursuzluqla, xüsusən də LED-lərdən istifadə etmişəm. Əks təqdirdə, gözlənilməz hıçqırıqlarla üzləşə və ya müəyyən material və ya alətlərə malik olmadığınızı görə bilərsiniz.

* Çox kiçik zolaqlar üçün (~ 30 Piksel və ya daha az) və ya Arduinonun bunları işlətmək üçün kifayət qədər gücü var və enerji təchizatına ehtiyacınız olmayacaq. (BU KILAVUZ ÜÇÜN TAVSİYE EDİLMİR. Kiçik, ünvanlı LED qurğuları qurmaq üçün bir çox təlimat kitabçası var, bunlar sizin vəziyyətinizə daha uyğun olacaq.)

Çoxunuz, ehtimal ki, enerji təchizatına ehtiyacınız olacaq. Hesablama (Amperage) = 0.075*(Piksel Sayısı) dir. Bu, təhlükəsizlik marjası ilə qurulmuşdur (tam çəkilişdə enerji təchizatı ~ 75% tutumunda işləyəcək. Bu, enerji təchizatınızın sərin işləməsini təmin edəcək və beləliklə də uzun müddət ardıcıl olaraq). Bunun əhəmiyyətli dərəcədə aşağıya düşməsi həddindən artıq istiləşmə və hətta yanğın riski yaradır. Bəzi enerji təchizatı da öz AC divar fişini bağlamağı tələb edəcək. Çoxlu tam led makaraları istifadə edən ekranlar üçün sizə güc enjeksiyonu tövsiyə edirəm. Bu barədə növbəti hissədə danışılacaq.

** Telinizi düzgün ölçülü edin! İLK SAFETY əlavə bir neçə dollar xərcləmək evinizi xilas edə bilər.

(Əgər maraqlanırsınızsa, hər biri iki 30A çıxışı olan iki 5V enerji təchizatı və 12 ölçülü dinamik tel istifadə edirəm. Bu mənə LED şeridim boyunca dörd nöqtədə kifayət qədər güc vurmağa imkan verir. 60 LED sıxlığı olan ~ 21 metr istifadə edirəm. /metr.)

Addım 2: Güc

Güc
Güc
Güc
Güc
Güc
Güc
Güc
Güc

"loading =" tənbəl"

Image
Image
Mod və tənzimləmə
Mod və tənzimləmə
Mod və tənzimləmə
Mod və tənzimləmə
Mod və tənzimləmə
Mod və tənzimləmə

Başlanğıc nöqtələrində piksel nömrəsini soruşan iki rejim var: rejim 2 (Rəng Silmə) və rejim 12 (Musiqi Sinxronizasiyası). Bir çox LEDiniz varsa, bir başlanğıc olaraq istədiyiniz dəqiq piksel saymaq üçün böyük bir ağrıdır, buna görə də bir alət qurdum. BLYNK tətbiqinizdəki rejim menyusunun son maddəsində "Piksel Bulucu" adlı bir rejim tapa bilərsiniz. Bunu istifadə etmək üçün, ehtimal ki, widget parametrlərinizi dəyişdirməlisiniz.

  • Əvvəlcə redaktə rejimində olduğunuzdan əmin olun
  • Kaydırıcıyı seçin
  • Parlaqlıq dəyərlərinizi dəyişdirin ki, axtardığınız piksel nömrəsi daxil edilmiş parlaqlıq aralığında olsun.

Bu Pixel Finder rejimindən istifadə edərkən, parlaqlıq dəyərinizin piksel sayı Yaşıl rəngdə yanır. Bu yolla tez bir zamanda istədiyiniz yerə gedə və telefon nömrənizdəki piksel nömrəsini oxuya bilərsiniz

Bunu Şəkillər [5 və 6] və [7 və 8] də görə bilərsiniz. (Bu ekran görüntüsündə zeRGBra yerinə Rəng Sürgülərindən istifadə etdiyimi görə bilərsiniz). İlk pikselin indeksinin 0 deyil 1 olduğunu unutmayın.

Bu, nümunələrinizi istədiyiniz yerdə qurmağa kömək etməlidir.

Qeyd etməli olduğum başqa bir şey, Comet (rejim 10) və Music Sync (rejim 12) rejimlərindəki "Parlaqlıq" nın "quyruq" uzunluğunu tənzimləməsidir. Kodun bu şəkildə işləməsi lazım olduğu üçün "Parlaqlıq" ın bu rejimlərdə əslində heç bir mənası yoxdur.

Addım 7: Vay! Sən Bittin! (Kod haqqında Əlavələr üçün oxuyun)

LED -lərinizi istifadə etmək üçün:

  • Arduino daxilində olun
  • BLE simgesini vurun
  • Cihazınızı tapın (deviceName cavabını verin) və seçin

Artıq pultunuzdan istifadə edə biləcəksiniz.

Gedin bütün zəhmətinizdən zövq alın!

***************************** Ətraflı (Kod haqqında) *************** *****************

Kodun yaxşı şərh edilməsinə çalışdım, yəqin ki, heç bir vasitə ilə optimallaşdırılmadı, amma bilirəm ki, 1200+ işığımı kifayət qədər sürətli işləyir. Məzmun cədvəlində kodun sətir nömrəsinə görə bölünməsi var.

Kodların modları və istifadəçi interfeysini ehtiva edən hissələri olduqca ayrılır, texniki cəhətdən bluetooth-dan əl çəkə bilərsiniz və bərk telli bir keçid paneli və ya bütün rejimlərdə dövr edən sadə bir taymer istifadə edə bilərsiniz. Təlimat vermək üçün həqiqətən cmdArr dizisini doldurmalısınız.

  • Index 0, zolağın açılması/söndürülməsi ilə bağlı məlumatları saxlayır,
  • İndeks 1 menyudan rejim nömrəsini saxlayır
  • 2, 3 və 4 göstəriciləri, rəng seçicisindən R, G və B dəyərlərini saxlayır.
  • İndeks 5, parlaqlıq faizini saxlayır
  • Digər göstəricilər hazırda istifadə edilmir

Kodun çox hissəsində "SetPixelColorAdj (…") funksiyasını sadəcə olaraq "setPixelColor (…") olmasına baxmayaraq oxuyan bir çox sətir var. Bunun səbəbi, LED şeridinin ətrafındakı hissələri xəritələşdirmək üçün istifadə olunan kodun bir az qalmasıdır. Məsələn, iki döngə düzəltmək üçün bir zolaqdan istifadə etsəniz, döngənin özünə birləşənə qədər nümunələri fasilə ilə həll etmək ağrılı olardı. Bununla LED şeridinin daxili xüsusiyyətini sonuna qədər süni şəkildə birləşdirə bilərsiniz. və əsas döngəni bir araya gətirin ki, kod daxilində işləmək asan olsun.

Bəzi mürəkkəb rejimlərin necə işlədiyini də izah edəcəyəm. Bəziləri (Rainbow, Color Wipe və Fade [1, 2, 3]) artıq nümunə kodu olaraq NeoPixel Kitabxanasındadır.

  • Lava, Kanop, Okean [4, 5, 6] - Bu rejimlər əvvəl qeyd edildiyi kimi bələdçi nöqtələrini istifadə edir, hər bələdçi nöqtəsi ona təyin edilmiş bir aləmdə təsadüfi bir rəng alır. Lava əsasən qırmızı, Canopy əsasən yaşıl və Okean əsasən mavidir. Fade nümunəsi [3] artıq böyük bir xətti solma alqoritmi təmin edir. Bu, hamar bir dalğalanma yaratmaqla aralarındakı pikselləri istifadə edərək bir bələdçi nöqtəsinin rəngindən digərinə keçmək üçün yenidən təyin edilmişdir. Üç solğun dizi, bələdçi nöqtələrinin (başlanğıc, keçid və son vəziyyətlər) bir zaman kəsilməsinin addımlarını saxlayır. Bələdçi nöqtələri zaman keçdikcə yaxınlıqdakı piksellər də rənglərini yeniləyir. Zaman dövrü tamamlandıqda, yalnız əldə edilən son nöqtə yeni başlanğıc nöqtəsi olur. Bu şəkildə model zamanla hamar qalır.
  • Rəng Dalğası [7] - Bu əvvəlki rejimlərə bənzəyir, lakin bələdçi nöqtələrinin rəngləri fərqli seçilir. Zamanla rəng çarxının ətrafında sönən əsas rəngə verilən bir sapma var.
  • Atəşböcəkləri [8] - 2D sıra, seçilmiş 90 atəşböcəyi üçün yeri və istiqamətini saxlayır. Atəşböcəyinin sola, sağa və ya heç hərəkət etməyəcəyinə hər addımda qərar verir. Onların ümumi parlaqlığı solğunlaşma, sönmə dövrünü izləyir.
  • Konfeti [9]- Bənzər göründükləri halda burada firefly hissələrini təkrar istifadə edə bilməzsiniz- bunun səbəbi rəng dəyişikliyini ən yaxşı görmək üçün ümumi ardıcıl parlaqlığı seçməyinizdir. Ancaq fikir çox da fərqli deyil. Bütün konfeti parıltılarının 1/3-ni hər dövrün 1/3-ü ilə ayrılmış 3 ko-periodik sinüs funksiyasına təyin edərək hətta işıqlandırmaya nail oldum.
  • Kuyruklu ulduz [10] - Adafruit Skanerinə çox bənzəyir, fərq indi hər dəfə təsadüfi olaraq yaradılan istiqamətdir və dəyişmir, piksel hərəkət edərkən daha çox "atəş" kimi bir təsir yaratdıqda rəngdə kiçik bir dəyişiklik var. quyruq. Hər yeniləmənin qaralması çağırışı, solğunlaşmanı və ya naxışın "quyruğunu" yaradan şeydir.
  • Music Sync [12]- İki parametr həcmdən asılı olaraq hesablanır (A0-dan gərginlik): Bir rəng və uzunluq. Musiqi sinxronizasiyası daha sonra mərkəzi rəngdən hesablanan rəngə qədər azalır, eyni zamanda verilən uzunluqda qara rəngə çevrilir. Mərkəz rəngi rəng çarxının ətrafında hamarca solur, beləliklə həm gözəçarpan effektlər, həm də hamarlıq əldə edirsiniz, belə ki, pis deyil.

Şəkil Kreditləri

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-Lehimleme-…

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…

Tövsiyə: