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

PUBG թեմայի երգ+անիմացիա Arduino- ի հետ: 13 քայլ (նկարներով)
PUBG թեմայի երգ+անիմացիա Arduino- ի հետ: 13 քայլ (նկարներով)

Video: PUBG թեմայի երգ+անիմացիա Arduino- ի հետ: 13 քայլ (նկարներով)

Video: PUBG թեմայի երգ+անիմացիա Arduino- ի հետ: 13 քայլ (նկարներով)
Video: Վեբինար: Մոնտաժ, նկարահանում, տեխնիկա / Արեն, Լիլի 2024, Նոյեմբեր
Anonim
Image
Image
Բոլոր մասերի հավաքում
Բոլոր մասերի հավաքում

Բարև ձեզ և բարի գալուստ այս զվարճալի ուսանելի: Հուսով եմ, որ բոլորդ լավ եք և առողջ եք: Այս փոքր, բայց զարմանալի նախագիծը PUBG թեմայի երգը նվագելու և նույնիսկ arduino- ի միջոցով որոշ խաղային անիմացիաներ ստեղծելու մասին է:

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

Նախագծի մասին պատկերացում կազմելու համար խորհուրդ կտամ դիտել տեսանյութը:) Եթե ձեզ դուր եկավ, ապա հավանեք և տարածեք տեսանյութը: Եթե ցանկանում եք վայելել իմ կառուցվածքը, մտածեք բաժանորդագրվել իմ ալիքին: Շնորհակալություն:

Այսպիսով, առանց որևէ հետաձգման, եկեք սկսենք:

Քայլ 1: Բոլոր մասերի հավաքում

Բոլոր մասերի հավաքում
Բոլոր մասերի հավաքում

Կառուցվածքը հիմնականում բաղկացած է Arduino Nano- ից, որն այս ծրագրի հիմնական առանցքն է: Դուք կարող եք օգտագործել Arduino- ի ցանկացած այլ տարբերակ, ինչպիսիք են հանրաճանաչ Arduino Uno- ն, Arduino Pro Mini- ն, Arduino Mega- ն և այլն: Շարժապատկերներն ու պատկերները ցուցադրելու համար որոշեցի գնալ 0.96 դյույմանոց OLED էկրանով `128 -ով 64 պիքսել թույլատրությամբ: Այս ցուցադրումը կարող է լինել arduino- ի հետ ինտերֆեյս I2C արձանագրության հետ, որը տվյալների և ժամացույցի համար պահանջում է ընդամենը երկու լար, դրանով իսկ նվազեցնելով միացումների թիվը և նախագիծը դարձնելով ավելի կոմպակտ: PUBG թեմայի մեղեդին նվագարկելու համար ես օգտագործեցի 5 Վ ազդանշան, որից դրական կապը միացրեցի արդուինոյի թվային 6 -րդ կապի հետ և գետինը գնում է Արդուինոյի գետնին:

Ահա նախագծի համար անհրաժեշտ մասերի ցանկը.

  1. Arduino Nano (կամ ձեր նախընտրած ցանկացած arduino տախտակ)
  2. 0.96 դյույմ OLED ցուցադրման մոդուլ
  3. 5 Վ ազդանշան
  4. Jumper լարերը
  5. Breadboard
  6. Arduino ծրագրավորման մալուխ

Քայլ 2: Միացրեք OLED էկրանը

Միացնելով OLED էկրանը
Միացնելով OLED էկրանը
Միացնելով OLED էկրանը
Միացնելով OLED էկրանը
Միացնելով OLED էկրանը
Միացնելով OLED էկրանը

OLED էկրանին arduino- ից միանալու համար անհրաժեշտ է ընդամենը 4 միացում.

Vcc 5V Arduino

Gnd Gnd of Arduino

SDA A4 Arduino

Arduino- ի SCK A5

Արդուինոյի A4 և A5 կապերը ծառայում են անալոգային մուտքերի բազմաթիվ նպատակների, ինչպես նաև I2C հաղորդակցության կապում: Այստեղ մենք օգտագործել ենք I2C արձանագրության կապում ցուցադրման մոդուլի հետ ինտերֆեյսի համար:

Այս նախագծում օգտագործվող Adafruit գրադարանի հղումը ՝

Քայլ 3. Միացրեք ազդանշանը

Միացնող ազդանշանը
Միացնող ազդանշանը
Միացնող ազդանշանը
Միացնող ազդանշանը

5 Վ ազդանշանն ունի դրական և բացասական մատակարարման տերմինալ:

Arduino- ի դրական D6 (թվային կապում 6) (կարող եք օգտագործել arduino- ի ցանկացած թվային կապում)

Բացասական քորոց Gnd of Arduino

Մենք պատրաստվում ենք ստեղծել ցանկալի հնչերանգ D6 թվային կապում, որին ազդանշանը կհնչեցնի մեղեդին:

Քայլ 4: Բոլոր ապարատային կապերն ավարտված են:

Բոլոր ապարատային կապերն ավարտված են
Բոլոր ապարատային կապերն ավարտված են
Բոլոր ապարատային կապերն ավարտված են
Բոլոր ապարատային կապերն ավարտված են

OLED էկրանին և ազդանշանի բոլոր անհրաժեշտ միացումներն ավարտված են: Այժմ եկեք շարունակենք հասկանալ ծրագրի ծրագրավորման ասպեկտը:

Քայլ 5. Գրադարանի ներառումը և ցուցադրման արձանագրությունների նախաստորագրումը

Ներառյալ գրադարանը և ցուցադրման արձանագրությունների նախաստորագրումը
Ներառյալ գրադարանը և ցուցադրման արձանագրությունների նախաստորագրումը

Ամբողջ ծրագիրը բաժանված է 3 բաղադրիչի.

  1. Հիմնական ծրագիրը, որը բաղկացած է սկզբնավորումից և պատկերի ցուցադրման և մեղեդու հաջորդականություններից
  2. «pitches.h» ֆայլ, որը բաղկացած է երաժշտական նոտաների ցանկից և հարակից հաճախականությունից
  3. «pictures.h» ֆայլը, որը բաղկացած է ցուցադրվող պատկերների բիտ քարտեզներից:

OLED ցուցադրման համար պատկերը bitmap զանգվածի փոխակերպելու գործընթացը քննարկվում է առաջիկա քայլերում:

Ամբողջ ծածկագիրը կցեմ նաև այս հրահանգին, որը դուք կարող եք օգտագործել:)

Քայլ 6: Թեմատիկ երգի մեղեդին

Թեմատիկ երգ մեղեդի
Թեմատիկ երգ մեղեդի
Թեմատիկ երգ մեղեդի
Թեմատիկ երգ մեղեդի

Ես փնտրեցի ինտերնետում հիմնական նոտաները, որոնք պարունակում են PUBG թեմայի երգը, այնուհետև դրանք ավելացրեցի մեղեդիների զանգվածին:

Playingգալի ժամանակ ծախսելով մեղեդու հաջորդականության նվագարկման և վերարտադրության վրա, ես այնուհետև ստեղծեցի ժամանակի տևողության զանգված, որը վերաբերում է յուրաքանչյուր նոտայի տևողությանը: Մեղեդային զանգվածի և տևողության զանգվածի համադրությունը ներառում է երգը նվագելու ամբողջական տեղեկատվությունը:

Քայլ 7: Երգի նվագարկում գործարկման ընթացքում:

Գործարկման ընթացքում երգը նվագելը
Գործարկման ընթացքում երգը նվագելը

Ընդհանուր առմամբ կան 63 նոտաներ, որոնք ես օգտագործել եմ մեղեդու հաջորդականությունը կազմելու համար: Օգտագործելով for loop և յուրաքանչյուր նոտայի միջև կանխորոշված դադարով նշումների և տևողության զանգվածի միջոցով կրկնելը, ամբողջ հաջորդականությունը հնչում է մեկ անգամ, քանի որ կոդի այս հատվածը void setup- ում (): Հետաքրքիր է, որ այս նախագծի ծածկագրերից ոչ մեկը չի օգտագործում arduino կոդի դատարկ օղակը (), քանի որ ես մտադիր եմ նկարներ խաղալ և ցուցադրել միայն մեկ անգամ: Իհարկե, եթե ցանկանում եք կրկնվող հաջորդականություն, ապա այն պետք է տեղադրվի void loop () գործառույթում:

Քայլ 8: Պատկերները փոխակերպելով Bitmaps- ի:

Պատկերները փոխակերպելով Bitmaps- ի
Պատկերները փոխակերպելով Bitmaps- ի

Այժմ նախագծի հետաքրքիր մասը պատկերը OLED էկրանին bitmap զանգվածի փոխարկելու գործընթացն է ՝ ըստ պիքսելային խտության: Դրա համար ես գտա պրեֆեկտիվ առցանց գործիքը, որը թույլ է տալիս մեզ ստեղծել սովորական բիթ քարտեզներ:

Այս առցանց դիմումի հղումը հետևյալն է ՝

Այս հավելվածի զարմանահրաշ ստեղծողների շնորհիվ սա շատ ավելի հեշտացնում է իմ աշխատանքը:

Հղում անցնելուց առաջ դուք պետք է վերբեռնեք այն պատկերը, որից ցանկանում եք ստեղծել bitmap: Այստեղ մի բան պետք է նշել, որ ավելի լավ արդյունքի հասնելու համար պետք է փորձեք ընտրել այնպիսի պատկերներ, որոնք գունային հակադրություն չունեն:

Քայլ 9. Բանաձևի ճշգրտում ՝ ըստ ձեր ցուցադրման

Բանաձևի ճշգրտում ՝ ըստ ձեր ցուցադրման
Բանաձևի ճշգրտում ՝ ըստ ձեր ցուցադրման

Հաջորդ քայլում մենք պետք է չափափոխենք պատկերը ըստ ցուցադրման արտաքին լուծման: Մեր OLED էկրանին այն ունի 28 պիքսել լայնություն և 64 պիքսել բարձրություն, որը ես հարմարեցրել եմ այնպես, ինչպես ցույց է տրված նկարում: Կարգավորեք պայծառության շեմը ՝ համոզվելու համար, որ պատկերը զգալիորեն պարզ է (այստեղ է, որ երևում է ամուր գույներով պատկերներ օգտագործելու առավելությունը, որքան ավելի շատ գունային գրադիենտներ, այնքան ավելի վատթարանա պատկերի որակը մոնոխրոմ էկրանին, քանի որ այն խառնվում է պայծառության շեմին)):

Հաջորդ քայլը պատկերը էկրանին տեղավորելն է `պահպանելով համամասնությունները անփոփոխ և հարմարեցնել համաչափությանը, որի ընտրանքներն արդեն կան: Դուք կարող եք ուսումնասիրել այս տարբերակները ՝ ցանկալի պատկերի ելք ստանալու համար: Տեղեկատվության համար դուք նաև ստանում եք զարմանալի նախադիտման տարբերակ:

Քայլ 10: Bitmap զանգվածի ստեղծում

Bitmap զանգվածի ստեղծում
Bitmap զանգվածի ստեղծում

Պատկերի պարամետրերը ճշգրտելուց հետո, հաջորդ քայլին պարզապես ընտրեք Arduino ծածկագիրը որպես ելքային ձևաչափ և կտտացրեք գեներացնել ՝ ցանկալի բիթմապ զանգվածը ստանալու համար:

Այնտեղ! դուք հաջողությամբ փոխակերպել եք ձեր պատկերը ցանկալի բիթմապ զանգված: Ես այս գործընթացը կատարել եմ ընդհանուր առմամբ 7 պատկերի համար և պահել դրանք:

Քայլ 11: Պատկերների ցուցադրում որպես հաջորդականություն

Պատկերների ցուցադրում որպես հաջորդականություն
Պատկերների ցուցադրում որպես հաջորդականություն
Պատկերների ցուցադրում որպես հաջորդականություն
Պատկերների ցուցադրում որպես հաջորդականություն
Պատկերների ցուցադրում որպես հաջորդականություն
Պատկերների ցուցադրում որպես հաջորդականություն

Պատկերները ցուցադրելու համար ես օգտագործել եմ Arduino millis () ֆունկցիան ՝ կանչելու համար draw գործառույթը, որը հիմնականում մի շարք հրամաններ են ՝ էկրանը մաքրելու, bitmap զանգվածը OLED- ին գծելու և ցուցադրումը նախաստորագրելու համար: Հիմնական տրամաբանությունն այն է, որ յուրաքանչյուր 3,5 վայրկյանից հետո պատկերը փոխվում է, և ցուցադրվում է հաջորդ պատկերը: Դե, 3.5 վայրկյանը եզակի թիվ չէ, ես պարզապես հասկացա, որ եթե մեղեդու ամբողջ տևողությունը բաժանեմ 7 պատկերի վրա, յուրաքանչյուր ցուցադրման համար ստացա մոտավորապես 3.5 վայրկյան: Դուք կարող եք ավելացնել ավելի շատ պատկերներ դրան և ցանկության դեպքում կրճատել յուրաքանչյուր պատկերի ցուցադրման ժամանակը:

Կոդի հատվածները բացատրում են, թե ինչպես են գործառույթները կոչվում millis () ֆունկցիայի հիման վրա:

Պատկերների ամբողջ bitmap զանգվածները պահվում են «pictures.h» ֆայլում

Քայլ 12: Ամբողջ ծածկագիրը

Այստեղ ես կիսում եմ ձեր բոլորի ծածկագիրը ՝ խաղալու և փորձարկելու համար:

Երբ ամեն ինչ լավ է թվում, ժամանակն է այն վերբեռնել տախտակ:)

Քայլ 13: Արդյունքները

Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները

Ինչպես տեսնում եք, պատկերները հիանալի ստացվեցին: Եվ այդպես էլ մեղեդին: Հուսով եմ, որ դիտել եք այն տեսանյութը, որում ներկա է ամբողջ ցույցը:

Հուսով եմ, որ PUBG- ի Arduino- ի այս տարբերակը հուզիչ նախագիծ է բոլոր խաղերի և էլեկտրոնային սիրահարների համար:

Խնդրում ենք ազատ զգալ կիսվել ձեր կարծիքներով մեկնաբանություններում և կիսվել ցանկացած առաջարկությամբ: Բացի այդ, հաշվի առեք իմ ալիքին բաժանորդագրվել ավելի շատ նման բովանդակության համար, քանի որ սա OLED շարքի մի մասն է, որի վրա ես աշխատում եմ: Տեղեկացրեք ինձ, եթե կառուցում եք այս զվարճալի նախագիծը:)

Մինչև հաջորդ անգամ:

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