Բովանդակություն:

Դյուրակիր երեկույթի լույսեր. 12 քայլ (նկարներով)
Դյուրակիր երեկույթի լույսեր. 12 քայլ (նկարներով)

Video: Դյուրակիր երեկույթի լույսեր. 12 քայլ (նկարներով)

Video: Դյուրակիր երեկույթի լույսեր. 12 քայլ (նկարներով)
Video: 10,900,000 ԱՄՆ դոլար արժողությամբ ժամանակակից առանձնատունի ներսում՝ ԲԱՍԿԵՏԲՈԼԻ ՄԱՍՆԱՎՈՐ ԴԱՇՏՈՎ 2024, Նոյեմբեր
Anonim
Image
Image
Գաղափարը
Գաղափարը

Tinkercad նախագծեր »

Կարո՞ղ եք լույս բերել երեկույթին և այն դարձնել ավելի զվարճալի:

Հարցը դա էր: Եվ պատասխանը ԱՅՈ է (իհարկե):

Այս հրահանգը վերաբերում է շարժական սարք պատրաստելուն, որը լսում է երաժշտություն և ստեղծում է երաժշտական պատկերացում Neopixel LED- ների կենտրոնական օղակներից:

Փորձ է արվել սարքը դարձնել «պար», այսինքն ՝ շարժվել երաժշտության ռիթմի տակ, սակայն ծեծի հայտնաբերումն ավելի բարդ խնդիր է, քան հնչում է (բառախաղը նախատեսված չէ), ուստի «պարելը» մի փոքր անհարմար է, բայց դեռ կա:

Սարքը միացված է Bluetooth- ով և կարձագանքի տեքստային հրամաններին: Ես ժամանակ չունեի writeրագիր գրելու ՝ Party Lights- ը (Android կամ iOS) կառավարելու համար: Եթե դուք կատարում եք առաջադրանքը, խնդրում եմ ինձ տեղյակ պահեք !!!

Եթե ձեզ դուր է գալիս այս ուսանելի տարբերակը, քվեարկեք դրա համար Make It Glow մրցույթում:

Պարագաներ

Party Lights- ի կառուցման համար ձեզ հարկավոր է.

  • STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 մոդուլ Arduino- ի համար (հղումը այստեղ) - սարքի ուղեղը: Այս համեմատաբար էժան սարքերը այնքան հզոր են, անհասկանալի է, թե ինչու երբևէ վերադառնալ Arduino:
  • MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (հղումն այստեղ)
  • HC-05 կամ HC-06 Bluetooth մոդուլ (հղումը ՝ այստեղ)
  • Adafruit MAX9814 խոսափող (հղումն այստեղ)
  • Ստանդարտ servo շարժիչ (հղումը այստեղ) ցանկանում եք, որ ձեր սարքը «պարի»
  • CJMCU 61 Bit WS2812 5050 RGB LED վարորդների զարգացման տախտակ (հղումն այստեղ)
  • TTP223 Touch Key Module Capacitive Settable Self-Lock/No-Lock Switch Board (հղումն այստեղ)
  • Ultra Compact 5000-mah Dual USB Outputs Super Slim Power Bank (հղումն այստեղ)

  • Ռեզիստորներ, կոնդենսատորներ, լարեր, սոսինձ, պտուտակներ, նախատիպերի տախտակներ և այլն և այլն:

Քայլ 1: Գաղափարը

Գաղափարը
Գաղափարը

Գաղափարն այն է, որ ունենանք շարժական սարք, որը կարող է տեղադրվել երաժշտության աղբյուրի մոտ, և որը կստեղծի երաժշտության գունագեղ պատկերացումներ: Դուք պետք է կարողանաք վերահսկել սարքի վարքագիծը կոճակների (հպման) և Bluetooth- ի միջոցով:

Ներկայումս Party Lights- ում իրականացվել է 7 արտացոլում (տեղեկացրեք ինձ, եթե ունեք ավելի շատ գաղափարներ):

  1. Համակենտրոն գունագեղ շրջանակներ
  2. Մալթական խաչ
  3. Pարկերակային լույսեր
  4. Բուխարի (իմ անձնական սիրածը)
  5. Վազող լույսեր
  6. Թեթև ծառեր
  7. Կողքի հատվածներ

Լռելյայն, սարքը ամեն րոպե շրջում է վիզուալիզացիաներով: Այնուամենայնիվ, օգտվողը կարող է ընտրել մեկ պատկերացումով և/կամ ձեռքով շրջանցել դրանք:

Այն պատկերացումները, որոնք պտտեցնում են իրենց գունապնակը, կարող են նաև «սառեցվել», եթե օգտագործողին դուր է գալիս որոշակի գունային համադրություն:

Եվ որպես մի քանի այլ հսկիչ, օգտվողը կարող է փոխել խոսափողի զգայունությունը և միացնել/անջատել սերվո շարժիչի «պար» ռեժիմը:

Քայլ 2. Սխեմատիկ և ձայնային մշակում

Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում
Սխեմատիկ և ձայնային մշակում

Frնցող սխեմատիկ ֆայլը ներառված է Github- ի փաթեթում `« ֆայլեր »ենթապանակում:

Հիմնականում, MSEQ7 չիպը կատարում է աուդիո մշակում ՝ ձայնային ազդանշանը պառակտելով 7 գոտիների ՝ 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz և 16kHz

Միկրոկոնտրոլերն օգտագործում է այդ 7 ժապավենները ՝ տարբեր տեսողական պատկերներ ստեղծելու համար ՝ հիմնականում համապատասխան գոտու ամպլիտուդները քարտեզագրելով LED լույսի ինտենսիվության և գունային համադրությունների մեջ:

Ձայնի աղբյուրը միկրոֆոն է ՝ շահույթի վերահսկման 3 մակարդակով: Կախված կոճակներից մեկի միջոցով կարող եք շրջանցել շահույթի կարգավորումները ՝ կախված նրանից, թե որքան հեռու/բարձր է ձայնի աղբյուրը:

Միկրոկոնտրոլերը նաև փորձում է «ծեծի» հայտնաբերում կատարել 63 Հց հաճախականությամբ «բաս» տիրույթի վրա: Ես դեռ աշխատում եմ ռիթմի դասավորվածությունը հայտնաբերելու և պահպանելու հուսալի եղանակի վրա:

«Հպման» կոճակների օգտագործումը փորձ էր: Կարծում եմ, որ նրանք բավականին լավ են աշխատում, սակայն, մամուլի արձագանքների բացակայությունը որոշ չափով շփոթեցնող է:

Քայլ 3: LED անիվ

LED անիվ
LED անիվ
LED անիվ
LED անիվ
LED անիվ
LED անիվ

Վիզուալիզացիայի առանցքը 61 LED անիվն է:

Խնդրում ենք նկատի ունենալ, որ մասը գալիս է որպես առանձին օղակներ, որոնք դուք պետք է հավաքեք միասին: Ես էլեկտրահաղորդման գծերի համար օգտագործում էի պղնձե լարեր (որոնք նաև լավ են պահում օղակները) և ազդանշանային բարակ լարեր:

LED- ները համարակալված են 0 -ից 60 -ով ՝ ներքևի արտաքին LED- ից սկսած և ժամացույցի սլաքի ուղղությամբ շարժվելով դեպի ներս: Կենտրոնական LED- ն թիվ 60 է:

Յուրաքանչյուր վիզուալիզացիա հիմնվում է տվյալների երկչափ զանգվածների վրա, որոնք յուրաքանչյուր LED- ի քարտեզագրում են թիրախային արտացոլման հատվածի որոշակի դիրքի:

Օրինակ, համակենտրոն շրջանակների համար կա 5 հատված.

  • Արտաքին շրջանակ, LED- ներ 0 - 23, 24 LED երկարությամբ
  • Երկրորդ արտաքին շրջանակը, LED- ները 24 - 39, 16 LED- ները
  • Երրորդ շրջան (կենտրոն), LED- ներ 40 - 51, 12 LED երկարությամբ
  • Երկրորդ ներքին շրջանակ, LED- ները 52 - 59, 8 LED երկարությամբ
  • Ներսում LED, LED 60, 1 LED երկարությամբ

Վիզուալիզացիան քարտեզագրում է 7 աուդիո ալիքներից 5 -ը և աստիճանաբար լուսավորում է LED- ները ՝ ըստ շրջանաձև գոտում նրանց դիրքի ՝ համաչափ ձայնի մակարդակին:

Այլ վիզուալիզացիան օգտագործում է տվյալների տարբեր կառուցվածքներ և ձևաչափեր, բայց գաղափարը միշտ այն է, որ վիզուալիզացիան առաջնորդվի տվյալների զանգվածներով, ոչ այնքան կոդով: Այս կերպ վիզուալիզացիաները կարող են ճշգրտվել տարբեր ձևերի (ավելի կամ ավելի քիչ լուսադիոդային լուսարձակներ, ավելի շատ EQ գոտիներ) ՝ առանց ծածկագիրը փոխելու, պարզապես տվյալների զանգվածների արժեքները:

Օրինակ, այսպես է ուրվագծում տեսողականացման 1 -ի տվյալների կառուցվածքը.

// Տեսողականացում 1 և 3 - լրիվ 5 շրջանակ կոնստրուկտոր բայթ TOTAL_LAYERS1 = 5; const byte LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};

Քայլ 4: Պատկերացում

Տեսողականացում
Տեսողականացում
Տեսողականացում
Տեսողականացում
Տեսողականացում
Տեսողականացում
Տեսողականացում
Տեսողականացում

Մինչ այժմ կա 7 արտացոլում և սկսնակ անիմացիա.

Սկսնակ անիմացիա

Երբ սարքը միացված է, ցուցադրվում է հրավառության իմիտացիա: Սա ենթադրաբար պետք է լիներ LED և Servo թեստերի հաջորդականությունը, սակայն հետագայում վերածվեց նման թեստի անիմացիոն տարբերակի

Համակենտրոն գունագեղ շրջանակներ

Լույսերը շրջում են էկրանին համակենտրոն շրջանակներով `համապատասխան eq տիրույթի ամպլիտուդի համաչափ: Պատահականորեն անցում կատարելով ժամացույցի և ժամացույցի հակառակ և գույները դանդաղ պտտելով 256 գունավոր անիվի վրայով

Մալթական խաչ

Մեկ խումբը կենտրոնական LED- ն է: Մեկ այլ գոտի է LED- ների ուղղահայաց և հորիզոնական գծերը, իսկ մնացած հատվածները, որոնք ներկայացնում են յուրաքանչյուրը EQ խումբ: Բոլոր հատվածները 128 պտտվող գույներով պտտվում են `հակադրություն մնալու համար:

Ulsարկերակային լույսեր

Յուրաքանչյուր շրջանակ միատեսակ լուսավորում է բոլոր LED- ները ՝ նվիրված հատուկ eq- ի համար, միևնույն ժամանակ դանդաղ պտտելով գույները ՝ մի փոքր փոխհատուցելով: EQ տիրույթները աստիճանաբար տեղափոխվում են մեկ շրջանակից մյուսը ՝ ստեղծելով արտաքին առաջընթաց:

Բուխարի

Շղթաները կիսաշրջաններ են, որոնք լուսավորված են ներքևից վերև ՝ սկսած վառ կարմիրից և դեղին ավելացնելով վերևում ՝ նմանակելով բուխարիում վառվող կրակը: Asամանակ առ ժամանակ վառ սպիտակ «կայծը» պատահաբար բարձրանում է: Չկա գույնի պտույտ

Վազող լույսեր

Յուրաքանչյուր համակենտրոն շրջան առանձին EQ խումբ է: Առաջատար LED- ները այն LED- ների ներքևի ուղղահայաց գծի վրա են: Երբ LED- ը լուսավորվում է գոտու ամպլիտուդին համապատասխան, այն սկսում է «վազել» համապատասխան շրջանակի շուրջ ՝ դանդաղ նվազելով ինտենսիվությունը: Աջակցվում են և՛ ժամացույցի սլաքի, և՛ ժամացույցի սլաքի հակառակ ուղղությամբ կատարվող պտույտները, որոնք անցնում են պատահականորեն:

Թեթև ծառեր

Սեգմենտները լուսավորված են LED- ի ներքևից ներքև ուղիղ գծով, այնուհետև կողքից `արմավենու նմանակող համակենտրոն կիսաշրջաններում: Գույնի պտույտ:

Կողքի հատվածներ

Սա նախորդ Մալթական խաչի տարբերակն է, որն օգտագործվում է միայն 2 անկյունագծային հատվածներով: Ենթադրվում է, որ այն նման է ձայնային ալիքների պատկերակին:

Քայլ 5: Հպեք կոճակի կառավարման տարրերը

Հպեք կոճակի կառավարման տարրեր
Հպեք կոճակի կառավարման տարրեր

Կա 4 հպման զգայուն կոճակ.

  1. Շրջեք վիզուալիզացիաներով և շարունակեք ընթացիկ ընթացքը մինչև մյուսի ընտրությունը (ըստ կանխադրված վիզուալիզացիայի ցիկլը յուրաքանչյուր 30 վայրկյանը մեկ)
  2. «Սառեցնել» / «ապասառեցնել» ներկայիս գունային սխեման. Եթե ձեզ դուր է գալիս որոշակի գունային համադրություն, կարող եք սառեցնել այն.
  3. Կարգավորեք խոսափողի զգայունությունը
  4. Միացրեք / անջատեք «պարելու ռեժիմը»

Պարային ռեժիմում սարքը կփորձի հայտնաբերել ներկայումս հնչող երաժշտության «բիթը» և գլուխը շրջել ըստ ռիթմի: Առայժմ «պարելը» բավականին անհարմար է, քան գեղեցիկ, անկեղծ ասած:

Քայլ 6 ՝ Beat Detection և Servo «պար»

Atեծի հայտնաբերում և սերվո
Atեծի հայտնաբերում և սերվո

Սարքն անընդհատ փորձում է հայտնաբերել ընթացիկ մեղեդու «բիթը» ՝ որպես 63 Հց հաճախականությունների հաջորդական գագաթների միջև հեռավորություն: Հայտնաբերվելուց հետո (և միայն այն դեպքում, երբ պարային ռեժիմը միացված է), սարքը կակտիվացնի իր սերվո շարժիչը `պատահականորեն ձախ կամ աջ թեքելու համար` ըստ ռիթմի:

Brightանկացած պայծառ գաղափար, թե ինչպես դա ավելի հուսալի դարձնել, ողջունելի է:

'Music_Test_LED' էսքիզը թողարկում է 7 EQ խումբ `Arduino IDE- ի միջոցով գծագրելու համար հարմար եղանակով:

Քայլ 7: 3D ձևեր

3D ձևեր
3D ձևեր
3D ձևեր
3D ձևեր
3D ձևեր
3D ձևեր

Party Lights- ի ամբողջ հավաքը նախագծվել է զրոյից `օգտագործելով Autodesk TinkerCAD:

Օրիգինալ դիզայնը գտնվում է այստեղ: Github.com- ի «ֆայլեր/3D» թղթապանակը պարունակում է STL մոդելներ:

Այս դիզայնը ցույց է տալիս, թե ինչպես է սարքը հավաքված տեսք ունենում:

Բոլոր բաղադրիչները տպագրվում էին, այնուհետև հավաքվում/սոսնձվում միասին:

«Գմբեթում» տեղակայված են միկրոկառավարիչը, Bluetooth տախտակը և խոսափողը: Միկրոկառավարիչը տեղադրված է 40 մմ x 60 մմ տախտակի վրա և աջակցվում է նշանակված ռելսերով:

Servo- ն գտնվում է գմբեթի «ոտքի» մեջ, իսկ կոճակները `հիմքում:

Մարտկոցի խցիկը տպագրված է հատուկ «Պաշար» բաժնում նշված մարտկոցի տեսակի համար: Եթե որոշեք օգտագործել այլ մարտկոց, ապա խցիկը պետք է համապատասխան դիզայնի համապատասխան լինի:

Քայլ 8: Էներգամատակարարում

Էներգամատակարարում
Էներգամատակարարում
Էներգամատակարարում
Էներգամատակարարում

Ultra-Compact 5000-mah Dual USB Outputs Super Slim Power Bank- ը, կարծես, բավականաչափ էներգիա է ապահովում աշխատանքային ժամերի համար:

Մարտկոցի խցիկը նախագծված է այնպես, որ այն անջատվում է սարքի մնացած մասից և կարող է փոխարինվել մեկ այլ տեսակի մարտկոցի համար նախատեսվածով:

USB խրոցը տեղադրված և տաք սոսնձված էր տեղում `մարտկոցը միացնելիս միացնելու համար:

Քայլ 9: Bluetooth վերահսկում

Bluetooth վերահսկողություն
Bluetooth վերահսկողություն

HC-05 մոդուլը ավելացվում է `սարքը անլար վերահսկելու միջոց տրամադրելու համար:

Երբ միացված է, սարքը ստեղծում է «LEDDANCE» կոչվող Bluetooth միացում, որի հետ կարող եք զուգակցել ձեր հեռախոսը:

Իդեալում, պետք է լինի այնպիսի ծրագիր, որը թույլ է տալիս վերահսկել PartyLights- ը (ընտրել գունապնակի, մոդելավորել կոճակների սեղմումները և այլն): Այնուամենայնիվ, ես դեռ մեկը չեմ գրել:

Եթե դուք հետաքրքրված եք օգնել խնջույքի լույսերի համար Android կամ iOS հավելված գրելուն, խնդրում եմ ինձ տեղյակ պահեք:

Սարքը կառավարելու համար ներկայումս կարող եք օգտագործել Bluetooth տերմինալ ծրագիրը և ուղարկել հետևյալ հրամանները.

  • LEDDBUTT - որտեղ է «1», «2», «3» կամ «4» -ը նմանակում է համապատասխան կոճակը սեղմելը: Օրինակ ՝ LEDDBUTT1
  • LEDDCOLRc - որտեղ c- ն 0 -ից 255 համար է `ցանկալի գույնի դիրքը գունավոր անիվի վրա: Սարքը կանցնի նշված LED գույնի:
  • LEDDSTAT - վերադարձնում է 3 նիշի համար, որը բաղկացած է միայն «0» և «1» թվերից.

    • առաջին դիրքը ՝ «0» - գույները չեն պտտվում, «1» - գույները պտտվում են
    • երկրորդ դիրքը ՝ «0» - պարային ռեժիմն անջատված է, «1» - պարային ռեժիմը միացված է
    • երրորդ դիրք. '0' - խոսափողը նորմալ շահույթի մեջ է, '1' - բարձրախոսը բարձր շահույթի մեջ է

Քայլ 10. Վերահսկեք ծրագիրը ՝ հիմնված Blynk- ի վրա

Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա
Վերահսկիչ ծրագիր ՝ հիմնված Blynk- ի վրա

Blynk (blynk.io) ապարատային-ագնոստիկ IoT հարթակ է: Ես օգտագործեցի Blynk- ը իմ IoT ավտոմատ բույսերի ոռոգման համակարգում ուսանելի և տպավորված էի հարթակի հեշտությամբ և ամրությամբ:

Blynk- ն ապահովում է Bluetooth- ի միջոցով ծայրամասային սարքերին միանալը `այն, ինչ մեզ անհրաժեշտ է PartyLights- ի համար:

Եթե դեռ չեք հասցրել, ապա ներբեռնեք Blynk ծրագիրը, գրանցվեք և ստեղծեք Blynk PartyLights հավելվածը ՝ օգտագործելով այս քայլին կցված սքրինշոթերը: Խնդրում ենք համոզվել, որ վիրտուալ կապի առաջադրանքները նույնն են, ինչ սքրինշոթերում, հակառակ դեպքում հավելվածի կոճակները չեն գործի ըստ նախատեսվածի:

«Blynk_settings.h» ֆայլը պարունակում է իմ անձնական Blynk UID- ը: Երբ ստեղծում եք ձեր նախագիծը, այն ձեզ կտրամադրվի նոր, որը կօգտագործեք:

Վերբեռնեք PartyLightsBlynk.ino էսքիզը, գործարկեք ծրագիրը: Paուգակցեք Bluetooth սարքի հետ և վայելեք երեկույթը:

Քայլ 11: Էսքիզներ և գրադարաններ

Էսքիզներ և գրադարաններ
Էսքիզներ և գրադարաններ

Հիմնական ուրվագիծը և օժանդակ ֆայլերը տեղադրված են այստեղ Github.com կայքում:

Party Lights էսքիզում օգտագործվել են հետևյալ գրադարանները.

  • TaskScheduler - համագործակցային բազմակողմանի աշխատանքներ - այստեղ (մշակված է իմ կողմից)
  • AverageFilter - կաղապարված միջին զտիչ - այստեղ (մշակվել է իմ կողմից)
  • Servo - Servo control - ը ստանդարտ Arduino գրադարան է
  • WS2812B -NEOPixel հսկողություն - գալիս է որպես STM32 փաթեթի մաս

Այս Վիքի էջը բացատրում է, թե ինչպես օգտագործել STM32 տախտակները Arduino IDE- ով:

Քայլ 12. Ապագա բարելավումներ

Ապագա բարելավումներ
Ապագա բարելավումներ

Այս նախագծում մի քանի բան կարող է բարելավվել, որոնք դուք կարող եք հաշվի առնել, եթե սկսեք այս նախագիծը.

  • Օգտագործեք ESP32 Maple Mini տախտակի փոխարեն: ESP32- ն ունի 2 պրոցեսոր, Bluetooth և WiFi կույտեր և կարող է աշխատել 60 ՄՀց, 120 ՄՀց և նույնիսկ 240 ՄՀց արագությամբ:
  • Ավելի փոքր դիզայն. Արդյունքում սարքը մեծ է: Կարող է լինել ավելի կոմպակտ (հատկապես, եթե հրաժարվեք պարային գաղափարից և հարակից սերվոյից)
  • Beեծի հայտնաբերումը կարող է անսահմանորեն բարելավվել: Այն, ինչ բնականաբար գալիս է մեզ ՝ մարդկանց, թվում է, թե դժվար խնդիր է համակարգչի համար
  • Շատ ավելի վիզուալիզացիաներ կարելի էր մշակել և իրականացնել:
  • Եվ, իհարկե, կարող է գրվել toրագիր, որը սարքը անլար կերպով կառավարում է զով միջերեսով:

Խորհուրդ ենք տալիս: