Innehållsförteckning:

PUBG Theme Song+Animation With Arduino !: 13 Steps (with Pictures)
PUBG Theme Song+Animation With Arduino !: 13 Steps (with Pictures)

Video: PUBG Theme Song+Animation With Arduino !: 13 Steps (with Pictures)

Video: PUBG Theme Song+Animation With Arduino !: 13 Steps (with Pictures)
Video: When The Quiet Kid Does Your Homework 💀 #electronics #arduino #engineering 2024, November
Anonim
Image
Image
Samlar alla delar.
Samlar alla delar.

Hej där och välkommen till denna roliga instruerbara! Jag hoppas att ni alla mår bra och håller er friska. Det här lilla men fantastiska projektet handlar om att spela temasången PUBG och till och med skapa några spelanimationer med arduino.

Komponenterna som används är mycket lättillgängliga och mycket enkla att montera på en brödbräda. Jag kommer att dela hela byggnads- och kodningsprocessen i denna instruerbara, håll dig kvar till slutet!

Jag skulle starkt föreslå att du tittar på videon för att få en uppfattning om projektet:) Om du gillar det gillar och delar du videon. Överväg att prenumerera på min kanal om du gillar mitt bygge. Tack!

Så, utan ytterligare dröjsmål, låt oss komma igång!

Steg 1: Samla alla delar

Samlar alla delar.
Samlar alla delar.

Bygget består huvudsakligen av en Arduino Nano som är huvudkärnan för detta projekt. Du kan använda alla andra Arduino -varianter som den populära Arduino Uno, Arduino Pro Mini, Arduino Mega etc. För att visa animationerna och bilderna bestämde jag mig för att gå med en 0,96 tums OLED -skärm med en upplösning på 128 x 64 pixlar. Denna skärm kan vara gränssnitt med arduino med I2C -protokollet som bara kräver två ledningar för data och klocka, vilket minskar antalet anslutningar och gör projektet mer kompakt. För att spela PUBG -temamelodin använde jag en 5V summer som jag kopplade den positiva stiftet med digital pin 6 av arduino och marken går till marken på Arduino.

Detta är listan över delar som behövs för projektet:

  1. Arduino Nano (eller någon annan arduino -skiva du väljer)
  2. 0,96 tum OLED -displaymodul
  3. 5V summer
  4. Bygelkablar
  5. Bakbord
  6. Arduino programmeringskabel

Steg 2: Ansluter upp OLED -skärmen

Ansluter OLED -skärmen
Ansluter OLED -skärmen
Ansluter OLED -skärmen
Ansluter OLED -skärmen
Ansluter OLED -skärmen
Ansluter OLED -skärmen

Totalt fyra anslutningar behövs för att OLED -skärmen ska kunna anslutas från arduino:

Vcc 5V från Arduino

Gnd Gnd från Arduino

SDA A4 från Arduino

SCK A5 från Arduino

Stiften A4 och A5 på arduino tjänar flera syften av analoga ingångar samt stift för I2C -kommunikation. Här har vi använt stiften för I2C -protokollet för gränssnitt med displaymodulen.

Länken till Adafruit -biblioteket som används i detta projekt:

Steg 3: Anslutning av summern

Anslutning av summern
Anslutning av summern
Anslutning av summern
Anslutning av summern

5V -summern har en positiv och negativ matningsterminal.

Positiv stift D6 på Arduino (digital stift 6) (du kan använda valfri digital stift på arduino)

Negativ stift Gnd av Arduino

Vi kommer att skapa önskad ton på den digitala stift D6 som summern kommer att spela melodin till.

Steg 4: Alla maskinvaruanslutningar slutförda.

Alla maskinvaruanslutningar slutförda.
Alla maskinvaruanslutningar slutförda.
Alla maskinvaruanslutningar slutförda.
Alla maskinvaruanslutningar slutförda.

Alla nödvändiga anslutningar av OLED -displayen och summern är slutförda. Låt oss nu gå vidare för att förstå projektets aspekt av projektet..

Steg 5: Inkluderar biblioteket och initierar displayprotokoll

Inkluderar biblioteket och initierar displayprotokoll
Inkluderar biblioteket och initierar displayprotokoll

Hela programmet har delats in i tre komponenter:

  1. Huvudprogrammet består av initialisering och sekvenser av bildvisning och melodi
  2. "pitches.h" -fil som består av listan över musiknoter och tillhörande frekvens
  3. "pictures.h" -fil som består av bitmappar för de bilder som ska visas.

Processen för hur man konverterar en bild till en bitmapps array för OLED -display diskuteras i de kommande stegen.

Jag kommer också att bifoga hela koden tillsammans med denna instruerbara för dig att använda:)

Steg 6: Theme Song Melody.

Temasången Melodi.
Temasången Melodi.
Temasången Melodi.
Temasången Melodi.

Jag letade upp på internet efter de grundläggande noterna som består av PUBG -temasången och lade sedan till dem i melodimatrisen.

Genom att spendera en avsevärd tid på att spela och spela upp melodisekvensen skapade jag sedan tidslängden som handlar om hur länge varje ton behöver spelas. Kombinationen av melodimatrisen och varaktighetsmatrisen innehåller fullständig information för att spela låten.

Steg 7: Spela upp låten under start

Spela upp låten under start.
Spela upp låten under start.

Det finns totalt 63 noter som jag använde för att göra melodisekvensen. Genom att använda en for loop och iterera genom noterna och varaktighetsmatrisen med en förutbestämd paus mellan varje ton spelas hela sekvensen en gång, eftersom denna kodbit ligger i tomrumsinställningen (). Intressant nog använder ingen av koden för detta projekt hålslingan () för arduino -koden eftersom jag tänker spela och visa bilder bara en gång. Naturligtvis, om du vill ha en repeterande sekvens måste den läggas in i void loop () -funktionen.

Steg 8: Konvertera bilderna till bitmappar.

Konvertera bilderna till bitmappar.
Konvertera bilderna till bitmappar.

Nu är den intressanta delen av projektet processen att konvertera en bild till en bitmapps array för OLED -skärmen enligt dess pixeltäthet. För detta hittade jag prefektens onlineverktyg som gör att vi kan skapa anpassade bitmappar.

Länken för denna onlineapplikation är:

Tack vare de fantastiska skaparna av denna applikation, gör detta mitt arbete mycket lättare.

När du går till länken måste du först ladda upp bilden du vill skapa bitmappen för. En sak att notera här är att du ska försöka välja bilder som inte har mycket färgkontrast i sig, försök att hålla dig till bilder med några fasta färger, utan några lutningar för att få bättre resultat

Steg 9: Justera upplösningen enligt din bildskärm

Justera upplösningen enligt din bildskärm
Justera upplösningen enligt din bildskärm

I nästa steg måste vi ändra storleken på bilden enligt utvisningsupplösningen. För vår OLED -skärm är den 28 pixlar bred och 64 pixlar i höjd, vilket jag har justerat enligt bilden. Justera ljusstyrkan för att se till att bilden är avsevärt tydlig (det är här fördelen med att använda bilder med fasta färger spelar in, ju mer färggradienter, bildkvaliteten i svartvitt skärm försämras när det krånglar med ljusstyrkan).

Nästa steg är att passa bilden på skärmen och hålla proportionerna intakta och justera för symmetri som alternativen redan finns för. Du kan utforska dessa alternativ för att få önskad bildutmatning. Som referens får du också det fantastiska förhandsgranskningsalternativet!

Steg 10: Generera bitmappsarrayen

Genererar Bitmap Array.
Genererar Bitmap Array.

Efter justering av bildparametrarna, i nästa steg är det bara att välja Arduino -kod som utdataformat och klicka på generera för att få önskad bitmappsuppsättning!

Där! du har lyckats konvertera din bild till önskad bitmappsgrupp. Jag har gjort denna process för totalt 7 bilder och sparat dem.

Steg 11: Visa bilderna som sekvens

Visa bilderna som sekvens
Visa bilderna som sekvens
Visa bilderna som sekvens
Visa bilderna som sekvens
Visa bilderna som sekvens
Visa bilderna som sekvens

För att visa bilderna har jag använt Arduino millis () -funktionen för att kalla draw () -funktionen som i grunden är en uppsättning kommandon för att rensa displayen, plotta bitmappsuppsättningen till OLED och initiera displayen. Huvudlogiken är att efter 3,5 sekunder ändras bilden och nästa bild visas. Tja, 3,5 sekunder är inte ett unikt nummer, jag kom bara på att om jag delar hela melodilängden med 7 bilder fick jag ungefär 3,5 sekunder för varje display. Du kan lägga till fler bilder till detta och minska visningstiden för varje bild om du vill.

Kodavsnitten förklarar hur funktionerna kallas baserat på funktionen millis ().

Hela bitmappsuppsättningarna för bilderna lagras i "pictures.h" -filen

Steg 12: Hela koden:

Här delar jag hela koden så att ni alla kan leka och experimentera med!

När allt verkar bra är det dags att ladda upp det på tavlan:)

Steg 13: Resultaten:

Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten

Som ni ser blev bilderna jättefina! Och det gjorde melodin också! Jag hoppas att du har tittat på videon där hela demonstrationen finns.

Jag hoppas att denna Arduinos version av PUBG är ett spännande projekt för alla spel- och elektronikentusiaster där ute.

Dela gärna med dig av dina kommentarer i kommentarerna och dela med dig av förslag. Tänk också på att prenumerera på min kanal för mer sådant innehåll eftersom detta är en del av OLED -serien jag arbetar med. Låt mig veta om du bygger detta roliga projekt:)

Tills nästa gång.

Rekommenderad: