Съдържание:

Bluetooth светодиоди с контролиран смартфон (със синхронизиране на музика на живо): 7 стъпки
Bluetooth светодиоди с контролиран смартфон (със синхронизиране на музика на живо): 7 стъпки

Видео: Bluetooth светодиоди с контролиран смартфон (със синхронизиране на музика на живо): 7 стъпки

Видео: Bluetooth светодиоди с контролиран смартфон (със синхронизиране на музика на живо): 7 стъпки
Видео: UX999Max Супер мощный беспроводной 8-ми ядерный 3 в 1 CarPlay Android Auto 2024, Ноември
Anonim
Image
Image
Придобиване на материали
Придобиване на материали

Винаги съм обичал да строя неща, след като установих, че моето ново общежитие в колежа има ужасно осветление, реших да го подправя малко.

*** ВНИМАНИЕ *** Ако изградите този проект в същия мащаб като моята настройка, ще работите с прилично количество електрическа енергия. БЪДЕТЕ В БЕЗОПАСНОСТ, използвайте здравия разум и ако не сте сигурни, ПОПИТАЙТЕ! Не рискувайте да изгорите къщата си.

Стъпка 1: Придобиване на материали

Придобиване на материали
Придобиване на материали
Придобиване на материали
Придобиване на материали

За този проект ще ви трябва:

  1. Адресируема WS2812B LED лента (и). 5V е най -често срещаният тип и силно предпочитан в този проект. Този проект е предназначен за RGB светодиоди, а не за RGBW. Силно препоръчвам NeoPixels на Adafruit. (~ $ 25 за 60 светодиода)
  2. CurieNano (все още се продава), Arduino 101 (прекратен, но този, който използвам) или друг микроконтролер, който има достъп до BLE. (~ $ 35)
  3. Смартфон (Apple и Android работят)
  4. Захранване. Най -адресируемите светодиоди на пазара са 5V. Необходимата сила на тока зависи от размера на вашата настройка*. (~ $ 10-50 в зависимост от настройката ви)
  5. Окабеляване ** (може да се нуждаете и от подходящи 3-пинови или 2-пинови JST конектори и Arduino щифтове) (~ 20-30 щ.д.)
  6. 2.1x5.5mm конектори за жак, можете да ги намерите тук. (~ $ 5)
  7. Малка отвертка Phillips
  8. Поялник и спойка (~ $ 20)
  9. Двустранна монтажна лента (1/4 инча ширина). Използвам това. (~ $ 10)
  1. (Препоръчително) Микрофон за синхронизиране на музика. (За да имате работеща музикална синхронизация, трябва да имате такава) Можете да намерите такава от Adafruit тук. (~ $ 7)
  2. (Незадължително) Калъф Arduino, като този. (~ $ 10)
  3. (Незадължително) кондензатор с най -малко 10 μF (Това предпазва от скокове на напрежението при първо включване на захранването. Имайте предвид, че някои от по -големите, по -модерни захранвания може вече да имат вградена защита.) (~ $ 5)

Силно препоръчвам да се придържате към свързаните материали в този списък, тъй като съм ги използвал през по-голямата част от деня, всеки ден, в продължение на месеци без грешки- особено светодиодите. В противен случай може да срещнете неочаквани хълцания или да откриете, че ви липсват определени специфични материали или инструменти.

* За изключително малки ленти (~ 30 пиксела или по -малко) или Arduino има достатъчно мощност, за да ги пусне и няма да имате нужда от захранване. (ТОВА НЕ СЕ ПРЕПОРЪЧВА ЗА ТОЗИ РЪКОВОДСТВО. Има много ръководства за изграждане на малки, адресируеми LED настройки, които ще бъдат по -специфични за вашата ситуация.)

Повечето от вас обаче вероятно ще се нуждаят от захранване. Изчислението е (Amperage) = 0.075*(Брой пиксели). Това е с вграден запас на безопасност (при пълно изтегляне захранването ви ще работи при ~ 75% от капацитета. Това ще поддържа захранването ви да работи хладно и по този начин последователно за дълги периоди от време). Спускането значително под това крие риск от прегряване и дори пожар. Някои източници на захранване също ще изискват да свържете собствения си щепсел за променлив ток. За дисплеи, които използват множество пълни светодиодни барабани, горещо ви препоръчвам да инжектирате мощност. За това ще се говори в следващия раздел.

** Оразмерете правилно проводника си! БЕЗОПАСНОСТ ПЪРВИ изразходване на допълнителни няколко долара може да спаси дома ви.

(Ако сте любопитни, използвам два 5V захранвания, всеки с два изхода 30А и кабел за високоговорители 12 габарит. Това ми позволява да инжектирам достатъчно мощност в четири точки по моята LED лента. Използвам ~ 21 метра с плътност от 60 светодиода /метър.)

Стъпка 2: Захранване

Мощност
Мощност
Мощност
Мощност
Мощност
Мощност
Мощност
Мощност

"loading =" мързелив"

Image
Image
Режими и настройка
Режими и настройка
Режими и настройка
Режими и настройка
Режими и настройка
Режими и настройка

Има два режима, които изискват номера на пиксела в началните точки: режим 2 (Color Wipe) и режим 12 (Music Sync). Ако имате много светодиоди, това е огромна болка, която брои до кой точно пиксел искате като начало, затова изградих инструмент. В последния елемент от менюто за режим на вашето приложение BLYNK ще намерите режим, наречен „Pixel Finder“. За да използвате това, вероятно ще трябва да промените настройките на джаджата си.

  • Първо се уверете, че сте в режим на редактиране
  • Изберете плъзгача
  • Променете стойностите на яркостта, така че търсеният от вас пиксел да е в рамките на въведения диапазон на яркост.

