Sisukord:

PUBG teemalaul+animatsioon Arduinoga!: 13 sammu (piltidega)
PUBG teemalaul+animatsioon Arduinoga!: 13 sammu (piltidega)

Video: PUBG teemalaul+animatsioon Arduinoga!: 13 sammu (piltidega)

Video: PUBG teemalaul+animatsioon Arduinoga!: 13 sammu (piltidega)
Video: TEMPLE RUN 2 SPRINTS PASSING WIND 2024, November
Anonim
Image
Image
Kõikide osade kogumine
Kõikide osade kogumine

Tere ja tere tulemast sellesse lõbusasse juhendamisse! Loodan, et teil kõigil läheb hästi ja olete terved. See väike, kuid hämmastav projekt käsitleb PUBG tunnuslaulu mängimist ja isegi arduino abil mängu animatsioonide loomist.

Kasutatavad komponendid on väga hõlpsasti kättesaadavad ja neid on lihtne leivatükile kokku panna. Jagan kogu ehitamise ja kodeerimise protsessi selles juhendis, jääge lõpuni!

Soovitan soojalt videot vaadata, et projektist aimu saada:) Kui meeldib, siis likege ja jagage videot. Kaaluge minu kanali tellimist, kui teile meeldib minu ehitamine. Aitäh!

Niisiis, alustame viivitusteta!

Samm: kõigi osade kogumine

Kõikide osade kogumine
Kõikide osade kogumine

Ehitus koosneb peamiselt Arduino Nano -st, mis on selle projekti peamine tuum. Võite kasutada mis tahes muid Arduino variante, nagu populaarsed Arduino Uno, Arduino Pro Mini, Arduino Mega jne. Animatsioonide ja piltide kuvamiseks otsustasin kasutada 0,96 -tollist OLED -ekraani eraldusvõimega 128 x 64 pikslit. See ekraan võib olla liidesed arduino -ga I2C protokolliga, mis nõuab andmete ja kella jaoks vaid kahte juhtmestikku, vähendades seeläbi ühenduste arvu ja muutes projekti kompaktsemaks. PUBG -teemalise meloodia mängimiseks kasutasin 5 V suminat, millest ühendasin positiivse tihvti arduino digitaalse tihvtiga 6 ja maandus läheb Arduino maapinnale.

Siin on projekti jaoks vajalike osade loend:

  1. Arduino Nano (või mõni muu teie valitud arduino plaat)
  2. 0,96 -tolline OLED -ekraanimoodul
  3. 5V helisignaal
  4. Jumper juhtmed
  5. Leivalaud
  6. Arduino programmeerimiskaabel

Samm: OLED -ekraani ühendamine

OLED -ekraani ühendamine
OLED -ekraani ühendamine
OLED -ekraani ühendamine
OLED -ekraani ühendamine
OLED -ekraani ühendamine
OLED -ekraani ühendamine

OLED -ekraani ühendamiseks arduino kaudu on vaja kokku 4 ühendust:

Arduino Vcc 5V

Arduino Gnd Gnd

Arduino SDA A4

Arduino SCK A5

Arduino tihvtid A4 ja A5 teenivad mitut otstarvet analoogsisenditel ja ka tihvtidel I2C -side jaoks. Siin oleme kasutanud kuvarimooduliga liidestamiseks I2C protokolli tihvte.

Link selles projektis kasutatud Adafruit raamatukogule:

3. samm: sumisti ühendamine

Summuri ühendamine
Summuri ühendamine
Summuri ühendamine
Summuri ühendamine

5 V suminal on positiivne ja negatiivne toiteterminal.

Arduino positiivne tihvt D6 (digitaalne tihvt 6) (saate kasutada mis tahes arduino digitaalset tihvti)

Arduino negatiivne tihvt Gnd

Loome digitaalsele tihvtile D6 soovitud tooni, millele helisignaal meloodia mängib.

Samm: kõik riistvaraühendused on lõpule viidud

Kõik riistvaraühendused on lõpule viidud
Kõik riistvaraühendused on lõpule viidud
Kõik riistvaraühendused on lõpule viidud
Kõik riistvaraühendused on lõpule viidud

Kõik vajalikud OLED -ekraani ja helisignaali ühendused on valmis. Nüüd läheme edasi, et mõista projekti programmeerimise aspekti.

Samm: kogu lisamine ja kuvaprotokollide initsialiseerimine

Sealhulgas raamatukogu ja kuvaprotokollide initsialiseerimine
Sealhulgas raamatukogu ja kuvaprotokollide initsialiseerimine

Kogu programm on jagatud kolmeks osaks:

  1. Põhiprogramm, mis koosneb pildi kuvamise ja meloodia lähtestamisest ning järjestustest
  2. fail „pitches.h”, mis koosneb nootide loendist ja sellega seotud sagedusest
  3. "images.h" fail, mis koosneb kuvatavate piltide bitikaartidest.

Järgmistes sammudes käsitletakse protsessi, kuidas pilti OLED -ekraani jaoks bittkaardimassiiviks teisendada.

Lisan ka kogu koodi koos selle juhendiga, et saaksite seda kasutada:)

6. samm: teemalaulu meloodia

Teemalaulu meloodia
Teemalaulu meloodia
Teemalaulu meloodia
Teemalaulu meloodia

Otsisin Internetist üles põhilised noodid, mis sisaldavad PUBG -teemalist laulu, ja lisasin need siis meloodiamassiivi.

Kulutades märkimisväärse aja mängimisele ja meloodiajada kordamisele, lõin seejärel aja kestuse massiivi, mis puudutab seda, kui kaua iga nooti tuleb mängida. Meloodia- ja kestusmassiivi kombinatsioon sisaldab täielikku teavet laulu esitamiseks.

Samm: laulu esitamine käivitamisel

Laulu esitamine käivitamisel
Laulu esitamine käivitamisel

Kokku on meloodiajada koostamiseks 63 nooti. Kasutades tsüklit ja kordades nootide ja kestusmassiivi vahel etteantud pausiga iga noodi vahel, esitatakse kogu jada üks kord, kuna see kooditükk asub tühimike seadistuses (). Huvitav on see, et ükski selle projekti kood ei kasuta arduino koodi tühisilmus (), kuna kavatsen pilte esitada ja kuvada ainult üks kord. Muidugi, kui soovite korduvat jada, tuleb see sisestada funktsiooni void loop () funktsiooni.

Samm: piltide teisendamine bitikaartideks

Piltide teisendamine bitikaartideks
Piltide teisendamine bitikaartideks

Nüüd on projekti huvitav osa kujutise teisendamine OLED -ekraani bitikaardimassiiviks vastavalt selle pikslitihedusele. Selle jaoks leidsin prefekti veebitööriista, mis võimaldab meil luua kohandatud bitikaarte.

Selle veebirakenduse link on:

Tänu selle rakenduse hämmastavatele loojatele muudab see minu töö palju lihtsamaks.

Lingile minnes peate esmalt üles laadima pildi, mille bitikaardi soovite luua. Siinkohal tuleb märkida, et paremate tulemuste saamiseks peaksite proovima valida pilte, millel pole palju värvikontrasti, ja proovige jääda piltide juurde, millel on mõned ühevärvilised värvid, ilma gradientideta

9. samm: eraldusvõime reguleerimine vastavalt teie ekraanile

Eraldusvõime reguleerimine vastavalt teie ekraanile
Eraldusvõime reguleerimine vastavalt teie ekraanile

Järgmises etapis peame pildi suurust muutma vastavalt ekraani eraldusvõimele. Meie OLED -ekraani puhul on see 28 pikslit lai ja 64 pikslit kõrge, mida olen reguleerinud, nagu pildil näidatud. Reguleerige heledusläve, et veenduda, et pilt on märgatavalt selge (siin tuleb esile ühevärviliste piltide kasutamise eelis, mida rohkem värvigradiente, seda ühevärvilise ekraani pildikvaliteet halveneb, kuna see segab heledusläve).

Järgmine samm on pildi sobitamine ekraanile, hoides proportsioonid puutumatuna ja kohandades sümmeetriat, mille valikud on juba olemas. Soovitud pildiväljundi saamiseks saate neid valikuid uurida. Viitamiseks saate ka hämmastava eelvaate valiku!

10. samm: Bitmap -massiivi loomine

Bitmap -massiivi genereerimine
Bitmap -massiivi genereerimine

Pärast pildi parameetrite reguleerimist valige järgmises etapis lihtsalt Arduino kood väljundvorminguks ja klõpsake soovitud bitikaardimassiivi saamiseks nuppu Loo!

Seal! olete oma pildi edukalt teisendanud soovitud bitikaardimassiiviks. Olen seda protsessi teinud kokku 7 pildi jaoks ja need salvestanud.

11. samm: piltide kuvamine järjestusena

Piltide kuvamine järjestusena
Piltide kuvamine järjestusena
Piltide kuvamine järjestusena
Piltide kuvamine järjestusena
Piltide kuvamine järjestusena
Piltide kuvamine järjestusena

Piltide kuvamiseks olen kasutanud funktsiooni Arduino millis (), et helistada joonistusfunktsioonile (), mis on põhimõtteliselt käskude kogum ekraani tühjendamiseks, bitikaardimassiivi joonistamiseks OLED -ile ja ekraani lähtestamiseks. Peamine loogika on see, et iga 3,5 sekundi järel muudetakse pilti ja kuvatakse järgmine pilt. Noh, 3,5 sekundit pole ainulaadne number, ma lihtsalt mõistsin, et kui ma jagan kogu meloodia kestuse 7 pildiga, siis saan iga ekraani kohta umbes 3,5 sekundit. Soovi korral saate sellele lisada rohkem pilte ja lühendada iga pildi kuvamisaega.

Koodilõigud selgitavad, kuidas funktsioone millis () funktsiooni alusel kutsutakse.

Kõik piltide bitikaardimassiivid salvestatakse faili "images.h"

12. samm: kogu kood:

Siin jagan teile kogu koodi, et saaksite ringi mängida ja katsetada!

Kui kõik tundub korras, on aeg see tahvlile üles laadida:)

13. samm: tulemused:

Tulemused
Tulemused
Tulemused
Tulemused
Tulemused
Tulemused
Tulemused
Tulemused

Nagu näete, said pildid suurepärased! Ja nii tegi ka meloodia! Loodan, et olete vaadanud videot, kus kogu meeleavaldus on kohal.

Loodan, et see Arduino versioon PUBG -st on põnev projekt kõigile mängu- ja elektroonikahuvilistele.

Jagage julgelt oma tagasisidet kommentaarides ja jagage soovitusi. Kaaluge ka minu kanali tellimist, et saada rohkem sellist sisu, kuna see on osa OLED -seeriast, millega ma töötan. Andke mulle teada, kui te selle lõbusa projekti üles ehitate:)

Järgmise korrani.

Soovitan: