Innholdsfortegnelse:

PUBG Theme Song+Animation With Arduino !: 13 trinn (med bilder)
PUBG Theme Song+Animation With Arduino !: 13 trinn (med bilder)

Video: PUBG Theme Song+Animation With Arduino !: 13 trinn (med bilder)

Video: PUBG Theme Song+Animation With Arduino !: 13 trinn (med bilder)
Video: PUBG New Song 2021 | Alan Walker (ON MY WAY) Part 2 Remix | Missing PUBG 2024, Juli
Anonim
Image
Image
Samler alle delene
Samler alle delene

Hei og velkommen til denne morsomme instruerbare! Jeg håper dere alle har det bra og holder dere friske. Dette lille, men fantastiske prosjektet handler om å spille temasangen PUBG og til og med lage noen spillanimasjoner ved hjelp av arduino.

Komponentene som brukes er veldig lett tilgjengelige og veldig enkle å montere på et brødbrett. Jeg vil dele hele bygge- og kodingsprosessen i denne instruerbare, hold deg til slutten!

Jeg vil på det sterkeste foreslå at du ser på videoen for å få en ide om prosjektet:) Hvis du liker det, så lik og del videoen. Vurder å abonnere på kanalen min hvis du liker byggingen min. Takk!

Så, uten ytterligere forsinkelse, la oss komme i gang!

Trinn 1: Samle alle delene

Samler alle delene
Samler alle delene

Bygget består hovedsakelig av en Arduino Nano som er hovedkjernen for dette prosjektet. Du kan bruke andre Arduino -varianter som den populære Arduino Uno, Arduino Pro Mini, Arduino Mega etc. For å vise animasjonene og bildene bestemte jeg meg for å gå med en 0,96 tommers OLED -skjerm med en oppløsning på 128 x 64 piksler. Denne skjermen kan være grensesnitt med arduinoen med I2C -protokollen som krever bare to ledninger for data og klokke, og dermed redusere antall tilkoblinger og gjøre prosjektet mer kompakt. For å spille PUBG temamelodien brukte jeg en 5V summer som jeg koblet den positive pinnen med digital pin 6 av arduino og bakken går til bakken av Arduino.

Dette er listen over deler som trengs for prosjektet:

  1. Arduino Nano (eller et annet arduino -bord etter eget valg)
  2. 0,96 tommers OLED -skjermmodul
  3. 5V summer
  4. Jumper ledninger
  5. Brødbrett
  6. Arduino programmeringskabel

Trinn 2: Koble til OLED -skjermen

Koble til OLED -skjermen
Koble til OLED -skjermen
Koble til OLED -skjermen
Koble til OLED -skjermen
Koble til OLED -skjermen
Koble til OLED -skjermen

Totalt 4 tilkoblinger er nødvendig for at OLED -skjermen skal kobles fra arduino:

Vcc 5V av Arduino

Gnd Gnd fra Arduino

SDA A4 av Arduino

SCK A5 fra Arduino

Pinnene A4 og A5 på arduinoen tjener flere formål med analoge innganger samt pinner for I2C -kommunikasjon. Her har vi benyttet pinnene til I2C -protokollen for grensesnitt med skjermmodulen.

Lenken til Adafruit -biblioteket som ble brukt i dette prosjektet:

Trinn 3: Koble til summeren

Koble til summeren
Koble til summeren
Koble til summeren
Koble til summeren

5V -summeren har en positiv og negativ forsyningsterminal.

Positiv pin D6 av Arduino (digital pin 6) (du kan bruke hvilken som helst digital pin av arduino)

Negativ pin Gnd av Arduino

Vi skal lage ønsket tone på digital pin D6 som summeren vil spille melodien til.

Trinn 4: Alle maskinvaretilkoblinger er fullført

Alle maskinvaretilkoblinger er fullført
Alle maskinvaretilkoblinger er fullført
Alle maskinvaretilkoblinger er fullført
Alle maskinvaretilkoblinger er fullført

Alle nødvendige tilkoblinger til OLED -skjermen og summeren er fullført. La oss nå gå videre for å forstå programmeringsaspektet ved prosjektet..

Trinn 5: Inkludert biblioteket og initialisering av skjermprotokoller

Inkludert biblioteket og initialisering av skjermprotokoller
Inkludert biblioteket og initialisering av skjermprotokoller

Hele programmet er delt inn i 3 komponenter:

  1. Hovedprogrammet består av initialisering og sekvenser av bildedisplay og melodi
  2. "pitches.h" -fil som består av listen over musikknoter og tilhørende frekvens
  3. "pictures.h" -fil som består av bitmaps av bildene som skal vises.

Prosessen med hvordan du konverterer et bilde til et bitmap -array for OLED -skjerm diskuteres i de kommende trinnene.

Jeg vil også legge ved hele koden sammen med denne instruksen du kan bruke:)

Trinn 6: Temasangmelodien

Temasangen melodi
Temasangen melodi
Temasangen melodi
Temasangen melodi

Jeg så opp på internett for å se de grunnleggende notene som består av PUBG -temasangen, og la dem deretter til melodimatrisen.