Когато използвате този режим на търсене на пиксели, броят на пикселите на вашата стойност на яркост свети в зелено. По този начин можете бързо да превъртите до желаното място и да отчетете номера на пиксела от телефона си

Можете да видите това на Снимки [5 и 6] и [7 и 8]. (Може да забележите, че на тази екранна снимка използвам цветните плъзгачи вместо zeRGBra). Също така имайте предвид, че индексът на първия пиксел е 0, а не 1.

Това би трябвало да ви помогне да настроите моделите си там, където ги искате.

Още нещо, което трябва да спомена, е, че "Яркост" в режимите Comet (режим 10) и Music Sync (режим 12) регулират дължината на "опашките". Ето как кодът трябва да работи, тъй като "Яркост" няма смисъл в тези режими.

Стъпка 7: Ура! Готови сте! (Прочетете за екстри относно кода)

За да използвате вашите светодиоди:

  • Бъдете в обсега на вашия Arduino
  • Докоснете иконата BLE
  • Намерете вашето устройство (отговор за deviceName ) и го изберете

Вече ще можете да използвате дистанционното.

Отидете да се насладите на цялата си упорита работа!

***************************** Разширено (за кода) *************** *****************

Опитах се да направя кода добре коментиран, вероятно не е оптимизиран по никакъв начин, но знам, че работи с моите 1200+ светлини достатъчно бързо. Съдържанието има кода, разделен по номер на ред.

Частите от кода, съдържащи режимите и потребителския интерфейс, са доста разделими, технически бихте могли да се откажете от Bluetooth и да използвате комутатор с кабел или обикновен таймер, който преминава през всички режими. Наистина просто трябва да попълните масива cmdArr, за да дадете инструкции.

  • Индекс 0 съхранява информация за включване/изключване на лентата,
  • Индекс 1 съхранява номера на режима от менюто
  • Показатели 2, 3 и 4 съхраняват съответно стойностите R, G и B от инструмента за избор на цвят.
  • Индекс 5 съхранява процент яркост
  • Други показатели в момента не се използват

Много забелязвате в кода, че има много редове, които четат „SetPixelColorAdj (…“), въпреки че функцията е просто „setPixelColor (…“. Това е така, защото това е малко останал код, използван за картографиране на части от LED лентата наоколо. Например, ако използвате една лента, за да направите две контури, би било болезнено да се справите с моделите с прекъсване, докато цикълът се слее обратно в себе си. С това можете изкуствено да сглобите вътрешната характеристика на LED лентата до края и също така снадете главния цикъл обратно, така че в кода да е интуитивно да работите.

Ще дам и обяснение как работят някои от по -сложните режими. Някои от тях (Rainbow, Color Wipe и Fade [1, 2, 3]) вече са в библиотеката на NeoPixel като примерен код.

  • Lava, Canopy, Ocean [4, 5, 6] - Тези режими използват водещите точки, както бе споменато по -рано, всяка водеща точка получава произволен цвят в определеното за нея царство. Лавата е предимно червена, навесът е предимно зелен, а океанът е предимно син. Моделът Fade [3] вече предоставя страхотен алгоритъм за линейно избледняване. Това има за цел да избледнее от цвета на една водеща точка към следващата, като използва пикселите между тях, създавайки плавно колебание. Трите затихващи масива съхраняват стъпките на времево избледняване на водещите точки (начално, преходно и крайно състояние). Когато водещите точки избледняват във времето, пикселите близо до тях също актуализират цветовете си. Когато времевият цикъл приключи, току-що достигнатата крайна точка става новата начална точка. По този начин моделът остава гладък във времето.
  • Цветна вълна [7] - Това е подобно на предишните режими, но цветовете за водещите точки се избират по различен начин. Има отклонение, дадено на основния цвят, което избледнява около цветното колело във времето.
  • Светулки [8] - 2D масивът съхранява местоположението и посоката на 90 избрани светулки. Той решава на всяка стъпка от време дали светулката ще се движи наляво, надясно или изобщо няма. Общата им яркост следва цикъл на затихване, избледняване.
  • Конфети [9]- Тук не можете да използвате повторно части от светулка, въпреки че изглеждат сходни- това е така, защото предпочитате обща постоянна яркост, за да видите най-добре промяната на цвета. Идеята обаче не е твърде различна. Постигнах равномерно осветление, като възложих 1/3 от всички искри на конфети на 3 копериодични синусоидни функции, разделени с изместване от 1/3 от всяка.
  • Комета [10] - Много подобна на скенера на Adafruit, разликата е, че посоката сега се генерира на случаен принцип всеки път и не се променя, има леко изменение на цвета, тъй като пикселът се движи, създавайки по -"ефект на огън" върху опашка. Извикването на затъмняването на всяка актуализация е това, което създава избледняване или "опашката" на шаблона.
  • Music Sync [12]- Два параметъра се изчисляват въз основа на силата на звука (напрежение от A0): Цвят и дължина. Музикалното синхронизиране след това избледнява от централен цвят до изчисления цвят, като едновременно избледнява до черно в дадената дължина. Централният цвят плавно избледнява около цветното колело, като по този начин получавате както блестящи ефекти, така и гладкост, така че да не е отвратителен.

Кредити за изображения

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

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…

Препоръчано: