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

Արվեստի դինամիկ LED լուսավորման վերահսկիչ. 16 քայլ (նկարներով)
Արվեստի դինամիկ LED լուսավորման վերահսկիչ. 16 քայլ (նկարներով)

Video: Արվեստի դինամիկ LED լուսավորման վերահսկիչ. 16 քայլ (նկարներով)

Video: Արվեստի դինամիկ LED լուսավորման վերահսկիչ. 16 քայլ (նկարներով)
Video: Շրջագայություն Բել Էյրի ֆուտուրիստական առանձնատանը ապակե վերելակով: 2024, Հուլիսի
Anonim
Image
Image

Ներածություն:

Լուսավորությունը տեսողական արվեստի կարևոր կողմերից է: Եվ եթե լուսավորությունը կարող է փոխվել ժամանակի հետ, այն կարող է դառնալ արվեստի նշանակալի հարթություն: Այս նախագիծը սկսվեց լուսային ցուցադրությանը ներկա գտնվելուց և զգալուց, թե ինչպես լուսավորությունը կարող է ամբողջությամբ փոխել օբյեկտի գույնը: Մենք սկսեցինք ուսումնասիրել սա լուսավորման գործվածքների արվեստում: Մինչ այժմ մենք կառուցել ենք դինամիկ լուսավորություն 8 կտորների համար, ներառյալ նկարը և լուսանկարը: Լուսավորության էֆեկտները ներառում են ՝ լուսաբացի և մայրամուտի մոդելավորում, ծակոտկեն մակերևույթով ստորջրյա լույս, ամպերի մեջ կայծակ և կտրուկ փոխում է արվեստի ստեղծագործության ընկալվող գույներն ու տրամադրությունը: Այս էֆեկտների տեսանյութերը ներառված են ստորև ծրագրավորման քայլերում:

Այս հրահանգը կառուցում է վերահսկիչ, որը ժամանակի ընթացքում սահմանում է առանձին հասցեավորվող LED- ների լարի պայծառությունն ու գույնը: Այն ներառում է նաև ընտրովի մուտքային միացում լուսավորման հատվածի ձեռքով կարգավորելու (պայծառությունն ու գույնը կարգավորելու) համար: Դուք նաև կիմանաք բազմաթիվ խնդիրների և բարելավումների մասին, որոնք մենք հայտնաբերել ենք այդ ճանապարհին:

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

Առայժմ մենք կենտրոնանալու ենք էլեկտրոնիկայի և ծրագրավորման վրա:

Քայլ 1: Նյութեր

  • WS2812 LED- ների շարք
  • Arduino Pro Mini 328 - 5V/16 ՄՀց
  • FTDI Friend USB ինտերֆեյս
  • USB A- ից MiniB մալուխ FTDI- ի համար
  • 4700 μf կոնդենսատոր
  • 5 վ էլեկտրամատակարարում 5.5 x 2.1 միակցիչով
  • Էլեկտրական վարդակից 5.5 x 2.1
  • Տերմինալային բլոկ
  • Նախատիպի տպատախտակ
  • Կոճակ
  • Պոտենցիոմետր
  • LEDուցանիշ LED
  • Ռեզիստորներ
  • Ibապավենային մալուխ
  • Վերնագիր արական
  • Վերնագիր կին

Քայլ 2: Ռեսուրսներ

  • Արդուինո; Ինտերակտիվ զարգացման միջավայր (IDE)
  • Adafruit NeoPixel գրադարան
  • NeoPixel ձեռնարկը
  • Strandtest Օրինակ ծրագիր
  • FastLED գրադարան
  • FastLED հղումներ և փաստաթղթեր
  • FastLED ֆորում
  • Մեր լուսավորության ուրվագծերը

Քայլ 3: Վերահսկիչի ակնարկ

Վերահսկիչի ակնարկ
Վերահսկիչի ակնարկ
Վերահսկիչի ակնարկ
Վերահսկիչի ակնարկ