Ved å bruke mye tid på å spille og spille av melodisekvensen, opprettet jeg deretter tidsvarigheten som er opptatt av hvor lenge hver tone må spilles. Kombinasjonen av melodimatrisen og varighetstabellen inneholder fullstendig informasjon for å spille sangen.

Trinn 7: Spille av sangen under oppstart

Spille sangen under oppstart
Spille sangen under oppstart

Det er totalt 63 noter som jeg brukte til å lage melodisekvensen. Ved å bruke en for loop og iterating gjennom notene og varigheten med en forhåndsbestemt pause mellom hver note, spilles hele sekvensen en gang, siden denne koden ligger i ugyldig oppsett (). Interessant nok bruker ingen av koden for dette prosjektet tomromsløyfen () til arduino -koden, ettersom jeg har tenkt å spille og vise bilder bare én gang. Selvfølgelig, hvis du vil ha en repeterende sekvens, må den settes inn i funksjonen for hulromsløyfe ().

Trinn 8: Konvertere bildene til bitmaps

Konvertere bildene til bitmaps
Konvertere bildene til bitmaps

Den interessante delen av prosjektet er nå prosessen med å konvertere et bilde til et bitmap -array for OLED -skjermen i henhold til dens pikseltetthet. For dette fant jeg prefektens elektroniske verktøy som lar oss generere tilpassede bitmaps.

Lenken for denne elektroniske applikasjonen er:

Takket være de fantastiske skaperne av denne applikasjonen, gjør dette arbeidet mitt mye lettere.

Når du går til lenken må du først laste opp bildet du vil lage bitmap av. En ting å merke seg her er at du bør prøve å velge bilder som ikke har mye fargekontrast, prøve å holde deg til bilder med noen få solide farger, uten noen gradienter for å få bedre resultater

Trinn 9: Justere oppløsningen i henhold til skjermen

Justere oppløsningen i henhold til skjermen
Justere oppløsningen i henhold til skjermen

I neste trinn må vi endre størrelsen på bildet i henhold til skjermoppløsningen. For OLED -skjermen er den 28 piksler bred og 64 piksler i høyden, som jeg har justert som vist på bildet. Juster lysstyrketerskelen for å sikre at bildet er betraktelig klart (det er her fordelen med å bruke bilder med solide farger spiller inn, jo mer fargeovergangene blir, vil bildekvaliteten i monokrom skjerm forringes etter hvert som det roter med lysstyrketerskelen).

Neste trinn er å passe bildet på skjermen slik at proporsjonene forblir intakte og justere for symmetri som alternativene allerede er der. Du kan utforske disse alternativene for å få ønsket bildeutgang. Som referanse får du også det fantastiske forhåndsvisningsalternativet!

Trinn 10: Generering av Bitmap Array

Genererer Bitmap Array
Genererer Bitmap Array

Etter å ha justert bildeparametrene, velger du i neste trinn bare Arduino -koden som utdataformat og klikker generer for å få ønsket bitmap -array!

Der! du har konvertert bildet ditt til ønsket bitmap -array. Jeg har gjort denne prosessen for totalt 7 bilder og lagret dem.

Trinn 11: Visning av bildene som rekkefølge

Visning av bildene som rekkefølge
Visning av bildene som rekkefølge
Visning av bildene som rekkefølge
Visning av bildene som rekkefølge
Visning av bildene som rekkefølge
Visning av bildene som rekkefølge

For å vise bildene har jeg brukt Arduino millis () -funksjonen til å kalle draw () -funksjonen, som i utgangspunktet er et sett med kommandoer for å slette skjermen, plotte bitmap -arrayet til OLED og initialisere skjermen. Hovedlogikken er at etter hvert 3,5 sekund endres bildet og det neste bildet vises. 3,5 sekunder er ikke et unikt tall, jeg fant ut at hvis jeg deler hele melodivarigheten med 7 bilder, fikk jeg omtrent 3,5 sekunder for hver skjerm. Du kan legge til flere bilder til dette og redusere visningstiden for hvert bilde hvis du ønsker det.

Kodesnuttene forklarer hvordan funksjonene kalles basert på funksjonen millis ().

Hele bitmap -oppsettene til bildene lagres i "pictures.h" -filen

Trinn 12: Hele koden:

Her deler jeg hele koden slik at dere alle kan leke og eksperimentere med!

Når alt ser bra ut, er det på tide å laste det opp til brettet:)

Trinn 13: Resultatene:

Resultatene
Resultatene
Resultatene
Resultatene
Resultatene
Resultatene
Resultatene
Resultatene

Som du kan se ble bildene flotte! Og det gjorde melodien også! Jeg håper du har sett videoen der hele demonstrasjonen er tilstede.

Jeg håper denne Arduinos versjon av PUBG er et spennende prosjekt for alle spill- og elektronikkentusiaster der ute.

Del gjerne tilbakemeldingene dine i kommentarene og del forslag. Vurder også å abonnere på kanalen min for mer slikt innhold, da dette er en del av OLED -serien jeg jobber med. Gi meg beskjed hvis du bygger dette morsomme prosjektet:)

Til neste gang.

Anbefalt: