Smartphone көзөмөлдөгөн Bluetooth LED (Live Music Sync менен): 7 кадам
Smartphone көзөмөлдөгөн Bluetooth LED (Live Music Sync менен): 7 кадам
Anonim
Image
Image
Материалдарды алуу
Материалдарды алуу

Мен ар дайым нерселерди курууну жакшы көрчүмүн, менин жаңы колледжимдин жатаканасында коркунучтуу жарык бар экенин билгенден кийин, аны бир аз татымалдаштырууну чечтим.

*** ЭСКЕРТҮҮ *** Эгер сиз бул долбоорду менин орнотуум менен бирдей масштабда курсаңыз, сиз татыктуу көлөмдөгү электр энергиясы менен иштейсиз. КООПСУЗ, акыл -эсти колдонуңуз, эгер ишенбесеңиз, СУРАҢЫЗ! Үйүңүздү өрттөп жибербеңиз.

1 -кадам: Материалдарды алуу

Материалдарды алуу
Материалдарды алуу
Материалдарды алуу
Материалдарды алуу

Бул долбоор үчүн сизге керек болот:

  1. Даректүү WS2812B LED тилкеси. 5V бул долбоордо эң кеңири таралган түрү жана абдан артыкчылыктуу. Бул долбоор RGBW эмес, RGB LED үчүн иштелип чыккан. Мен Adafruitтин NeoPixelsин катуу сунуштайм. (60 LEDга ~ 25 $)
  2. CurieNano (дагы эле сатылууда), Arduino 101 (токтотулган, бирок мен колдонгон) же BLEге кире турган башка микро контроллер. (~ 35 $)
  3. Смартфон (Apple жана Android экөө тең иштейт)
  4. Электр энергиясы менен камсыздоо. Көпчүлүк даректүү LED диоддору 5В. Керектүү ампер орнотуунун көлөмүнө жараша болот*. (Орнотууңузга жараша ~ 10-50 $)
  5. Wiring ** (сизге ошондой эле тиешелүү 3-pin же 2-pin JST коннекторлору жана Arduino казыктары керек болушу мүмкүн) (~ 20-30 $)
  6. 2.1x5.5mm баррель джек бириктиргичтери, аларды бул жерден таба аласыз. (~ 5 $)
  7. Кичинекей Филлипс бурагычы
  8. Паяльник жана Лайнер (~ 20 $)
  9. Эки тараптуу лента (туурасы 1/4 дюйм). Мен муну колдоном. (~ 10 $)
  1. (Сунушталат) Музыканы шайкештирүү үчүн микрофон. (Иштеп жаткан музыканы синхрондоштуруу үчүн сизде бирөө болушу керек) Сиз бул жерден Adafruitтен таба аласыз. (~ 7 $)
  2. (Милдеттүү эмес) Мындай Arduino иши. (~ 10 $)
  3. (Милдеттүү эмес) 10 мкФтан кем эмес конденсатор (Бул сиздин электр менен жабдууну биринчи жолу иштеткенде чыңалуудан сактайт. Көңүл бургула, чоңураак, электр жабдуулары мурунтан эле коргоого ээ болушу мүмкүн.) (~ $ 5)

Мен сизге бул тизмедеги шилтемеленген материалдарды карманууну сунуштайм, анткени мен аларды күн сайын, күн сайын, айлар бою үзгүлтүксүз колдонуп келем- айрыкча Светодиоддор. Болбосо, сиз күтүлбөгөн жерден кычырап калышыңыз мүмкүн же сизде белгилүү бир материалдар же шаймандар жетишпей жатат.

* Өтө кичинекей тилкелер үчүн (~ 30 Пиксел же андан аз) же Arduino буларды иштетүү үчүн жетиштүү күчкө ээ жана сизге электр булагы керек болбойт. (БУЛ КИРГИЗҮҮ ҮЧҮН СУНУШТАЛБАЙТ. Чакан, даректүү LED орнотууларын куруу боюнча көптөгөн инструктивдүү колдонмолор бар, алар сиздин жагдайыңызга ылайыктуу болот.)

Көпчүлүгүңүз, балким, электр менен камсыздоого муктаж болосуз. Эсептөө (Amperage) = 0.075*(Пикселдердин саны). Бул коопсуздук маржасы менен курулган (толук тартылганда сиздин электр менен камсыздооңуз кубаттуулуктун ~ 75% ында иштейт. Бул сиздин электр менен камсыздооңуздун салкын иштешин камсыз кылат жана ошону менен узак убакыт бою ырааттуу иштейт). Мунун бир кыйла төмөн түшүп кетиши өтө ысып кетүү жана атүгүл өрт коркунучу бар. Кээ бир энергия булактары сизден AC айнек дубалдын сайгычын тиркөөңүздү талап кылат. Бир нече толук LED роликтерди колдонгон дисплейлер үчүн, мен сизге күч сайууну сунуштайм. Бул тууралуу кийинки бөлүмдө сөз болот.

** Зымыңызды туура өлчөмдөңүз! КООПСУЗДУК БИРИНЧИ ашыкча доллар сарптоо үйүңүздү сактап калуусу мүмкүн.

(Эгерде сиз кызык болсоңуз, менде ар бири эки 30А чыгышы бар 5V кубаттуулуктун эки кубатын жана 12 калибрлүү зымды колдонуп жатам. Бул мага LED тилкеси боюнча төрт чекитте жетиштүү кубатты сайууга мүмкүндүк берет. Мен 60 LED диаметри менен ~ 21 метрди колдонуп жатам. /метр.)

2 -кадам: Күч

Күч
Күч
Күч
Күч
Күч
Күч
Күч
Күч

"loading =" жалкоо"

Image
Image
Режимдер жана Тюнинг
Режимдер жана Тюнинг
Режимдер жана Тюнинг
Режимдер жана Тюнинг
Режимдер жана Тюнинг
Режимдер жана Тюнинг

Баштоо чекиттеринде пикселдин номерин сураган эки режим бар: 2 -режим (Түс тазалоо) жана 12 -режим (Музыканы синхрондоштуруу). Эгерде сизде көптөгөн светодиоддор бар болсо, анда анын массалык оорушу, сиз каалаган пикселди баштоо үчүн, мен курал курдум. BLYNK колдонмоңуздагы режим менюсунун акыркы пунктунда "Пиксел табуучу" деп аталган режимди таба аласыз. Муну колдонуу үчүн, балким, виджеттин жөндөөлөрүн өзгөртүүгө туура келет.

  • Биринчиден, сиз түзөтүү режиминде экениңизди текшериңиз
  • Слайдерди тандаңыз
  • Жарыктык маанилерин өзгөртүңүз, ошондо сиз издеп жаткан пикселдин саны жарыктын диапазонунда болот.

Бул Pixel Finder режимин колдонгондо, жарыктыгыңыздын пикселдик саны жашыл түстө күйөт. Ошентип сиз каалаган жерге тез жылып, телефонуңуздан пиксел номерин окуй аласыз

Сиз муну Сүрөттөрдөн [5 жана 6] жана [7 жана 8] көрө аласыз. (Бул скриншотто мен zeRGBra ордуна Color Sliders колдонуп жатканымды байкасаңыз болот). Ошондой эле биринчи пикселдин индекси 0 эмес, 1 экенин эске алыңыз.

Бул сизге үлгүлөрүңүздү каалаган жериңизге орнотууга жардам бериши керек.

Дагы бир нерсени айта кетишим керек, Комета (режими 10) жана Музыканы синхрондоштуруу (режими 12) "Жарыктык" "куйруктардын" узундугун тууралайт. Код ушундай иштеши керек, анткени "Жарыктык" бул режимдерде мааниси жок.

7 -кадам: Ураа! Сен бүттүң! (Код тууралуу кошумча маалымат үчүн окуңуз)

Сиздин LED колдонуу үчүн:

  • Сиздин Arduino чегинде болуңуз
  • BLE сөлөкөтүн таптаңыз
  • Түзмөгүңүздү табыңыз (deviceName үчүн жооп бериңиз) жана аны тандаңыз

Эми сиз пультуңузду колдоно аласыз.

Барып, бардык эмгегиңизден ырахат алыңыз!

***************************** Өркүндөтүлгөн (Код жөнүндө) *************** *****************

Мен кодду жакшы комментарийлөөгө аракет кылдым, балким эч кандай жол менен оптималдаштырылган эмес, бирок мен билем, ал менин 1200+ жарыгымды тез иштетет. Мазмун таблицасында саптын номери боюнча бөлүнгөн код бар.

Режимдерди камтыган коддун бөлүктөрү жана колдонуучу интерфейси абдан айырмаланат, техникалык жактан сиз блютузду таштап, зымдуу коммутаторду же бардык режимдерди айланып өтүүчү жөнөкөй таймерди колдонсоңуз болот. Көрсөтмөлөрдү берүү үчүн сиз cmdArr массивин толтурушуңуз керек.

  • Index 0 тилкенин күйүп/өчкөнү жөнүндө маалыматты сактайт,
  • 1 -индекс менюдан режимдин номерин сактайт
  • 2, 3 жана 4 -көрсөткүчтөр түстөрдү тандоочу R, G жана B баалуулуктарын сактайт.
  • 5 -индекс жарыктыктын пайызын сактайт
  • Башка көрсөткүчтөр учурда колдонулбайт

