Tartalomjegyzék:

PUBG téma dal+animáció Arduino -val!: 13 lépés (képekkel)
PUBG téma dal+animáció Arduino -val!: 13 lépés (képekkel)

Videó: PUBG téma dal+animáció Arduino -val!: 13 lépés (képekkel)

Videó: PUBG téma dal+animáció Arduino -val!: 13 lépés (képekkel)
Videó: My Heart Full Of Flames || PUBG Mobile Update 2.2 Song #pubgmobile #pubg 2024, November
Anonim
Image
Image
Az összes alkatrész összegyűjtése
Az összes alkatrész összegyűjtése

Üdvözlöm és üdvözlöm ezt a szórakoztató oktatási lehetőséget! Remélem, mindenki jól van és egészséges. Ez a kicsi, de elképesztő projekt a PUBG főcímdal lejátszásáról szól, és még játék animációk létrehozásáról is az arduino segítségével.

A felhasznált alkatrészek nagyon könnyen beszerezhetők, és nagyon könnyen összeállíthatók egy kenyérlapra. Megosztom a teljes építési és kódolási folyamatot ebben az oktatható útmutatóban, maradj a végéig!

Nagyon javaslom, hogy nézze meg a videót, hogy képet kapjon a projektről:) Ha tetszik, akkor lájkold és oszd meg a videót. Fontolja meg a csatornám feliratkozását, ha élvezi az építkezésemet. Köszönöm!

Tehát minden további késedelem nélkül kezdjük el!

Lépés: Az összes alkatrész összegyűjtése

Az összes alkatrész összegyűjtése
Az összes alkatrész összegyűjtése

A konstrukció elsősorban egy Arduino Nano -ból áll, amely a projekt fő magja. Bármely más Arduino változatot használhat, mint például a népszerű Arduino Uno, Arduino Pro Mini, Arduino Mega stb. Az animációk és a képek megjelenítéséhez úgy döntöttem, hogy egy 0,96 hüvelykes OLED kijelzőt használok, 128 x 64 pixel felbontással. Ez a kijelző interfész lehet az arduino -val az I2C protokollal, amely mindössze két vezetéket igényel az adatok és az óra számára, ezáltal csökkentve a kapcsolatok számát és kompaktabbá téve a projektet. A PUBG témájú dallam lejátszásához egy 5 V -os zümmögőt használtam, amelyből a pozitív tüskét az arduino 6 -os digitális tűjével kötöttem össze, és a föld az Arduino földje.

Íme a projekthez szükséges alkatrészek listája:

  1. Arduino Nano (vagy bármely más választott arduino tábla)
  2. 0,96 hüvelykes OLED kijelző modul
  3. 5V -os csengő
  4. Jumper vezetékek
  5. Kenyeretábla
  6. Arduino programozókábel

2. lépés: Az OLED kijelző csatlakoztatása

Az OLED kijelző csatlakoztatása
Az OLED kijelző csatlakoztatása
Az OLED kijelző csatlakoztatása
Az OLED kijelző csatlakoztatása
Az OLED kijelző csatlakoztatása
Az OLED kijelző csatlakoztatása

Összesen 4 kapcsolat szükséges az OLED kijelző csatlakoztatásához az arduino -ból:

Vrd 5V Arduino

Arduino Gnd Gnd

Arduino SDA A4

SCK A5 az Arduino -ból

Az arduino A4 -es és A5 -ös csapjai többféle analóg bemenetet és I2C kommunikációs tűt szolgálnak. Itt az I2C protokoll csapjait használtuk a kijelzőmodulhoz való illesztéshez.

A projektben használt Adafruit könyvtár linkje:

3. lépés: A zümmögő csatlakoztatása

A csengő csatlakoztatása
A csengő csatlakoztatása
A csengő csatlakoztatása
A csengő csatlakoztatása

Az 5 V -os zümmernek pozitív és negatív tápkivezetése van.

Az Arduino pozitív D6 -os csapja (6 -os digitális tű) (az arduino bármelyik digitális tűjét használhatja)

Negatív pin Gnd of Arduino

Létrehozzuk a kívánt hangot a D6 digitális tűn, amelyhez a zümmögő lejátssza a dallamot.

4. lépés: Minden hardverkapcsolat befejeződött

Minden hardvercsatlakozás befejeződött
Minden hardvercsatlakozás befejeződött
Minden hardvercsatlakozás befejeződött
Minden hardvercsatlakozás befejeződött

Az OLED kijelző és a hangjelző összes szükséges csatlakoztatása befejeződött. Most menjünk tovább, hogy megértsük a projekt programozási aspektusát.

5. lépés: A könyvtár beépítése és a megjelenítési protokollok inicializálása

Beleértve a könyvtárat és a megjelenítési protokollok inicializálását
Beleértve a könyvtárat és a megjelenítési protokollok inicializálását

Az egész programot három részre osztották:

  1. A fő program az inicializálásból és a képmegjelenítés és a dallam sorozatából áll
  2. "hangok.h" fájl, amely a hangjegyek listájából és a kapcsolódó gyakoriságból áll
  3. "images.h" fájl, amely a megjelenítendő képek bitképeiből áll.

Az elkövetkezendő lépésekben tárgyaljuk azt a folyamatot, hogyan lehet egy képet bittérképes tömbré alakítani OLED kijelzőn.

Mellékelem a teljes kódot is ezzel az utasítással együtt, hogy használhassa:)

6. lépés: Theme Song Melody

Theme Song Melody
Theme Song Melody
Theme Song Melody
Theme Song Melody

Utánanéztem az interneten a PUBG témájú dalokat tartalmazó alapjegyzetekhez, majd hozzáadtam őket a dallamokhoz.

