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

42 RGB LED պիքսելային գեղանկարչություն ՝ 5 քայլ
42 RGB LED պիքսելային գեղանկարչություն ՝ 5 քայլ

Video: 42 RGB LED պիքսելային գեղանկարչություն ՝ 5 քայլ

Video: 42 RGB LED պիքսելային գեղանկարչություն ՝ 5 քայլ
Video: New Auxbeam 42 inch RGB Light Bar! 2024, Հուլիսի
Anonim
42 RGB LED պիքսելային գեղանկարչություն
42 RGB LED պիքսելային գեղանկարչություն

Հեյ, Այսպիսով, դպրոցական առաջադրանքի համար, որը կոչվում էր «Եթե դա այդպես է», ես պետք է պատրաստեի ինտերակտիվ // ինչ -որ բան // օգտագործելով Arduino Uno ստարտափը (և ինչ էլ որ մեկը պատրաստ լիներ գնել ինքն իրեն): Տեսնելով, որ զբաղվում եմ արվեստի/տեխնոլոգիայի ուսումնասիրությամբ, ես ցանկացա կատարել երկուսի համադրությունը (արվեստ և տեխնոլոգիա): Ես մտածեցի, որ ես նկարելու եմ այնքան RGB LEDS- ից, որքան կարող եմ տեղավորել իմ Arduino- ում և թույլ կտամ նվագարկիչին/նկարչին ձեռքով շրջել այդ RGB LEDS- ով և ընտրել գույն: Այս կերպ նրանք կարող են ստեղծել իրենց սեփական «պիքսելային արվեստը»:

Քայլ 1. Որոշ նախապատմության տեղեկատվություն և տեսություն

Լավ, եկեք թփի շուրջը չծեծենք: Եթե ցանկանում եք կյանքի կոչել այս նախագիծը. Դժվար է: Ինձանից շատ ժամեր պահանջվեցին `պարզելու/սովորելու, թե ինչ անել, և նույնիսկ ավելին` իրականում դա իրականացնելու համար, բայց եթե իսկապես ուզում եք մետաղալարով տուփ, որը կարող է ստեղծել շատ փոքր «նկարներ», ես ձեզ կսովորեցնեմ, թե ինչպես:

Այսպիսով, առաջին հերթին առաջինը: Մենք ցանկանում ենք որքան հնարավոր է շատ LED/RGB LEDS մեր Arduino- ի վրա: Որքան շատ (RGB) լուսադիոդային լուսադիոդներ միացնեք, այնքան ավելի մանրամասն կարող եք կատարել ձեր «նկարը» (10x10 պիքսել թույլ է տալիս ավելի մեծ տեղաշարժվելու տեղ, քան 2x2 աջ): Ենթադրում եմ, որ ավելի շատ եղանակներ կան ՝ ձեր 13 թվային կապում (RGB) շատ լուսադիոդներ (օրինակ ՝ հերթափոխի գրանցամատյանում) ստանալու համար, բայց ես օգտագործել եմ «Charlieplexing» մեթոդը: Ես հղում կտամ մի ուսանելիին, որն ինձ օգնեց հասկանալ այս հայեցակարգը (լրջորեն նրանք դա իսկապես լավ են բացատրում), բայց նաև ձեզ կտամ արագ տարբերակը այստեղ: Charlieplexing- ը ընթանում է հետևյալ կերպ.

Դուք LED- ը տեղադրում եք 1 -ին և 2 -րդ կապի միջև, եթե 1 -ին պտուտակը սահմանում եք HIGH և 2 -ից LOW- ը, շրջանակը սահուն կաշխատի, և LED- ը կմիանա: Հիմունքներ: Դե, հիմա դուք կցեք մեկ այլ LED, բայց շրջվեց: Երկար վերջը 2 -ի վրա է, իսկ կարճ ծայրը ՝ pin1- ի վրա: Այժմ, եթե պտուտակ 2 -ը դարձնում եք HIGH, իսկ 1 -ը ՝ OWԱOWՐ, ձեր երկրորդ LED- ը կմիանա, և ձեր առաջինը կմնա անջատված, քանի որ հոսքը սխալ կլինի: Այժմ դուք կարող եք 2 LED կապել 2 կապում: Եթե մենք ստանում ենք խառնուրդի 3 -րդ քորոցը, կարող եք անել այս հնարքը 1 -ից 2 -ի, 1 -ի և 3 -ի և 2 -ի և 3 -ի միջև: Դա 6 լուսադիոդ է: Սա շարունակվում է, 5 կապում մեզ կտրամադրվի (2 + 4 + 6 + 8) 20 լուսադիոդ: Բոլոր թվային 13 կապում օգտագործելը մեզ տալիս է 156 տարբերակ: Դա 156 LEDS է, որոնք կարող եք անհատապես միացնել և անջատել:

(լավ, ձեզանից որո՞նք են հետաքրքրվում: Այո, երբ շատ բաներ ունեն, անհնար է միաժամանակ միանգամից միացնել դրանք, բայց անհանգստացեք, arduino- ն կարող է այնքան արագ անցնել ձեր LED- ների միջև, որ մարդու աչքը չի տեսնում թարթումը)

(Ավելի լավ և մանրամասն բացատրություն ՝ նկարներով)

Լա՛վ, շատ ջանքեր գործադրելով, երբ խոսքը գնում է էլեկտրագծերի մասին (ես դրան կանդրադառնամ ավելի ուշ), մենք կարող ենք LED- ների բավականին ցանց պատրաստել, բայց թույլ տվեք դեմք առնել: LED- ները սարսափելի ձանձրալի են: Ինչպե՞ս կարելի է նկարել միայն 2 գույներով: Ենթադրում եմ, որ կարող էիք, բայց դա ավելի սառն է, եթե ավելի շատ գույներ ունեք աջից ընտրելու: ճիշտ. Այսպիսով, մենք դիմում ենք RGB LED- ներին:

RGB LED- ները հիմնականում 3 LED են 1 -ում: Նրանք ունեն ընդհանուր կաթոդ կամ անոդ (որտեղ հոսանքը մտնում կամ դուրս է գալիս), իսկ մյուս 3 «ոտքերը» ձեր կարմիր կանաչ և կապույտ LED են: Սա նկատի ունենալով ՝ այո, մենք կարող ենք դրանք նաև charlieplex անել: Յուրաքանչյուր RGB LED հաշվարկվում է 3 սովորական LED- ի համար: Այդ կերպ դուք դեռ կարող եք դրանք բոլորը անջատել և անջատել և ստեղծել սառը գույներ `ընտրության համար: Միակ բացասական կողմն այն է, որ դա ամեն ինչ ավելի է դժվարացնում, քանի որ դուք պետք է քարտեզագրեք/պլանավորեք և միացնեք 3 անգամ ավելի շատ LED- ներ, քան ի սկզբանե պետք էր:

Ես գնացի 42 RGB LED- ների համար 13 կապում: Դա 126 սովորական լուսադիոդային լուսադիոդ է ….. համարը բավական է: Թույլ տվեք պատմել ձեզ, թե ինչպես դա արեցի:

Քայլ 2: Պլանավորում

Պլանավորում
Պլանավորում

Այո, այս քայլը բավականին հեշտ է, երբ հասկանում ես այն տեսությունը, որը կանգնած է այն բանի համար, ինչ անում ես: Հիմնականում դուք գրում եք ձեր բոլոր LED- ները և պլանավորում, թե որ քորոցը պետք է գնա RGB LED- ի որ «ոտքին», այնպես որ դուք ծածկում եք ձեր բոլոր տարբերակները: Ես կցեցի իմ պլանավորման պատկերը, ազատ զգացեք նաև օգտագործել այն (ես չօգտագործեցի առկա բոլոր տարբերակները, քանի որ 156 -ից «միայն» պետք էր 126 միացում: Ես դա կառուցվածքավորեցի այսպես, քանի որ շինարարությունը փոքր -ինչ ավելի կատարելի կդարձներ):

Կարևոր է սա ստանալ թղթի վրա, այն հետագայում կպահանջվի կոդավորելու համար: Եթե դուք չգրեք սա և չփչացնեք 1 կապ, ծածկագիրը չի աշխատի այդ LED- ի համար:

Քայլ 3: Կոդ

Լավ, ուրեմն, եթե արդեն գաղափար ունես, թե ինչպես միացնել այսպիսի 2 RGB լուսադիոդներ 2 կապում. Շարունակիր: Հաճելի է ստուգել ծածկագիրը, բայց վստահեցնում եմ, որ այն աշխատում է: Ես փորձեցի անել հնարավորինս «մաքուր» կոդավորում (սա կարող եք նաև կառավարել անջատիչների անջատիչներով, բայց դա պարզապես սարսափելի քաշքշուկ է, որի պատճառով դուք գրել եք ձեր ամբողջ ծածկագիրը x42, դա ինձ հասկացրեց, որ հավանաբար ավելի լավը կա ճանապարհ):

Կոդի նպատակը հետևյալն է. Դուք սկսում եք LED1- ից: Կոճակ 1 -ը թույլ է տալիս անցնել հաջորդ LED- ին, բայց ձեր նախորդ LED- ը մնում է միացված: Button2- ը թույլ է տալիս վերադառնալ նախորդ LED- ին, կոճակը 3 -ը ՝ գույնը փոխելու հնարավորություն: Ընթացիկ ընտրված LED- ը թարթում է, որպեսզի տեսնեք, թե որ LED- ն է «ընտրված»:

Դա իրականացնելու համար ես աշխատեցի զանգվածների հետ: Ես ստեղծեցի LED դաս, որն օգտագործում է պլանավորման փուլում ձեր գրած տվյալները ՝ տեսնելու, թե որ քորոցին է անհրաժեշտ որոշակի գույն ստեղծելու համար: Ես դրանք բոլորը դնում եմ զանգվածի մեջ և թույլ եմ տալիս, որ arduino- ն օղակի միջոցով անցնի LEDarray- ով ՝ որոշելու, թե որն է և գունային զանգվածի միջոցով ՝ որոշելու, թե որ գույնն է ընտրված (գույնը որոշվում է անջատիչով, որը թույլ է տալիս ընտրել 7 գույն): Թարթելը կարգավորվում է if- հայտարարությամբ:

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

Քայլ 4: Ամենադժվար մասը

Ամենադժվար մասը
Ամենադժվար մասը
Ամենադժվար մասը
Ամենադժվար մասը

Այսպիսով, այժմ դուք ունեք մի գաղափար, աշխատանքային ծածկագիր … պարզապես ոչ թե իրական արտադրանքը: Սա այս նախագծի ամենասարսափելի մասն է, և ես ձեզ խորհուրդ կտամ դրան անլուրջ վերաբերվել: Հիշու՞մ եք այն բոլոր տարբեր ոտքերը, որոնք բոլորն ավարտվում են նույն քորոցով: լավ, այո … դուք պետք է կազմեք ձեր LED- ների ցանցը, այնուհետև միացրեք յուրաքանչյուր ոտք յուրաքանչյուր մյուս ոտքին, որը պետք է անցնի նույն քորոցին, այնուհետև դրանք միացրեք նշված քորոցին: Սա ամենադժվար մասն է, և իմը նույնպես 100% կատարյալ չի ստացվել: Եթե դուք լավ եք զոդում, գուցե հնարավորություն ունենաք:

Ես միանգամից մի շարք RGB լուսադիոդներ տեղադրեցի և յուրաքանչյուր ոտքին միացրեցի պղնձե մետաղալար (խորհուրդ եմ տալիս պղնձե մետաղալար պատյանով/փաթաթվածով: Իմը չափազանց հաստ էր և դա ինձ շատ վիշտ պատճառեց): Beգույշ եղեք, որ երկու ոտք կամ լար չդիպչեն միմյանց: ապա «պարզապես» միացրեք բոլոր լարերը, որոնք պետք է անցնեն միևնույն քորոցին, այնուհետև դրանք միացրեք ռեզիստորին և միացրեք այն նշված քորոցին: Համոզված եմ, որ դա անելու «ավելի ապահով» միջոց կա, բայց համոզված եմ, որ այն կխեղդվի մետաղալարերի մեջ ՝ փորձելով և ազնվորեն….ք ձեր սեղանը այնքան մեծ է:

(ես ավելացրեցի նկար, որը կարող է պարզեցնել այս քայլը: Այն ձեզ ասում է, թե որ ոտքը որ քորոցին պետք է գնա, ճշգրիտ իմ կոդին հետևելու համար):

Ինձանից պահանջվեց 4 ամբողջ աշխատանքային օր, բայց այժմ յուրաքանչյուր LED (հանած 3-4-ը, որոնք ես պտուտակեցի) կարող է միացվել առանձին:

ապա ձեզ մնում է միայն միացնել մի քանի կոճակներ և presto: Ձեր սեփական Pixel Art նկարչությունը:

Այս տղան նաև էլեկտրագծերի օրինակ բերեց, որն իսկապես օգտակար էր

Քայլ 5: Գլոթ: Բացարձակ Գլոթ:

Եթե դու սկսնակ ես (ինձ նման), և քեզ հաջողվել է ինչ -որ բան նմանեցնել լարերի այս բույնին, և այն միանում է. մռայլ Դուք իսկապես լավ եք արել:

Եթե ունեք հարցեր/մեկնաբանություններ, թողեք դրանք ստորև, ես կփորձեմ օգնել, եթե կարող եմ:

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