Սխեմատիկ տեսքը բավականին պարզ է և այդպես է: Մենք կառուցեցինք մեր վերահսկիչները, որպեսզի դրանք ներկառուցվեն նկարի շրջանակում: Պատկերված սխեմայի չափսերն են ՝ 2.25”x 1.3” x 0.5”: Լրացուցիչ լարողը կառուցվել է առանձին տպատախտակի վրա `ժապավենային մալուխի միակցիչով: Այս նկարները ցույց են տալիս մեր ավարտված նախագիծը:

Մենք ցանկանում ենք մեր վերահսկիչը տեղավորել նկարի շրջանակի մեջ, այնպես որ մենք ընտրեցինք Arduino pro mini 5v- ն իր փոքր չափի, արժեքի և 5 վ ելքային հզորության համար: 5 վ էլեկտրամատակարարման չափը, որն անհրաժեշտ է, կախված կլինի ձեր նախագծի LED- ների քանակից և դրանց առավելագույն պայծառությունից: Մեր նախագծերը բոլորն աշխատում էին 3 ամպից պակաս, իսկ ոմանք ՝ 1 ամպից պակաս: Գոյություն ունեն հասցեավորվող գունավոր LED- ների մի քանի տեսակներ: Մենք սկսեցինք Adafruit- ի կողմից վաճառվող WS2812- ով ՝ որպես իրենց «NeoPixel» ապրանքներից մեկը: Սա մեզ մոտ աշխատեց, և մենք այլ լուսադիոդներ չենք ուսումնասիրել: Մեր նախագծերից շատերն օգտագործում էին 60 LED մեկ մետրի համար: Մինչ այժմ մեր նախագծերը տատանվել են մինչև 145 լուսադիոդային լուսադիոդների:

Լրացուցիչ tuner:

Մենք կառուցեցինք մի փոքր մուտքային սխեմայի «կարգավորիչ», որպեսզի կարողանանք հեշտությամբ կարգավորել լուսավորության հատվածները ՝ առանց փոփոխման և վերբեռնելու ծրագիրը յուրաքանչյուր ճշգրտման համար: Այն ունի. Ելքային LED, որը թարթում է մուտքի ռեժիմը. կոճակ, որը փոխում է մուտքի ռեժիմը. և բռնիչ, որը կարող է կարգավորվել: Այնուհետև Arduino- ն կարող է արժեքները թողնել միացված համակարգչին:

Քայլ 4: Շենքի վերահսկիչ

Շենքի վերահսկիչ
Շենքի վերահսկիչ

Նյութերի ցանկը չի պարունակում մետաղալարեր, ջերմության նվազեցման խողովակներ և ձեզ անհրաժեշտ այլ պարագաներ: LED- ների 5V և գրունտի միացման համար ես առաջարկում եմ օգտագործել 26 չափիչ կամ ավելի ծանր լար: Մենք օգտագործեցինք 26 չափիչ: Նաև սիլիկոնային մեկուսացումը մետաղալարերի վրա ավելի լավ է, քանի որ այն չի հալչում այն վայրում, որտեղ դուք կպչում եք, և այն ավելի ճկուն է: Ես գտա, որ բաղադրիչների միջև մի փոքր ավելի շատ տարածք թողնելը շատ ավելի հեշտացրեց կեղծիքը: Օրինակ, #6 -րդ քայլում պատկերված վերահսկիչը հոսանքի վարդակից (տերմինալ) և տերմինալային բլոկի (կապույտ) պատյանների միջև տարածությունը մոտ 1 դյույմ է: Մեր ամրացման ծածկը փայտե երեսպատման երկու շերտ է:

Այս քայլի նկարը ցույց է տալիս վեց կոնտակտ իգական վերնագրի միացում `ըստ ցանկության կարգավորիչի: Կարմիր և կանաչ մետաղալարերի միջև չօգտագործված շփումը խցանված է ատամի մածուկի կտորով `հակառակ միացումը կանխելու համար:

Քայլ 5:

Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր

Այժմ, եկեք այն միասին դնենք, որպեսզի այն տեղավորվի ստվերային տուփի շրջանակում: Շրջանակի հաստությունը 3/4 "է, այնպես որ մենք ունենք վերահսկիչի բարձրության սահմանը 1/2": Մենք պատրաստեցինք թիթեղներ `կպչելով երեսպատման երկու ամրացուցիչ` հատիկներին ուղղահայաց միմյանց վրա, որպեսզի սահմանափակվի թեքությունը: Բաղադրիչները դասավորված են այնպես, որ հոսանքի խցիկը լինի շրջանակի կենտրոնում: Էլեկտրահաղորդման փոսը կտրվել է ոսկերիչի սղոցով և տեղադրվել տեղավորվելու համար: Ապա ամրացնելուց առաջ բաղադրիչները միացված են միմյանց: Վարդակը տեղում սոսնձված է էպոքսիդով: Երկկողմանի մշտական փրփուրի ամրացման քառակուսիները օգտագործվում են պտուտակային տերմինալի և արդուինոյի տակ: Տաք հալեցման սոսինձը նույնպես օգտագործվում է arduino- ն տեղում, ինչպես նաև կոնդենսատորը տեղում պահելու համար:

Քայլ 6. Ընտրովի կարգավորիչի ստեղծում

Շենքի ընտրովի կարգավորիչ
Շենքի ընտրովի կարգավորիչ
Շենքի ընտրովի կարգավորիչ
Շենքի ընտրովի կարգավորիչ
Շենքի ընտրովի կարգավորիչ
Շենքի ընտրովի կարգավորիչ

Մենք կառուցեցինք մի փոքր մուտքային սխեմայի «կարգավորիչ», որպեսզի կարողանանք հեշտությամբ կարգավորել լուսավորության հատվածները ՝ առանց փոփոխման և վերբեռնելու ծրագիրը յուրաքանչյուր ճշգրտման համար: Այն ունի. Ելքային LED, որը թարթում է մուտքի ռեժիմը. կոճակ, որը փոխում է մուտքի ռեժիմը. և բռնիչ, որը կարող է կարգավորվել: Այնուհետև Arduino- ն կարող է արժեքները թողնել միացված համակարգչին:

Այս նկարները ցույց են տալիս լարողի սարքավորումները: Ես մեջքը ծածկեցի «Գորիլա» ժապավենով: Որը ժապավենի մալուխը կայուն է պահում և նաև գեղեցիկ բռնակ է պատրաստել:

Քայլ 7: mingրագրավորման վերահսկիչի ակնարկ

Սա իսկապես նախագծի ծանր մասն է: Հուսով եմ, որ դուք կկարողանաք օգտագործել մեր որոշ կոդեր և մեթոդներ ՝ սկսելու համար:

Adafruit- ը և FastLED- ը հրատարակել են երկու մեծ գրադարան `Arduinos- ին հնարավորություն ընձեռելու վերահսկել հասցեագրվող LED- ների բազմաթիվ տեսակներ: Այս երկու գրադարաններն էլ օգտագործում ենք տարբեր նախագծերում: Մենք առաջարկում ենք նաև կարդալ այս գրադարանների վերաբերյալ որոշ ռեսուրսային նյութեր և ուսումնասիրել դրանց օրինակելի ծրագրերը:

Մեր ծրագրերի Github շտեմարանը թվարկված է վերը նշված «Ռեսուրսներ» -ում: Նկատի ունեցեք, որ մենք հեռու ենք Arduino ծրագրավորման հմտություններից, այնպես որ բարելավման շատ տեղ կա: Ազատորեն մատնանշեք խնդիրները և նպաստեք բարելավումներին:

Քայլ 8: Programրագրավորման վերահսկիչ Օրինակ ծածանք

Jeanանի Հոլտի «Ripple» - ը մեր առաջին հաջողությունն էր: Այս կտորը գործվածքների արվեստի ձուկ է ստվերային տուփի շրջանակում: Լուսավորությունը կայուն ցածր մակարդակի կապույտ է ներքևից: Իսկ վերևից ՝ ավելի պայծառ սպիտակ լույսի մինչև երեք լիսեռ, որոնք շարժվում են աջից ձախ, կարծես բեկված լինելով ջրի մակերևույթի վրա ալիքներ շարժելով: Սա բավականին պարզ հասկացություն է, և ծրագիրը չի օգտագործում «լարող» մուտքերը: Այն սկսում է ներառել Adafruit գրադարանը և սահմանել ելքային կառավարման քորոցը և LED- ների թիվը: Հաջորդը մենք կատարում ենք սերիական հաղորդակցության և LED շերտի միանգամյա կարգավորում: Այնուհետև մենք սահմանում ենք մի շարք ներքին փոփոխականներ, ինչպիսիք են ՝ թարմացումների միջև ուշացումը, լույսի լիսեռի բնութագրերը (դրա պայծառությունը ժամանակի ընթացքում և շարժումը), այնուհետև ներկայացնում ենք փոփոխականներ լույսի յուրաքանչյուր լիսեռի համար:

«ChangeBright ()» գործառույթը կբարձրացնի լույսի լույսի պայծառությունը «հարձակման» ժամանակ, այն կպահի կայուն «պահպանման» ժամանակ, այնուհետև կմարվի «քայքայման» ժամանակ:

«Ppածանք ()» գործառույթը կոչվում է լույսի երեք լիսեռներից յուրաքանչյուրի համար ՝ յուրաքանչյուր ժամանակի ավելացման ընթացքում: Theամանակավոր պայծառությունը հաշվարկվում է `հիմնվելով ժամանակի մշտական քայքայման առավելագույն պայծառությունից մարելու վրա: Այնուհետեւ մեկնարկային դիրքի ձախից յուրաքանչյուր LED- ի համար հաշվարկվում է պայծառությունը: Մենք կարող ենք պատկերացնել լույսի ալիք, որը շարժվում է դեպի ձախ: Ձախից յուրաքանչյուր LED գտնվում է ծածկի պայծառության ժամանակի կորի ավելի վաղ կետում: Երբ այս ալիքը զրոյական պայծառություն ունի բոլոր LED- ների համար, կատարված դրոշը սահմանվում է 1 -ի:

Հիմնական հանգույցը սկսվում է LED- ները անջատելով: Այնուհետև երեք ալիքներից յուրաքանչյուրի համար այն կանչում է ծածանքի գործառույթը և ավելացնում է դրա ժամանակի հաշվիչը: Եթե դրոշը դրված է, այն սկսում է ալիքը նորից: Վերջապես հիմնական հանգույցը գունատ կապույտ լույս է դնում ներքևի մասում:

Քայլ 9. Programրագրավորման վերահսկիչի օրինակ ՝ Լուսաբաց մինչև մայրամուտ:

Image
Image

Հաջորդ նախագիծը ՝ Dawանի Հոլտի «Լուսաբաց դեպի մայրամուտ», գործվածքների մեկ այլ գործ է, այս անգամ ՝ աշնանային գունավոր սաղարթներով ծառ: Լուսավորությունը օրվա մոդելավորում է, երբ լուսաբացը սկսում է պայծառանալ ձախ կողմում ՝ անցնելով ցերեկվա պայծառ, որին հաջորդում են մայրամուտի կարմրավուն գույները և առաջընթաց դեպի գիշեր: Այստեղ մարտահրավերն է պարզեցնել գույնը և պայծառությունը ժամանակի հետ փոխելու նկարագրությունը 66 LED լուսադիոդի շերտի վրա: Մյուս մարտահրավերն այն է, որ լույսը սահուն փոխվի: Մենք իսկապես պայքարում էինք ցածր լույսի մակարդակներում լույսի նկատելի տեղաշարժի հետ: Փորձեցի FastLED գրադարանից օգտվել լուսավորման ավելի սահուն անցումներից, բայց չստացվեց: Այս ծրագրի նկարագրությունը կլինի ավելի քիչ մանրամասն: Կրկին մենք օգտագործեցինք Adafruit- ի NeoPixel գրադարանը:

Մենք գնացինք համաժողով `սկսելու մեր LED շերտերը վերին ձախ անկյունում: Սա ստիպում է LED- ի գտնվելու վայրը մի փոքր անհարմար համարել այս կտորում: Շրջանակի շուրջը կա 86 լուսադիոդ: Լուսաբացը լուսավորում է ձախ կողմը, որը 62 -ից անցնում է 85 -ի: Այնուհետև վերևից ձախ ներքևից աջ 0 -ից 43 -ն է:

Այս ծրագիրը չի ներառում «Tuner» մուտքային սխեմայի օգտագործման հնարավորությունը:

Այս ծրագիրը օգտագործում է ժամանակի թուլացումը `թարթումը նվազեցնելու համար: Մենք թարմացնում ենք յուրաքանչյուր հինգերորդ LED- ը, այնուհետև անցնում ենք մեկից մեկով և թարմացնում ենք յուրաքանչյուր հինգերորդ LED- ը և կրկնում ենք մինչև բոլորը թարմացվեն: Այդ պատճառով մենք սահմանում ենք LED լարի երկարությունը մի փոքր ավելի երկար, քան իրականում կա:

Այժմ ահա թե ինչպես պարզեցրինք լուսավորման օրինակի նկարագրությունը: Մենք հայտնաբերեցինք շրջանակի շուրջ 12 տեղեկատու LED դիրքեր ՝ ներքևից ձախից ներքև աջ: Այնուհետև մենք սահմանեցինք կարմիր, կանաչ և կապույտ (RGB) LED ինտենսիվությունը այս տեղեկատու LED- ների համար մինչև լուսաբացից մինչև մայրամուտ ընկած ժամանակահատվածում մինչև 12 ընդմիջման կետ: Յուրաքանչյուր ընդմիջման կետի համար կա 4 բայթ, վերջին ընդմիջումից հետո ժամանակի հաշվարկը և RGB- ի յուրաքանչյուր գույնի մեկ բայթ արժեքը: Այս զանգվածը զբաղեցնում է 576 բայթ թանկարժեք հիշողություն:

Այժմ մենք օգտագործում ենք գծային ինտերպոլացիա `ընդմիջման կետերի միջև արժեքներ գտնելու համար և կրկին գծային ինտերպոլացիա` տեղեկատու LED- ների միջև տեղակայված LED- ների համար արժեքներ գտնելու համար: Որպեսզի ինտերպոլացիան լավ աշխատի, մենք պետք է օգտագործենք որոշ լողացող կետերի միջանկյալ արժեքներ: Լուսաբացից մինչև իրիկուն ընկած ժամանակահատվածը բաժանված է 120 կես վայրկյան ժամանակահատվածի:

Քայլ 10. Programրագրավորման վերահսկիչ Օրինակ Անձրևային անտառ

Հաջորդ նախագիծը, որը ես նկարագրելու եմ, uliուլի-Էն Գասպերի «Անձրևային անտառ» -ն է: Սա գործվածքից արվեստի ավելի մեծ կտոր է `շատ խորությամբ: Այստեղ մենք օգտագործեցինք մոտ 4.4”խորությամբ ստվերային տուփ: Լուսավորման հայեցակարգը լուսային լուսավորության մակարդակն է, որն ավելի մռայլ է ներքևում ՝ լույսը ժամանակ առ ժամանակ թարթելով վերևի տերևների միջով: Այստեղ հասկացությունը նման է Ripple- ին, բայց լույսի լիսեռները չեն շարժվում: Եվ ի տարբերություն ալիքի, որտեղ պայծառությունը սահուն փոխվում է, այստեղ թարթման պայծառությունը պետք է տատանվի: Մենք ստեղծեցինք 40 բայթ զանգված, որը կոչվում է flicker_b2: Մենք պարզեցինք, որ տեսողական էֆեկտը լավ է, եթե մենք օգտագործում ենք նույն օրինակը բոլոր թարթման վայրերի համար: Մենք ստեղծեցինք թարթման 5 վայր: Տեսողական ազդեցությունը վերանայելիս մենք պարզեցինք, որ թարթողներից մեկը պետք է շատ ավելի լայն լինի, քան մյուսները: Մենք օգտագործել ենք fill_gradient_RGB () գործառույթը, որը ձգվում է մոտ 20 լուսադիոդների վրա: Յուրաքանչյուր թարթում անկախ է և սկսվում է պատահականորեն: Յուրաքանչյուր թարթման հավանականությունը կարող է սահմանվել:

Ֆոնի գույնը պետք է սահմանվի և վերականգնվի, երբ թարթումը ավելի պայծառ չէ, քան ֆոնը:

Այս կտորի համար մենք օգտագործեցինք FastLED գրադարանը: Այս ծրագրում #define TUNING- ը օգտագործվում է նշելու համար, եթե թյունինգի տախտակը միացված է, այն պետք է լինի 0, երբ լարիչը միացված չէ: Հակառակ դեպքում վերահսկիչը զգայուն է ստատիկ էլեկտրականության և կուլտուրգիստների նկատմամբ: Կազմողը ներառում է միայն ծրագրի այն հատվածները, որոնք օգտագործում են «Tuner» - ը, երբ այս փոփոխականը 1 է:

Քայլ 11: mingրագրավորման վերահսկիչ Օրինակ փոթորիկ

Մեկ այլ նախագիծ էր Մայք Բեկի «Փոթորիկ» լուսանկարը լուսավորելը: Նկարը փոթորկի ամպ է: Մենք օգտագործում ենք FastLED գրադարանը և չենք ներառում թյունինգի հնարավորությունը: Լուսավորության հայեցակարգն այստեղ որոշակի ֆոնային լույս է, կայծակի առկայծումներով, որոնք պատահաբար հայտնվում են ամպի շուրջ երեք կետերում: Յուրաքանչյուր վայրում բռնկումը պայմանավորված է երեք LED- ով: Այս LED- ների միջև տարածությունը տարբեր է յուրաքանչյուր վայրի համար: Այս երեք LED- ների պայծառությունը որոշվում է երեք 30 բայթ զանգվածներով: Երեք զանգվածների պայծառության հաջորդականությունը տալիս է տատանում և ակնհայտ շարժում երեք LED- ների միջով: Յուրաքանչյուր տեղանքի համար ընտրվում է ընկալվող շարժման ուղղությունը և ընդհանուր պայծառությունը: Յուրաքանչյուր վայրում բռնկման տևողությունը ճշգրտվում է պայծառության արժեքների թարմացման միջև ընկած ժամանակային ուշացմամբ: Կայծակի հարվածների միջև պատահական ժամանակային հետաձգում կա 0.2 -ից 10.4 վայրկյան: Հարվածի երեք վայրերից որևէ մեկը պատահական է ՝ ամպի վերևում 19% հավանականությամբ, աջից ՝ 45% հավանականությամբ, իսկ ձախ կողմում ՝ 36% հավանականությամբ:

Քայլ 12: mingրագրավորման վերահսկիչի օրինակներ Macaw և Nordic Tree:

Դանա Նյումանի «Macaw» և Jeanանի Հոլտի «Nordic Tree» կտորները օգտագործում են լուսավորման գույնը ՝ կտորի ընկալվող գույնը փոխելու համար: Իսկ Դանայի ՝ մեծ մակավի վրա նկարելու դեպքում թռչնի տրամադրությունը ուրախությունից փոխվում է սպառնալիքի ՝ կախված թռչունին շրջապատող լույսի գույնից: Այս երկու ծրագրերը գրեթե նույնական են: Մենք օգտագործում ենք Adafruit NeoPixel գրադարանը, և թյունինգի տախտակի հնարավորությունը այս ծրագրերում է: Այս ծրագրերը հարմարեցված են teatreChaseRainbow () գործառույթից Adafruit_NeoPixel/example/Strandtest.ino (ներբեռնել 29.07.2015 թ.)

Լուսավորությունը պահպանվում է համեմատաբար մշտական պայծառության պայմաններում, մինչդեռ լույսի գույնը տեղաշարժվում է ՝ առաջ անցնելով գույների գունավոր անիվի միջով: Գունավոր անիվի շուրջ առաջընթացը ստեղծվում է ՝ սկսելով 100% կարմիրով և աստիճանաբար նվազելով կարմիրով ՝ միաժամանակ կանաչը ավելացնելով: Երբ կանաչը 100% -ով է, այն հետագայում նվազում է ՝ կապույտն ավելացնելով: Եվ վերջապես, երբ կապույտը նվազում է, իսկ կարմիրն ավելանում է, դու գալիս ես ամբողջ շրջանով:

Սա ապահովում է լուսավորություն ՝ օգտագործելով հիմնական երկու գույները, իսկ մեկը բաց է թողնում: Երբ մենք շրջում ենք լուսավորման այս գունավոր անիվի միջով, ինչ -որ պահի արվեստի գործի ցանկացած գույն բացակայում է մատակարարվող լույսի ներքո: Ընկալվող գույնի արդյունքում առաջացած փոփոխությունը կարող է բավականին դրամատիկ լինել և դառնալ արվեստի արտահայտման մաս: Այսպիսով, եթե կարմիրը բացակայում է լույսի ներքո, նկարի ցանկացած կարմիր մուգ տեսք կունենա: Երբ լույսը մաքուր կարմիր է, ապա կարմիրն իսկապես փայլում է, իսկ մյուս գույներն անջատվում են:

Քայլ 13: mingրագրավորման վերահսկիչի օրինակներ Copperhead:

Jeanանի Հոլտի «Copperhead» - ը օգտագործում է լուսավորման տատանումները `բարձրացնելու արտաքին զգացողությունը և օձի աչքի ընկնող տատանումները: Theրագրավորումը լույսի ալիքներ է շերտավորում ֆոնային լուսավորության վերևում:

Այս ծրագրի համար մենք մշակեցինք FastLED գրադարանը ՝ մեր Tuner սխեմայի հետ միասին:

Ֆոնի գույնը սահմանվում է շրջանակի շուրջ 10 կետի վրա և fill_gradient () գործառույթը օգտագործվում է գույների միջև սահուն անցման համար:

Դիտման ցիկլի սկզբում ֆոնը մթագնում է, և գույնը անցնում է կապույտի ՝ ժամանակի ընթացքում օգտագործելով կոսինուսի կորը և setBrightness () գործառույթը:

Հետաձգումից հետո լույսի երեք ալիք շարժվում է վերին աջից ներքև ձախ: Առաջին ալիքն ամենապայծառն է ՝ հետևյալ ալիքներն ավելի մռայլ են դառնում: Առաջին ալիքը նույնպես դանդաղ է շարժվում:

Քայլ 14: mingրագրավորման վերահսկիչի օրինակներ Black Doodle:

Image
Image

Jeanանի Հոլտի «Սև խզբզոցը» ուսումնասիրում է սև վինիլից արտացոլումները:

Այս ծրագիրը օգտագործում է նաև FastLED գրադարանը և կարող է մուտքագրում կատարել թյունինգի միացումից:

Լուսավորությունը բաղկացած է մինչև 5 լույսի միաժամանակյա ցուցադրումից, որոնք խաղում են շրջանակի շուրջ պատահական կետերից: Յուրաքանչյուր ցուցադրում ժամանակի ընթացքում անցնում է նույն պայծառության 60 արժեքների միջով: Յուրաքանչյուր էկրան ներառում է 7 հարակից LED, որոնց պայծառությունը նվազում է դեպի ծայրերը: Յուրաքանչյուր ցուցադրման մեկնարկից առաջ պատահական հետաձգում կա: Theուցադրման վայրը պատահական է, սակայն ակտիվ ցուցադրման մոտակայքում տեղակայված տեղանքները արգելված են:

Ֆոնը շրջանակների շուրջ տարածված գույների ծիածան է: Այս ֆոնային ծիածանը դանդաղորեն շրջվում է և պատահականորեն շրջում ուղղությունը:

Այս նկարագրությունները ակնարկ են և օգնում են կարդալ ծրագրերը: Հուսով ենք, որ այս լուսավորության էֆեկտներից մի քանիսը բավական հետաքրքիր եք գտել ձեր նախագծերից մեկում ներառելու համար: Github.com- ի հղումը, որտեղ ծրագրերը պահվում են, գտնվում է Քայլ 2 -ի ռեսուրսներում:

Քայլ 15. Կարգավորման գործառույթների ծրագրավորում

RainForest ծրագրում մենք կարող ենք միացնել թյունինգի գործառույթը «#define TUNING 1» - ով և ամրացնել թյունինգի մուտքի տախտակը `օգտագործելով դրա ժապավենի մալուխը: Մենք պետք է նաև սահմանենք այնպիսի պարամետրեր, որոնց համար LED- ն ազդելու է թյունինգի միջոցով: Օրինակ, եկեք LED- ները կարգավորենք 61 -ից 73 -րդ դիրքերում: Մենք օգտագործում ենք #define START_TUNE 61 և #define END_TUNE 73: Լարերի այլ հատվածներ մենք սահմանում ենք () fill_gradient_RGB () զանգերի միջոցով ֆոնային գույներով: Ձեր ուրվագծի մնացած մասը չպետք է LED- ները դնի թյունինգի տիրույթում, այլապես չեք կարողանա տեսնել ձեր ճշգրտումները: Այժմ գործարկեք ուրվագիծը և ցուցադրեք սերիական մոնիտորը: Theրագրի թյունինգի մասն ունի 4 վիճակ [Երանգ, հագեցվածություն, արժեք և պայծառություն]: Գույնը 0 = կարմիր և 255 կապույտից մինչև գրեթե կարմիր գույնի անիվն է: Ընթացիկ վիճակը պետք է տպվի սերիական մոնիտորի վրա, և թյունինգի տախտակի ցուցիչ LED- ը թարթում է `նշելու վիճակը (մեկ թարթումը Հոու է, երկու թարթում` Հագեցում և այլն): Արժեքը լույսի ինտենսիվությունն է, մինչդեռ պայծառությունը նվազեցման գործոն է, որը կիրառվում է LED- ների բոլոր ինտենսիվության արժեքների նկատմամբ: Այսպիսով, ամբողջ պայծառության համար սահմանեք Value = 255 և Brightness = 255. Սեղմեք կոճակը ՝ վիճակը փոխելու համար: Երբ գտնվում եք այն վիճակում, որը ցանկանում եք կարգավորել, պտտեք բռնակը: Programրագիրն անտեսում է բռնակը, մինչև այն ավելի շատ պտտվի, քան INHIBIT_LEVEL- ը:Սա խուսափում է այլ նահանգներում արժեքների փոփոխությունից, երբ դրանք շրջանցում ես: Օրինակ կարող եք սկսել Hue- ով և ստանալ ձեր ուզած գույնը, այնուհետև անցեք արժեքի և կարգավորեք ՝ ձեր ուզած պայծառությունը գտնելու համար:

Macaw և Nordic_Tree էսքիզները ներառում են թյունինգ, սակայն գործառույթները մի փոքր այլ են: Այս ուրվագծերում կան ընդամենը երկու ռեժիմ: Մեկը պայծառության և մեկը գունավոր անիվի դիրքի համար: Այս օրինակներով դուք կարող եք տեսնել, թե ինչպես կարելի է հարմարեցնել թյունինգի գործառույթները `ձեր լուսավորման կառավարման ցանկացած պարամետրի հետ աշխատելու համար:

Պահեստում ներառված է «Թյունինգ» ուրվագիծը, որը վերցնում է թյունինգի գործառույթները RainForest- ից: Այս ուրվագիծը միայն թյունինգի գործառույթներն են, որպեսզի կարողանաք ուսումնասիրել և ավելի հեշտությամբ հետևել, թե ինչպես է աշխատում ուրվագիծը: Մենք օգտագործում ենք այս ուրվագիծը ՝ լուսավորման շրջանակը վերահսկելու համար, որը կարող ենք արագ տեղադրել արվեստի գործի վրա և ուսումնասիրել լուսային էֆեկտները: Հետագայում մենք կօգտագործենք թյունինգի մասին տեղեկությունները `լուսավորության հատուկ կարգավորիչ ստեղծելու համար:

Հուսով եմ, որ այս հրահանգը օգտակար կլինի ձեր նախագիծը գործի դնելու համար:

Քայլ 16: Պատմության մնացած մասը

Սա այս ծրագրի երկու հրահանգներից մեկն է: Եթե դեռ չեք հասցրել, ստուգեք ուղեկիցը ՝

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