Azzal, hogy jelentős időt töltöttem a dallamok lejátszásával és újrajátszásával, létrehoztam azt az időtartam -tömböt, amely arra vonatkozik, hogy mennyi ideig kell lejátszani az egyes hangokat. A dallamtömb és az időtartam tömb kombinációja tartalmazza a dal lejátszásához szükséges összes információt.

7. lépés: A dal lejátszása indítás közben

A dal lejátszása indításkor
A dal lejátszása indításkor

Összesen 63 hang van, amelyeket a dallamsorozat elkészítéséhez használtam. A ciklus használatával és a hangjegyek és időtartamok tömbjének ismétlésével, előre meghatározott szünetekkel az egyes hangok között, a teljes sorozatot egyszer játssza le, mivel ez a kódrészlet az üres beállításban (). Érdekes, hogy ennek a projektnek egyik kódja sem használja ki az arduino kód void loop -ját (), mivel csak egyszer akarom lejátszani és megjeleníteni a képeket. Természetesen, ha ismétlődő sorozatot szeretne, akkor azt be kell helyezni a void loop () függvénybe.

8. lépés: A képek konvertálása bitképekre

A képek konvertálása bitképekre
A képek konvertálása bitképekre

Most a projekt érdekes része az a folyamat, amelynek során a képpontsűrűségnek megfelelően egy képet bitképes tömbré alakítanak át az OLED kijelzőn. Ehhez megtaláltam a prefektus online eszközt, amely lehetővé teszi számunkra az egyedi bitképek létrehozását.

Az online alkalmazás linkje:

Az alkalmazás csodálatos alkotóinak köszönhetően ez nagyban megkönnyíti a munkámat.

A linkre lépve először fel kell töltenie azt a képet, amelynek bitképét létre szeretné hozni. Itt egy dolgot kell megjegyezni: próbálja meg kiválasztani azokat a képeket, amelyekben nincs nagy színkontraszt, és próbáljon ragaszkodni néhány egyszínű képhez, színátmenetek nélkül, hogy jobb eredményeket érjen el

9. lépés: A felbontás beállítása a kijelzőnek megfelelően

A felbontás beállítása a kijelzőnek megfelelően
A felbontás beállítása a kijelzőnek megfelelően

A következő lépésben át kell méreteznünk a képet a kijelző felbontása szerint. OLED kijelzőnk esetében 28 képpont széles és 64 képpont magas, amit a képen látható módon állítottam be. Állítsa be a fényerő küszöbét annak biztosítása érdekében, hogy a kép lényegesen tiszta legyen (itt jelenik meg az egyszínű képek használatának előnye, minél több színátmenet, annál rosszabb lesz a képminőség a monokróm kijelzőn, mivel összezavarja a fényerő küszöbét).

A következő lépés az, hogy illessze a képet a képernyőre, megőrizve az arányokat, és állítsa be a szimmetriát, amelyre a lehetőségek már rendelkezésre állnak. Ezeket a lehetőségeket felfedezve kaphatja meg a kívánt képkimenetet. Referenciaként megkapja a csodálatos előnézeti lehetőséget is!

10. lépés: A Bitmap tömb létrehozása

Bitmap tömb létrehozása
Bitmap tömb létrehozása

A képparaméterek beállítása után a következő lépésben csak válassza ki az Arduino kódot kimeneti formátumként, és kattintson a generálás gombra a kívánt bitkép -tömb megszerzéséhez!

Ott! sikeresen konvertálta a képét a kívánt bittérkép tömbre. Ezt a folyamatot összesen 7 képnél végeztem el, és mentettem.

11. lépés: A képek egymás utáni megjelenítése

A képek megjelenítése sorozatként
A képek megjelenítése sorozatként
A képek megjelenítése sorozatként
A képek megjelenítése sorozatként
A képek megjelenítése sorozatként
A képek megjelenítése sorozatként

A képek megjelenítéséhez az Arduino millis () függvénnyel hívtam meg a draw () függvényt, amely alapvetően parancskészlet a kijelző törléséhez, a bitkép -tömb ábrázolásához az OLED -hez és a kijelző inicializálásához. A fő logika az, hogy minden 3,5 másodperc után a kép megváltozik, és megjelenik a következő kép. Nos, a 3,5 másodperc nem egyedi szám, csak rájöttem, hogy ha elosztom a teljes dallamidőtartamot 7 képpel, akkor nagyjából 3,5 másodpercet kaptam minden megjelenítésre. Ha további képeket szeretne hozzáadni ehhez, és csökkentheti az egyes képek megjelenítési idejét.

A kódrészletek elmagyarázzák, hogyan hívják meg a függvényeket a millis () függvény alapján.

A képek teljes bitkép -tömbje a "images.h" fájlban van tárolva

12. lépés: A teljes kód:

Itt megosztom a teljes kódot, hogy mindenki játsszon és kísérletezzen!

Ha minden rendben van, ideje feltölteni a táblára:)

13. lépés: Az eredmények:

Az eredmények
Az eredmények
Az eredmények
Az eredmények
Az eredmények
Az eredmények
Az eredmények
Az eredmények

Mint látható, a képek szuperek lettek! És a dallam is! Remélem, megnézted azt a videót, amelyben a teljes demonstráció jelen van.

Remélem, hogy ez az Arduino PUBG verziója izgalmas projekt minden játék és elektronikus rajongó számára.

Kérjük, bátran ossza meg észrevételeit a megjegyzésekben, és ossza meg javaslatait. Ezenkívül fontolja meg a csatornám feliratkozását további ilyen tartalmakért, mivel ez az OLED sorozat része, amelyen dolgozom. Szólj, ha felépíted ezt a szórakoztató projektet:)

A következő alkalomig.

Ajánlott: