Mündəricat:
- Addım 1: Materialların alınması
- Addım 2: Güc
- Addım 7: Vay! Sən Bittin! (Kod haqqında Əlavələr üçün oxuyun)
Video: Smartfon tərəfindən idarə olunan Bluetooth LEDləri (Canlı Musiqi Sinxronizasiyası ilə): 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
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ı
Bu layihə üçün sizə lazım olacaq:
- Ü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)
- 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)
- Bir smartfon (həm Apple, həm də Android işləyir)
- 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)
- 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)
- 2.1x5.5mm lüləli bağlayıcılar, onları burada tapa bilərsiniz. (~ 5 dollar)
- Kiçik bir Phillips tornavida
- Havya və Lehim (~ 20 dollar)
- İki tərəfli montaj lenti (eni 1/4 düym). Mən bundan istifadə edirəm. (~ 10 dollar)
- (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)
- (İsteğe bağlı) Bu kimi bir Arduino işi. (~ 10 dollar)
- (İ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
"loading =" tənbəl"
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ə:
Təyyarə ilə idarə olunan radio idarə olunan ördək: 10 addım (şəkillərlə)
Jet Propelled Radio Controlled Duck: 40+ il əvvəl bir radio nəzarət qayığı almaq və yaxınlıqdakı Park Gölündə istifadə etmək istəyirdim, lakin Park Qapıcısı heç bir gəmiyə icazə verilməyəcəyini açıq şəkildə bildirdi. Bir gəmini ördək kimi gizlətmək üçün bu planı hazırladım. Bir az çatışmazlıq qiymət idi
Tətbiq tərəfindən idarə olunan NodeMCU ilə Ağıllı Qazanı necə etmək olar: 8 addım
NodeMCU ilə Nəzarət Edilən Smart Qazanı Necə Tətbiq Edilir: Bu təlimatda bir ESP32 və Smartphone (iOS və Android) üçün bir tətbiq tərəfindən idarə olunan bir Smart Pot quracağıq. Bağlantı və Blynk Kitabxanası üçün NodeMCU (ESP32) istifadə edəcəyik. bulud IoT və smartfondakı Tətbiq üçün. Sonda biz
Raspberry Pi Model 3 A+ilə Brauzer tərəfindən idarə olunan Roomba Robotu: 6 Addım (Şəkillərlə birlikdə)
Raspberry Pi Model 3 A+ilə Brauzer tərəfindən İdarə Edilən Roomba Robotu: Baxış Bu Təlimat, ölü Roomba'ya yeni bir beyin (Raspberry Pi), gözlər (Veb Kamera) və hər şeyi bir veb brauzerdən idarə etmə üsulunu necə verməyə yönələcək. Serial interfeys vasitəsilə idarə etməyə imkan verən bir çox Roomba hack var. Məndə yoxdu
Wi-Servo: Wi-Fi Brauzer tərəfindən idarə olunan servomotorlar (Arduino + ESP8266 ilə): 5 addım
Wi-Servo: Wi-Fi Brauzer tərəfindən İdarə Edilən Servomotorlar (Arduino + ESP8266 ilə): Bu təlimat, adi bir internet brauzerindən (məsələn, Firefox) istifadə edərək, bəzi servomotorların bir wi-fi şəbəkəsində uzaqdan necə idarə olunacağını göstərir. Bu bir neçə tətbiqdə istifadə edilə bilər: oyuncaqlar, robotlar, pilotsuz təyyarələr, kamera pan/əyilmə və s
ARDUINO YUN tərəfindən idarə olunan ROOMBA STEFANO DALL'OLIO tərəfindən Wifi Tətbiqi ilə: 4 Addım (Şəkillərlə)
ARDUINO YUN tərəfindən idarə olunan ROOMBA, STEFANO DALL'OLIO tərəfindən Wifi Tətbiqi ilə: Bu təlimatla, Wifi vasitəsilə Roomba sürmək üçün ARDUINO YUN -u Roomba'ya bağlamaq üçün kodu paylaşıram. Kod və tətbiq tam olaraq özüm tərəfindən yaradılıb və Stefano Dall tərəfindən hazırlanmışdır. Olio.My Roomba Roomba 620 -dir, lakin eyni kodu digər Roomb üçün də istifadə edə bilərsiniz