Сиз көптөгөн коддордо "SetPixelColorAdj (…") функциясын жөн эле "setPixelColor (…") болгондугуна карабастан, көптөгөн сызыктар бар экенин байкайсыз. Себеби бул LED тилкесинин бөлүктөрүн картага түшүрүү үчүн колдонулган коддун бир аз эле бөлүгү. Мисалы, эгерде сиз эки цикл жасоо үчүн бир тилкени колдонсоңуз, анда илмек өзү кайра бириккенге чейин үлгүлөрдү чечүү оор болот. Муну менен сиз LED тилкесинин ички өзгөчөлүгүн жасалма түрдө аягына чейин бөлүп алсаңыз болот. жана ошондой эле коддун ичинде иштөө интуитивдүү болушу үчүн негизги циклди кайра бириктириңиз.

Мен дагы кээ бир татаал режимдердин кантип иштээрин түшүндүрүп берем. Алардын айрымдары (Rainbow, Color Wipe, and Fade [1, 2, 3]) мисал коду катары NeoPixel китепканасында мурунтан эле бар.

  • Лава, Чатыр, Океан [4, 5, 6] - Бул режимдерде жогоруда айтылгандай багыт берүүчү пункттар колдонулат, ар бир багыт берүүчү пункт өзүнө дайындалган чөйрө ичинде туш келди түскө ээ болот. Лава негизинен кызыл, Canopy көбүнчө жашыл, Океан негизинен көк. Fade үлгүсү [3] буга чейин чоң сызыктуу өчүү алгоритмин камсыз кылат. Бул бир багыттоочу чекиттин түсүнөн экинчисине чейинки пикселдерди колдонуу менен өчүп, жылмакай өзгөрүүлөрдү жаратат. Үч өчкөн массивдер убакыттын өтүшү менен жетектөөчү пункттардын кадамдарын сактайт (баштоо, өтүү жана аяктоо абалы). Жетектөөчү пункттар убакыттын өтүшү менен өчкөндө, алардын жанындагы пикселдер да түстөрүн жаңыртышат. Убакыт цикли аяктаганда, жаңы эле жеткен чекит жаңы башталыш чекитине айланат. Бул ыкма убакыттын өтүшү менен жылмакай бойдон калууда.
  • Түс толкуну [7] - Бул мурунку режимдерге окшош, бирок жол көрсөткүчтөрдүн түстөрү башкача тандалат. Түстүү дөңгөлөктүн айланасында убакыттын өтүшү менен өчүүчү негизги түскө четтөө бар.
  • Fireflies [8] - 2D массиви 90 тандалган fireflies үчүн жайгашкан жерин жана багытын сактайт. Ал ар бир кадам сайын, от чымын солго, оңго же таптакыр жылбай турганын чечет. Алардын жалпы жаркырагы өчүп бара жаткан циклден кийин.
  • Конфетти [9]- Сиз бул жерде fireflyдин бөлүктөрүн кайра колдоно албайсыз, бирок алар окшош көрүнөт- бул түстүн жылышын эң жакшы көрүү үчүн жалпы ырааттуу жарыктыкты артык көргөндүктөн. Бирок идея өтө деле айырмаланбайт. Мен конфетти жаркыраган нерселердин 1/3 бөлүгүн мезгилдин 1/3 жылышы менен бөлүнгөн 3 мезгилдүү синус функциясына берүү менен бирдей жарыкка жеттим.
  • Комета [10] - Адафруттун сканерине абдан окшош, айырмасы азыр багыты туш келди түзүлөт жана өзгөрбөйт, түстө бир аз айырмачылык бар, анткени пиксель айланасында көбүрөөк "от" сыяктуу таасир жаратат. куйрук. Ар бир жаңыртуунун чалуусу - бул солгундоону же калыптын "куйругун" жаратуучу нерсе.
  • Музыканы синхрондоштуруу [12]- Эки параметр үн көлөмүнүн негизинде эсептелет (чыңалуу A0дон): Түс жана узундук. Музыканы синхрондоштуруу андан кийин борбордук түстөн эсептелген түскө өтөт, ошол эле учурда берилген узундукта кара түскө өтөт. Түстүү дөңгөлөктүн тегерегинде борбордук түс бир калыпта өчөт, ошондо сиз жаркыраган эффекттерди жана жылмакайлыкты аласыз, андыктан ал жаман эмес.

Image Credits

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…

Сунушталууда: