Obsah:

PUBG Theme Song+Animation With Arduino !: 13 kroků (s obrázky)
PUBG Theme Song+Animation With Arduino !: 13 kroků (s obrázky)

Video: PUBG Theme Song+Animation With Arduino !: 13 kroků (s obrázky)

Video: PUBG Theme Song+Animation With Arduino !: 13 kroků (s obrázky)
Video: PUBG New Song 2021 | Alan Walker (ON MY WAY) Part 2 Remix | Missing PUBG 2024, Listopad
Anonim
Image
Image
Shromáždění všech dílů
Shromáždění všech dílů

Dobrý den, vítejte v této zábavné instrukci! Doufám, že jste všichni v pořádku a zůstanete zdraví. Tento malý, ale úžasný projekt je o hraní ústřední melodie PUBG a dokonce o vytváření herních animací pomocí arduina.

Použité komponenty jsou velmi snadno dostupné a velmi snadno se montují na kousek prkénka. Budu sdílet celý proces stavby a kódování v tomto pokynu, vydržte až do konce!

Vřele doporučuji zhlédnout video, abyste získali představu o projektu:) Pokud se vám video líbí, lajkujte a sdílejte. Pokud se vám moje stavba líbí, zvažte přihlášení k odběru mého kanálu. Děkujeme!

Takže, bez dalšího zdržování, můžeme začít!

Krok 1: Shromáždění všech dílů

Shromáždění všech dílů
Shromáždění všech dílů

Sestava se skládá hlavně z Arduino Nano, které je hlavním jádrem tohoto projektu. Můžete použít jakékoli jiné varianty Arduino, jako je populární Arduino Uno, Arduino Pro Mini, Arduino Mega atd. Pro zobrazení animací a obrázků jsem se rozhodl použít 0,96 palcový OLED displej s rozlišením 128 x 64 pixelů. Tento displej může být rozhraním s arduino s protokolem I2C, který vyžaduje pouze dva vodiče pro data a hodiny, čímž se sníží počet připojení a projekt bude kompaktnější. Pro přehrávání melodie tématu PUBG jsem použil 5V bzučák, z něhož jsem propojil kladný kolík s digitálním kolíkem 6 arduina a uzemnění jde na zem Arduina.

Toto je seznam dílů potřebných pro projekt:

  1. Arduino Nano (nebo jakákoli jiná arduino deska dle vašeho výběru)
  2. 0,96 palcový OLED zobrazovací modul
  3. 5V bzučák
  4. Propojovací vodiče
  5. Prkénko
  6. Programovací kabel Arduino

Krok 2: Připojení OLED displeje

Připojení OLED displeje
Připojení OLED displeje
Připojení OLED displeje
Připojení OLED displeje
Připojení OLED displeje
Připojení OLED displeje

Pro připojení OLED displeje z Arduina jsou zapotřebí celkem 4 připojení:

Vcc 5V Arduino

Gnd Gnd z Arduina

SDA A4 od Arduina

SCK A5 Arduina

Piny A4 a A5 arduina slouží k více účelům analogových vstupů i pinů pro komunikaci I2C. Zde jsme využili piny pro protokol I2C pro propojení se zobrazovacím modulem.

Odkaz na knihovnu Adafruit použitou v tomto projektu:

Krok 3: Připojení bzučáku

Připojení bzučáku
Připojení bzučáku
Připojení bzučáku
Připojení bzučáku

5V bzučák má kladný a záporný napájecí terminál.

Pozitivní pin D6 Arduina (digitální pin 6) (můžete použít jakýkoli digitální pin arduina)

Negativní pin Gnd z Arduina

Vytvoříme požadovaný tón na digitálním pinu D6, kterému bzučák přehraje melodii.

Krok 4: Všechna hardwarová připojení dokončena

Všechna hardwarová připojení dokončena
Všechna hardwarová připojení dokončena
Všechna hardwarová připojení dokončena
Všechna hardwarová připojení dokončena

Všechna potřebná připojení OLED displeje a bzučáku jsou dokončena. Nyní pojďme porozumět programovacímu aspektu projektu..

Krok 5: Zahrnutí knihovny a inicializace zobrazovacích protokolů

Včetně knihovny a inicializace zobrazovacích protokolů
Včetně knihovny a inicializace zobrazovacích protokolů

Celý program byl rozdělen do 3 částí:

  1. Hlavní program sestávající z inicializace a sekvencí zobrazení obrázku a melodie
  2. Soubor „pitches.h“sestávající ze seznamu hudebních not a související frekvence
  3. Soubor "images.h" sestávající z bitmap zobrazovaných obrázků.

Proces převodu obrázku na bitmapové pole pro OLED displej je popsán v následujících krocích.

Připojím také celý kód spolu s tímto návodem, který můžete použít:)

Krok 6: Melodie ústřední melodie …

Melodie ústřední melodie
Melodie ústřední melodie
Melodie ústřední melodie
Melodie ústřední melodie

Vyhledal jsem na internetu základní poznámky, které obsahují ústřední melodii PUBG, a poté je přidal do pole melodií.

Strávením značného času hraním a přehráváním posloupnosti melodií jsem pak vytvořil pole doby trvání, které se zabývá tím, jak dlouho je třeba každou notu hrát. Kombinace pole melodie a pole trvání obsahuje úplné informace o přehrání skladby.

Krok 7: Přehrávání skladby během spouštění

Přehrávání skladby během spouštění
Přehrávání skladby během spouštění

Existuje celkem 63 not, které jsem použil k sestavení sekvence melodie. Použitím smyčky for a iterací pole not a doby trvání s předem stanovenou pauzou mezi každou notou se celá sekvence přehraje jednou, protože tento kousek kódu leží v nastavení neplatnosti (). Je zajímavé, že žádný z kódů tohoto projektu nevyužívá prázdnou smyčku () arduino kódu, protože mám v úmyslu přehrávat a zobrazovat obrázky pouze jednou. Samozřejmě pokud chcete opakující se sekvenci, musí být vložena do funkce void loop ().

Krok 8: Převod obrázků na bitmapy …

Převod obrázků na bitmapy …
Převod obrázků na bitmapy …

Zajímavou částí projektu je proces převodu obrazu na bitmapové pole pro OLED displej podle hustoty pixelů. K tomu jsem našel prefektový online nástroj, který nám umožňuje generovat vlastní bitmapy.

Odkaz na tuto online aplikaci je:

Díky úžasným tvůrcům této aplikace mi to velmi usnadňuje práci.

Po přechodu na odkaz musíte nejprve nahrát obrázek, pro který chcete vytvořit bitmapu. Jedna věc, kterou je třeba poznamenat, je, že byste se měli pokusit vybrat obrázky, které v sobě nemají příliš barevný kontrast, zkuste se držet obrázků s několika plnými barvami bez přechodů, abyste dosáhli lepších výsledků

Krok 9: Nastavení rozlišení podle zobrazení

Nastavení rozlišení podle zobrazení
Nastavení rozlišení podle zobrazení

V dalším kroku musíme změnit velikost obrázku podle rozlišení displeje. U našeho OLED displeje je široký 28 pixelů a 64 pixelů na výšku, což jsem upravil tak, jak je znázorněno na obrázku. Upravte prahovou hodnotu jasu, abyste zajistili, že obraz bude výrazně čistý (zde se projevuje výhoda použití obrázků s plnými barvami, čím více barevných přechodů, tím se kvalita obrazu v monochromatickém zobrazení zhorší, protože se popletou s prahem jasu).

Dalším krokem je přizpůsobit obrázek na obrazovku tak, aby proporce zůstaly nedotčené, a upravit symetrii, pro kterou již možnosti existují. Tyto možnosti můžete prozkoumat, abyste získali požadovaný obrazový výstup. Jako referenci získáte také úžasnou možnost náhledu!

Krok 10: Generování bitmapového pole …

Generování bitmapového pole
Generování bitmapového pole

Po úpravě parametrů obrázku v dalším kroku stačí vybrat jako výstupní formát kód Arduino a kliknutím na generovat získáte požadované bitmapové pole!

Tam! úspěšně jste převedli svůj obrázek na požadované bitmapové pole. Udělal jsem tento proces pro celkem 7 obrázků a uložil je.

Krok 11: Zobrazení obrázků jako pořadí

Zobrazení obrázků jako pořadí
Zobrazení obrázků jako pořadí
Zobrazení obrázků jako pořadí
Zobrazení obrázků jako pořadí
Zobrazení obrázků jako pořadí
Zobrazení obrázků jako pořadí

Pro zobrazení obrázků jsem použil funkci Arduino millis () k volání funkce draw (), což je v podstatě sada příkazů k vymazání displeje, vykreslení bitmapového pole na OLED a inicializaci displeje. Hlavní logikou je, že po každých 3,5 sekundách se obrázek změní a zobrazí se další obrázek. 3,5 sekundy není jedinečné číslo, jen jsem přišel na to, že pokud rozdělím celou dobu melodie na 7 obrázků, pro každé zobrazení jsem získal zhruba 3,5 sekundy. K tomu můžete přidat další obrázky a zkrátit dobu zobrazení každého obrázku.

Fragmenty kódu vysvětlují, jak se funkce nazývají na základě funkce millis ().

Celá bitmapová pole obrázků jsou uložena v souboru "images.h"

Krok 12: Celý kód:

Zde sdílím celý kód, abyste si všichni mohli hrát a experimentovat!

Jakmile je vše v pořádku, je čas to nahrát na tabuli:)

Krok 13: Výsledky:

Výsledky
Výsledky
Výsledky
Výsledky
Výsledky
Výsledky
Výsledky
Výsledky

Jak vidíte, obrázky se ukázaly být skvělé! A stejně tak i melodie! Doufám, že jste sledovali video, ve kterém je celá ukázka přítomna.

Doufám, že tato verze PUBG pro Arduino je vzrušujícím projektem pro všechny herní a elektronické nadšence.

Neváhejte se podělit o své připomínky v komentářích a podělte se o jakékoli návrhy. Zvažte také přihlášení k odběru mého kanálu pro více takového obsahu, protože je to součást série OLED, na které pracuji. Dejte mi vědět, pokud vytvoříte tento zábavný projekt:)

Do příště.

Doporučuje: