Përmbajtje:

Këngë me temë PUBG+Animacion me Arduino !: 13 hapa (me fotografi)
Këngë me temë PUBG+Animacion me Arduino !: 13 hapa (me fotografi)

Video: Këngë me temë PUBG+Animacion me Arduino !: 13 hapa (me fotografi)

Video: Këngë me temë PUBG+Animacion me Arduino !: 13 hapa (me fotografi)
Video: CYBERTRUCK 2024, Nëntor
Anonim
Image
Image
Mbledhja e të gjitha pjesëve.
Mbledhja e të gjitha pjesëve.

Përshëndetje dhe mirë se erdhët në këtë mësim argëtues argëtues! Shpresoj që të gjithë të jeni mirë dhe të jeni të shëndetshëm. Ky projekt i vogël por i mahnitshëm ka të bëjë me luajtjen e këngës me temë PUBG dhe madje krijimin e disa animacioneve të lojës duke përdorur arduino.

Komponentët e përdorur janë shumë lehtë të disponueshëm dhe shumë të lehtë për tu mbledhur në një copë dërrasë buke. Unë do të ndaj të gjithë procesin e ndërtimit dhe kodimit në këtë udhëzues, qëndro deri në fund!

Unë do t'ju sugjeroja shumë që të shikoni videon për të marrë një ide mbi projektin:) Nëse ju pëlqen pëlqeni dhe ndani videon. Merrni parasysh të regjistroheni në kanalin tim nëse ju pëlqen ndërtimi im. Faleminderit!

Pra, pa ndonjë vonesë të mëtejshme, le të fillojmë!

Hapi 1: Mbledhja e të gjitha pjesëve.

Mbledhja e të gjitha pjesëve.
Mbledhja e të gjitha pjesëve.

Ndërtimi kryesisht përbëhet nga një Arduino Nano i cili është bërthama kryesore për këtë projekt. Ju mund të përdorni çdo variant tjetër Arduino si Arduino Uno, Arduino Pro Mini, Arduino Mega etj. Për të shfaqur animacionet dhe imazhet, vendosa të shkoj me një ekran OLED 0.96 inç me një rezolutë prej 128 në 64 piksele. Ky ekran mund të jetë ndërfaqe me arduino me protokollin I2C që kërkon vetëm dy tela për të dhëna dhe orë, duke zvogëluar kështu numrin e lidhjeve dhe duke e bërë projektin më kompakt. Për të luajtur melodinë e temës PUBG, unë përdor një zile 5V, nga të cilat lidha kunjin pozitiv me pinin dixhital 6 të arduino dhe toka shkon në tokën e Arduino.

Këtu janë lista e pjesëve të nevojshme për projektin:

  1. Arduino Nano (ose ndonjë bord tjetër arduino sipas zgjedhjes tuaj)
  2. Moduli i ekranit OLED 0.96 inç
  3. Zile 5V
  4. Telat e kërcyesit
  5. Breadboard
  6. Kabllo programimi Arduino

Hapi 2: Lidhja e ekranit OLED

Lidhja e ekranit OLED
Lidhja e ekranit OLED
Lidhja e ekranit OLED
Lidhja e ekranit OLED
Lidhja e ekranit OLED
Lidhja e ekranit OLED

Nevojiten gjithsej 4 lidhje që ekrani OLED të lidhet nga arduino:

Vcc 5V e Arduino

Gnd Gnd e Arduino

SDA A4 e Arduino

SCK A5 e Arduino

Kunjat A4 dhe A5 të arduino shërbejnë për qëllime të shumta të hyrjeve analoge, si dhe kunjat për komunikimin I2C. Këtu kemi përdorur kunjat për protokollin I2C për ndërfaqen me modulin e ekranit.

Lidhja me bibliotekën Adafruit të përdorur në këtë projekt:

Hapi 3: Lidhja e ziles

Lidhja e ziles
Lidhja e ziles
Lidhja e ziles
Lidhja e ziles

Zileja 5V ka një terminal furnizimi pozitiv dhe negativ.

Kunja pozitive D6 e Arduino (kunja dixhitale 6) (mund të përdorni çdo pin dixhital të arduino)

Kunja negative Gnd e Arduino

Ne do të krijojmë tonin e dëshiruar në pinin dixhital D6, në të cilin zile do të luajë melodinë.

Hapi 4: Të gjitha lidhjet e harduerit kanë përfunduar.

Të gjitha lidhjet e harduerit kanë përfunduar.
Të gjitha lidhjet e harduerit kanë përfunduar.
Të gjitha lidhjet e harduerit kanë përfunduar.
Të gjitha lidhjet e harduerit kanë përfunduar.

Të gjitha lidhjet e nevojshme të ekranit OLED dhe ziles janë të plota. Tani le të vazhdojmë të kuptojmë aspektin programues të projektit..

Hapi 5: Përfshirja e Bibliotekës dhe Fillimi i Protokolleve të Shfaqjes

Përfshirja e Bibliotekës dhe Fillimi i Protokolleve të Shfaqjes
Përfshirja e Bibliotekës dhe Fillimi i Protokolleve të Shfaqjes

I gjithë programi është i ndarë në 3 përbërës:

  1. Programi kryesor i përbërë nga fillimi dhe sekuencat e shfaqjes dhe melodisë së imazhit
  2. Dosja "pitches.h" e përbërë nga lista e notave muzikore dhe frekuenca shoqëruese
  3. skedari "pictures.h" i përbërë nga bitmap të imazheve që do të shfaqen.

Procesi se si të konvertohet një imazh në një grup bitmap për shfaqjen OLED diskutohet në hapat e ardhshëm.

Unë gjithashtu do të bashkëngjit të gjithë kodin së bashku me këtë udhëzues që ju mund ta përdorni:)

Hapi 6: Melodia e këngës me temë.

Melodia e këngës me temë.
Melodia e këngës me temë.
Melodia e këngës me temë.
Melodia e këngës me temë.

Kërkova në internet për shënimet bazë që përfshin këngën me temë PUBG dhe pastaj i shtova në grupin e melodisë.

Duke kaluar një sasi të konsiderueshme kohe duke luajtur dhe riprodhuar sekuencën e melodisë, unë atëherë krijova grupin e kohëzgjatjes së kohës që ka të bëjë me sa kohë duhet të luhet secila notë. Kombinimi i grupit të melodisë dhe grupit të kohëzgjatjes përfshin informacionin e plotë për të luajtur këngën.

Hapi 7: Luajtja e këngës gjatë fillimit.

Luajtja e këngës gjatë fillimit.
Luajtja e këngës gjatë fillimit.

Ekzistojnë gjithsej 63 shënime që kam përdorur për të përbërë sekuencën e melodisë. Duke përdorur një lak for dhe duke përsëritur shënimet dhe grupin e kohëzgjatjes me një pauzë të paracaktuar midis secilës shënim, e gjithë sekuenca luhet një herë, pasi kjo pjesë e kodit qëndron në void setup (). Inglyshtë interesante, asnjë nga kodet për këtë projekt nuk përdor lakin void () të kodit arduino pasi kam ndërmend të luaj dhe shfaq imazhe vetëm një herë. Natyrisht, nëse doni një sekuencë të përsëritur, atëherë ajo duhet të vendoset në funksionin void loop ().

Hapi 8: Konvertimi i imazheve në Bitmaps.

Shndërrimi i imazheve në Bitmaps.
Shndërrimi i imazheve në Bitmaps.

Tani, pjesa interesante e projektit është procesi i konvertimit të një imazhi në një grup bitmap për ekranin OLED sipas densitetit të pikselit të tij. Për këtë gjeta mjetin prefekt në internet që na lejon të gjenerojmë bitmap -et e personalizuar.

Lidhja për këtë aplikacion online është:

Falë krijuesve të mahnitshëm të këtij aplikacioni, kjo e bën punën time shumë më të lehtë.

Pasi të shkoni në lidhje, së pari duhet të ngarkoni imazhin nga i cili dëshironi të krijoni bitmap. Një gjë që duhet vënë re këtu është se duhet të përpiqeni të zgjidhni imazhe që nuk kanë shumë kontrast ngjyrash, provoni t'i përmbaheni imazheve me disa ngjyra të ngurta, pa asnjë gradient për të marrë rezultate më të mira

Hapi 9: Rregullimi i rezolucionit sipas ekranit tuaj

Rregullimi i rezolucionit sipas ekranit tuaj
Rregullimi i rezolucionit sipas ekranit tuaj

Në hapin tjetër, ne duhet të ndryshojmë madhësinë e figurës sipas rezolucionit të ekranit. Për ekranin tonë OLED, është 28 piksel i gjerë dhe 64 piksel në lartësi, të cilin e kam rregulluar siç tregohet në figurë. Rregulloni pragun e ndriçimit për t'u siguruar që imazhi është dukshëm i qartë (këtu hyn në lojë avantazhi i përdorimit të imazheve me ngjyra të forta, sa më shumë gradientet e ngjyrave, cilësia e figurës në ekranin pikturë njëngjyrëshe do të degradojë ndërsa përzihet me pragun e shkëlqimit)

Hapi tjetër është përshtatja e imazhit në ekran duke mbajtur proporcionet e paprekur dhe rregullimi i simetrisë për të cilën opsionet janë tashmë atje. Ju mund të eksploroni këto opsione për të marrë daljen e imazhit të dëshiruar. Për referencë, ju gjithashtu merrni opsionin e mahnitshëm të shikimit paraprak!

Hapi 10: Gjenerimi i grupit Bitmap.

Gjenerimi i grupit Bitmap.
Gjenerimi i grupit Bitmap.

Pas rregullimit të parametrave të figurës, në hapin tjetër thjesht zgjidhni kodin Arduino si format dalës dhe klikoni gjeneroni për të marrë grupin e dëshiruar bitmap!

Atje! ju keni konvertuar me sukses imazhin tuaj në grupin e dëshiruar të bitmap. Unë e kam bërë këtë proces për gjithsej 7 imazhe dhe i kam ruajtur ato.

Hapi 11: Shfaqja e imazheve si sekuencë

Shfaqja e imazheve si sekuencë
Shfaqja e imazheve si sekuencë
Shfaqja e imazheve si sekuencë
Shfaqja e imazheve si sekuencë
Shfaqja e imazheve si sekuencë
Shfaqja e imazheve si sekuencë

Për shfaqjen e imazheve kam përdorur funksionin Arduino millis () për të thirrur funksionin draw () i cili në thelb është një grup komandash për të pastruar ekranin, komplotoni grupin bitmap në OLED dhe inicializoni ekranin. Logjika kryesore është që pas çdo 3.5 sekondash, imazhi të ndryshohet dhe të shfaqet imazhi tjetër. Epo, 3.5 sekonda nuk është një numër unik, sapo kuptova se nëse e ndaj të gjithë kohëzgjatjen e melodisë me 7 imazhe, kam marrë afërsisht 3.5 sekonda për secilën shfaqje. Nëse dëshironi, mund t'i shtoni më shumë imazhe dhe të zvogëloni kohën e shfaqjes për secilën imazh.

Copëzat e kodit shpjegojnë sesi funksionet quhen bazuar në funksionin millis ().

Të gjitha vargjet bitmap të imazheve ruhen në skedarin "pictures.h"

Hapi 12: Kodi i plotë:

Këtu po ndaj të gjithë kodin për të gjithë ju që të luani dhe të eksperimentoni!

Pasi gjithçka duket mirë është koha për ta ngarkuar në tabelë:)

Hapi 13: Rezultatet:

Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet

Siç mund ta shihni, imazhet dolën të ishin të shkëlqyera! Dhe kështu bëri melodia! Shpresoj se e keni parë videon në të cilën është e pranishme e gjithë demonstrata.

Shpresoj që ky version i Arduino i PUBG është një projekt emocionues për të gjithë entuziastët e lojës dhe elektronikë atje.

Ju lutemi mos ngurroni të ndani komentet tuaja në komente dhe të ndani çdo sugjerim. Gjithashtu, konsideroni të regjistroheni në kanalin tim për më shumë përmbajtje të tilla pasi kjo është një pjesë e serisë OLED në të cilën po punoj. Më tregoni nëse e ndërtoni këtë projekt argëtues:)

Deri herën tjetër.

Recommended: