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

WS2812-B LED ATMEGA328 UNO V3.0 R3 տախտակով `11 քայլ
WS2812-B LED ATMEGA328 UNO V3.0 R3 տախտակով `11 քայլ

Video: WS2812-B LED ATMEGA328 UNO V3.0 R3 տախտակով `11 քայլ

Video: WS2812-B LED ATMEGA328 UNO V3.0 R3 տախտակով `11 քայլ
Video: LDmicro 21: Կարգավորել C ռեժիմը և Arduino Mega- ն (Microcontroller Programming with LDmicro) 2024, Հուլիսի
Anonim
WS2812-B LED ATMEGA328 UNO V3.0 R3 տախտակով
WS2812-B LED ATMEGA328 UNO V3.0 R3 տախտակով

Նկարագրություն

Այս նախագիծը համատեղում է ICStation WS2812-B ծրագրավորվող գունագեղ LED տախտակը ATMEGA328 UNO V3.0 R3 Board համատեղելի Arduino UNO R3- ի հետ ՝ տեսողական ազդեցություն ստեղծելու համար: Ավելին, եթե «Disco» թեմայով երեկույթ եք անցկացնում, ձեզ դուր կգա: Թույլ տվեք ցույց տալ ձեզ, թե ինչպես պատրաստել այս բաներից մեկը:

Քայլ 1: Պահանջվող մասեր

Պահանջվող մասեր
Պահանջվող մասեր

· Arduino UNO (կամ համատեղելի տախտակ) · 4 x WS2812-B ծրագրավորվող գունագեղ LED տախտակ

· 330 օմ դիմադրություն

· 4700 uF 16V էլեկտրոլիտիկ կոնդենսատոր

· Հացաթուղթ

· Իգականից արական Jumper լարերը

· Breadboard Jumper լարերը

· 2.1 մմ DC վարդակից պտուտակային տերմինալներով

· 5V 4A Plugpack էլեկտրամատակարարում

Նշում. Մարտկոցների միջոցով այս նախագծի սնուցումը հնարավոր է, բայց խորհուրդ չի տրվում և կատարվում է ձեր ռիսկով:

Ձեզ նույնպես պետք է Disco Ball Cake, որը դուք ստիպված կլինեք պատրաստել (կամ գնել): Իմ կինը պատրաստել է այս մեկը: Եվ ինչպես շուտով կտեսնեք, տորթը ներսից վարդագույն էր, քանի որ դա ելակի տորթ էր:

Arduino գրադարաններ և IDEY Դուք կարող եք Arduino IDE- ն ձեռք բերել այստեղից ՝ https://www.arduino.cc/hy/Main/Software Ես օգտագործել եմ 1.6.4 տարբերակը, որը հավանաբար հնացած է… բայց այնուամենայնիվ լավ է աշխատում:

Դուք կարող եք տեղեկություններ ստանալ FastLED գրադարանից օգտվելու մասին այստեղ ՝ https://fastled.io/ Եվ կարող եք ներբեռնել այստեղից ՝ FastLED Library Ես օգտագործել եմ 3.0.3 տարբերակը, որը նույնպես հավանաբար հնացած է:

Քայլ 2: ARDUINO ԿՈԴ:

Քայլ 3. ARDUINO CODE Նկարագրություն

· FastLED գրադարան. Դուք պետք է համոզվեք, որ դուք ներբեռնել և տեղադրել եք FastLED գրադարանը ձեր Arduino IDE- ում: Գրադարանը ներառված է այս ուրվագծում, հակառակ դեպքում FastLED գործառույթները չեն աշխատի:

· «NUM_LEDS» փոփոխական. Arduino- ին պատմում է, թե քանի LEDS են օգտագործվում: Այս դեպքում մենք ունենք 4 LED օղակ, որոնցից յուրաքանչյուր LED օղակը պարունակում է 16 LED, և, հետևաբար, ընդհանուր առմամբ 64 LED: Եթե դուք սահմանում եք ավելի ցածր թիվ, օրինակ ՝ 16, ապա ուրվագիծը միայն լուսավորում է LED- ները առաջին LED օղակի վրա:

· «DATA_PIN» փոփոխական. Arduino- ին ասում է, թե որ թվային քորոցն է օգտագործել LED օղակին տվյալների փոխանցման համար: Այս դեպքում ես օգտագործում եմ Digital Pin 9:

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

Նախաստորագրման ծածկագիր. Եթե դուք ունեք այլ լուսադիոդային օղակ այս ձեռնարկի մատանին, ապա գուցե ստիպված լինեք փոփոխել սկզբնականացման կոդը: Այս LED օղակն ունի WS2812-B չիպսեթ (ըստ ICStation կայքի), և այս տողը.

· FastLED.addLeds (լուսարձակներ, NUM_LEDS); FastLED գրադարանին կասի, թե որ չիպսեթն է օգտագործվում (NEOPIXEL), տվյալների փոխանցման համար օգտագործվող քորոցը (DATA_PIN), վերահսկվող LED զանգվածը (leds) և վերահսկվող LED- ների թիվը (NUM_LEDS): · «" loop () ": կոդի հատված.« երանգ »փոփոխականն ավելանում է` ծիածանի էֆեկտ ստեղծելու համար, և պատահական LED է ընտրվում `օգտագործելով FastLED- ի random8 () գործառույթը:

· Պատահական 8 (x) գործառույթը. Պատահականորեն կընտրի 0 -ից x թիվը:

· The randomSeed () գործառույթը. Կա՞, որպեսզի օգնի «իսկական պատահականացնել» թիվը: Դրան օգնում է կարդալ լողացող անալոգային կապի (A0) պատահականությունը: Պարտադիր չէ, որ այն լինի analogPin 0, այն կարող է լինել ցանկացած չօգտագործված անալոգային քորոց:

· Leds [rnd].setHSV (երանգ, 255, 255). Այս տողում պատահական LED- ն սահմանվում է «երանգ» փոփոխականի հավասար երանգ, հագեցվածությունը ՝ 255 և պայծառությունը ՝ 255: zeroրոյին հավասար հագեցվածությունը LED- ը փայլում է սպիտակ: Zeroրոյի պայծառությունն էապես անջատում է LED- ն:

· FastLED.show (). LED օղակի ցուցադրման մեջ ֆիզիկական փոփոխություններ չեն կատարվի, մինչև Arduino- ից հաղորդագրություն չուղարկվի LED օղակի թվային մուտքագրման քորոցին: Այս հաղորդագրությունը փոխանցվում է, երբ կանչում եք FastLED.show (); գործառույթը: Սա LED օղակներին ասում է, որ իրենց էկրանը թարմացնեն led զանգվածում (leds) պարունակվող տեղեկատվությամբ: Այսպիսով, եթե բոլոր LED- ները միացնեք, խորհուրդը չի լուսավորի LED- ները մինչև FastLED.show (); գործառույթը կոչվում է. Սա կարևոր է իմանալ, հատկապես երբ փորձում եք նախագծել ձեր սեփական LED հաջորդականությունները:

· Հետաձգման (50) տող. Բռնկումների միջև ընկած ժամանակահատվածը սահմանելու է մինչև 50 միլիվայրկյան: Դուք կարող եք փոխել հետաձգումը `վայրկյանում բռնկումների քանակը մեծացնելու կամ նվազեցնելու համար:

· The leds .fadeToBlackBy (180) գործառույթը. Էապես մարում է LEDS- ը 180 միավորով: Դուք կարող եք մեծացնել կամ նվազեցնել այս թիվը `մարելու ցանկալի արագությանը հասնելու համար: Այնուամենայնիվ, զգուշացեք, որ եթե մոռանաք կանչել այս գործառույթը կամ եթե չկարողանաք LED- ները բավականաչափ մարել, ապա կարող եք ավարտվել ԲՈԼՈՐ LED լուսարձակների միացմամբ, ինչը կարող է պոտենցիալ ոչնչացնել ձեր Arduino տախտակը, այսինքն ՝ կախված LED օղակների քանակից: ունես, և ինչպես ես ընտրել նրանց իշխանությունը:

Քայլ 4: Տորթ

Տորթ
Տորթ

· Սահիկ 1 - Հիմնական ափսե. Կարևոր է հիմքի ափսե ստեղծել ամբողջ էլեկտրոնիկայով և աշխատունակ վիճակում, նախքան տորթը դրա վրա դնելը: Փորձելով լարեր/մալուխներ տեղադրել LED- ներ և սխեմաներ բազայի ափսեի տակ, մինչ տորթի գագաթը կա, դա աղետի բաղադրատոմս է: Այսպիսով, նախ պատրաստեք հիմքի ափսեը, իսկ հետո անցեք տորթի պատրաստման մասին ավելի ուշ:

· Սահիկ 2 - Թխել տորթ. Գնդակի երկու կողմերը պատրաստելու համար ձեզ հարկավոր կլինի մի քանի կիսագնդի տորթեր: Դուք պետք է պատրաստեք համեմատաբար խիտ տորթ, որպեսզի դիմանաք տորթի, սառույցի և ֆոնդանի ընդհանուր քաշին և պահպանեք դրա ձևը: Երբ սառչեն և սառչեն, դրանք կարող եք տեղադրել միմյանց վրա ՝ գունդ ձևավորելու համար: Նրանք միասին պահվում են նրանց միջև ընկած շերտով:

· Սահիկ 3 - Ֆոնդանտ սառույց. Մենք պարզեցինք, որ մի քիչ ալյուր ավելացնելը օգնում է նվազեցնել կպչունությունը: Կան հատուկ գլանափաթեթներ, որոնք ապահովում են, որ ֆոնդանի հաստությունը համաչափ է ամբողջ ընթացքում: Այնուհետեւ դուք պետք է դրանք կտրեք քառակուսի կտորների (մոտ 1 սմ քառակուսիները մեզ մոտ լավ էին աշխատում): Այնուհետև քառակուսիները ներկվում են Արծաթով `հատուկ/ուտելի արծաթե ֆոնդանտ փայլով: Հնարավոր է, որ անհրաժեշտ լինի օգտագործել մի քանի շերտ և թույլ տալ, որ այն չորանա վերարկուների միջև:

· Սահիկ 4 - Սառցե տորթ հիմքի վրա. Տորթը կարող է կամ սառցակալվել հիմնական ափսեի վրա կամ դրանից դուրս … հավանաբար ավելի լավ է դա անել հիմնական ափսեից: Բայց եթե որոշեք դա անել հիմնական ափսեի վրա, ապա ձեզ հարկավոր է պաշտպանել LED- ները թափառող սառցակալումից, որը կարող է ընկնել տորթից (ընթացքում): Երբ տորթը լիովին սառեցվեց (սառույցով/սառեցմամբ), ձեզ հարկավոր կլինի տորթը տեղադրել տախտակի կենտրոնական դիրքում: Հնարավոր է, որ տորթը սահի հիմքից … այնպես որ արեք այն, ինչ ձեզ հարկավոր է անել, որպեսզի այն մնա տեղում:

· Սահիկներ 5-7 - Տեղադրեք ֆոնդանտ քառակուսիներ. Մինչև սառույցը դեռ փափուկ է, ապա ձեզ հարկավոր է արագ, մեթոդաբար և անխոնջ տեղադրել ֆոնդանի քառակուսիները տորթի շուրջը հորիզոնական գծային ձևով: Աշխատեք դեպի տորթի հյուսիսային և հարավային բևեռներ ՝ միաժամանակ կատարելով մեկ տող: Տորթի հյուսիսային բևեռի համար կարող եք կտրել ֆոնդանտ շրջանակ: Սահիկ 7 -ում դուք կտեսնեք տորթի վերևում գտնվող անցք: Այն պատրաստվել է պլաստմասե տարայի ներսը սառեցնելու համար, որը հետագայում կօգտագործվի տորթի վերևի մասում զարդարանքները պահելու համար: Դա արեք նախքան տորթի վերևում տեղադրեք ֆոնդանտ շրջանակը:

· Սահիկ 8 - Ավելացնել փայլ. Տորթի վրա բոլոր ֆոնդանտ քառակուսիները դնելուց հետո, շատ հնարավոր է, որ Արծաթագույն փայլը կարող է ջնջվել որոշ քառակուսիներից: Այստեղ նորից անցնում եք արծաթագույն փայլով ևս մի շերտով, իսկ վերջին շերտի վրա, մինչև այն չորանա, կարող եք տորթի շուրջը շաղ տալ ուտելի փայլով `դրան լրացուցիչ փայլ հաղորդելու համար:

· Սահիկ 9 - Վերջնական արտադրանք. Վերջնական քայլը տորթի վերևում մետաղալար կայծեր և որոշ այլ զարդեր ավելացնելն է: Հյուսիսային բևեռի ֆոնդանի կափարիչի միջոցով լարերը մղեք ներսից գտնվող տարայի մեջ: Սա կպահի լարերը տեղում ՝ առանց քայքայելու ձեր ամբողջ ծանր աշխատանքը:

· WS2812-B չիպսեթ. Այս LED օղակը օգտագործում է WS2812-B չիպսեթը և ունի 4 ճեղքվածք (GND, 5V, Din, Dout)

· Հզորություն. Այս մոդուլը սնուցելու համար անհրաժեշտ է ապահովել 5 Վ և մինչև 1 Ա հոսանք

· Ազդանշաններ. LED օղակը կառավարելու համար անհրաժեշտ է նրան ազդանշաններ ուղարկել Թվային մուտքագրման քորոցի (Din) միջոցով:

Դուք կարող եք միացնել մեկ այլ LED օղակ ՝ օգտագործելով թվային ելքային քորոց (Dout)

Քայլ 5: Էլեկտրաէներգիայի օգտագործման ուղեցույց

Էլեկտրաէներգիայի օգտագործման ուղեցույց
Էլեկտրաէներգիայի օգտագործման ուղեցույց

· Ընդհանուր կանոն. Օղակի յուրաքանչյուր առանձին LED կարող է փոխանցել կարմիր, կանաչ և կապույտ լույս: Այս գույների համակցությունները կարող են կազմել ցանկացած այլ գույն: Սպիտակ լույսը կազմված է այս երեք գույներից միաժամանակ: Յուրաքանչյուր առանձին գույն մոտավորապես 20 մԱ հոսանք է քաշում, երբ այդ գույնը ցույց է տալիս առավելագույն պայծառությամբ: Երբ առավելագույն պայծառությամբ սպիտակ է փայլում, մեկ լուսադիոդը կգրավի մոտավորապես 60 մԱ:

· Էլեկտրաէներգիայի բազմապատկիչ. Եթե յուրաքանչյուր LED կարող է նկարել մինչև 60 մԱ, և մեկ LED օղակի վրա կա 16 LED, ապա յուրաքանչյուր LED օղակի համար 16x60mA = 960mA: Անվտանգ լինելու և մաթեմատիկան ավելի դյուրին դարձնելու համար դուք պետք է համոզվեք, որ ապահովում եք բավականաչափ հոսանք ՝ 1 LED մեկ օղակի համար 1A տեղավորելու համար: Այսպիսով, 4 LED օղակների համար անհրաժեշտ կլինի 5V 4A սնուցման աղբյուր, եթե ցանկանում եք մոդուլներից դուրս գալ ամբողջական ֆունկցիոնալությունը:

Քայլ 6: Փխրման դիագրամ

Ֆրիտզինգի դիագրամ
Ֆրիտզինգի դիագրամ
Ֆրիտզինգի դիագրամ
Ֆրիտզինգի դիագրամ

Մի LED օղակ միացնելով Arduino- ին

· 3 լար. LED օղակին միանալու համար անհրաժեշտ է ընդամենը 3 լար: Եթե դուք մտադիր եք միանգամից մի քանի LED լուսավորել, դա պետք է լավ լինի: · ԱՊԱՀՈՎ AYԱՆԱՊԱՐՀ. Դա անելու ավելի անվտանգ միջոց է օգտագործել արտաքին էներգիայի աղբյուրը `ինչպես Arduino- ի, այնպես էլ LED օղակի սնուցման համար:

· Էլեկտրոլիտային կոնդենսատոր. Միացնելով 4700 uF 16V էլեկտրոլիտային մեծ կոնդենսատոր `հոսանքի հոսանքի դրական և բացասական տերմինալների միջև, իսկ կոնդենսատորի բացասական ոտքը` կցված սնուցման բացասական տերմինալին, դուք կպաշտպանեք ձեր LED օղակները ցանկացած սկզբնականից: հոսանքի ներխուժում.

Պաշտպանող դիմադրություն. Alsoանկալի է նաև տեղադրել 300-400 օմ դիմադրություն Arduino- ի թվային Pin 9 (D9)-ի և LED Ring- ի թվային ներածման քորոցի (Din) միջև: Սա պաշտպանում է առաջին LED- ն պոտենցիալ լարման ցատկումներից

Հարմար լարեր. Եթե նախատեսում եք միացնել այս LED օղակներից մի քանիսը (տե՛ս ստորև), ապա, հավանաբար, կցանկանաք հնարավորինս կարճ պահել լարերը և օգտագործել արժանապատիվ մալուխ, որը կարող է կարգավորել դրանց միջով ընթացող ընթացքը:

Քայլ 7. Երկու LED օղակներ միացնել Arduino- ին

Երկու LED մատանի միացնելով Arduino- ին
Երկու LED մատանի միացնելով Arduino- ին

Երեք լրացուցիչ լարեր. Լրացուցիչ LED օղակ միացնելու համար ձեզ հարկավոր է ընդամենը 3 լրացուցիչ լար: Լարը պետք է միացնի առաջին LED օղակի թվային ելքը (Dout) 2 -րդ LED օղակի թվային մուտքին (Din):

Մնացեք ապահով. Եվս մեկ անգամ, դա անելու ավելի անվտանգ միջոց է օգտագործել արտաքին սնուցման աղբյուր, տերմինալներում մեծ էլեկտրոլիտիկ կոնդենսատոր և 300-400 օմ դիմադրություն Arduino- ի և առաջին LED մատանի թվային մուտքի քորոցի միջև:

Քայլ 8. Չորս LED մատանի միացնել Arduino- ին

Չորս LED մատանի միացնելով Arduino- ին
Չորս LED մատանի միացնելով Arduino- ին

Վաթսունչորս LED: Ձեզ անհրաժեշտ է 3 լրացուցիչ լար յուրաքանչյուր լրացուցիչ LED օղակի համար: 4 LED օղակ ապահովում է ընդհանուր առմամբ 64 LED:

Դիտեք AMPS- ը. Լրիվ պայծառության դեպքում այս կարգավորումը կարող է պոտենցիալ ձգել մինչև 4 amps (կամ մոտավորապես 1 ամպեր մեկ LED օղակի համար)

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

Քայլ 9: Միացման աղյուսակներ

Միացման սեղաններ
Միացման սեղաններ

Ինչպես միացնել մեկ LED մատանին Arduino- ին

Քայլ 10. Ինչպես միացնել երկու LED օղակ Arduino- ին

Ինչպես միացնել երկու LED օղակ Arduino- ին
Ինչպես միացնել երկու LED օղակ Arduino- ին

Քայլ 11: Եզրակացություն

Եզրակացություն
Եզրակացություն
Եզրակացություն
Եզրակացություն
Եզրակացություն
Եզրակացություն

Այս ձեռնարկում մենք ձեզ ցույց տվեցինք, թե ինչպես կարելի է զարդարել Disco Ball տորթը և ինչպես օգտագործել ICStation- ի RGB LED օղակները:

Չորս արտադրանքի հղումը ICStation- ում.

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

Շնորհակալություն մեր ընկերներին ՝ Սքոթին և նրա ընտանիքին, որոնք նման հիանալի ներկայացում էին արել Լեդին:

Բովանդակության սկզբնաղբյուրը եկել է մեր ընկեր Սքոթից.

arduinobasics.blogspot.com.au/2016/06/ardui…

Եթե ձեզ դուր է գալիս այս հատվածը, խնդրում ենք կիսվել ձեր հրեշների հետ:

Եթե կարծում եք, որ կարող եք ավելի լավ կարծիք կազմել, խնդրում ենք մեկնաբանել:

Եթե ավելի շատ գաղափարներ ունեք IC արտադրանքի վերաբերյալ, դիմեք մեզ փոստով ՝ [email protected]

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