Obsah:
- Krok 1: Zhromaždenie všetkých dielov.
- Krok 2: Pripojenie displeja OLED
- Krok 3: Pripojenie bzučiaka
- Krok 4: Všetky hardvérové pripojenia sú dokončené.
- Krok 5: Vrátane knižnice a inicializácie zobrazovacích protokolov
- Krok 6: melódia ústrednej piesne.
- Krok 7: Prehrávanie piesne počas spustenia.
- Krok 8: Konvertovanie obrázkov na bitmapy
- Krok 9: Úprava rozlíšenia podľa vášho displeja
- Krok 10: Generovanie bitmapového poľa …
- Krok 11: Zobrazenie obrázkov ako poradie
- Krok 12: Celý kód:
- Krok 13: Výsledky:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Dobrý deň, vitajte pri tejto zábavnej inštruktáži! Dúfam, že sa všetci máte dobre a zostanete zdraví. Tento malý, ale úžasný projekt je o hraní tematickej piesne PUBG a dokonca o vytváraní herných animácií pomocou arduina.
Použité komponenty sú veľmi ľahko dostupné a veľmi ľahko sa montujú na kus dosky. Budem zdieľať celý proces budovania a kódovania v tomto návode, vydržte až do konca!
Veľmi by som vám odporučil pozrieť si video, aby ste získali predstavu o projekte:) Ak sa vám to páči, dajte lajk a zdieľajte video. Ak sa vám moja zostava páči, zvážte prihlásenie sa na odber môjho kanála. Ďakujem!
Takže bez ďalšieho zdržania začnime!
Krok 1: Zhromaždenie všetkých dielov.
Zostava pozostáva hlavne z Arduino Nano, ktoré je hlavným jadrom tohto projektu. Môžete použiť akékoľvek iné varianty Arduino, ako sú populárne Arduino Uno, Arduino Pro Mini, Arduino Mega atď. Na zobrazenie animácií a obrázkov som sa rozhodol použiť 0,96 palcový OLED displej s rozlíšením 128 x 64 pixelov. Tento displej môže byť rozhraním s Arduino s protokolom I2C, ktorý vyžaduje iba dva vodiče na dáta a hodiny, čím sa zníži počet pripojení a projekt bude kompaktnejší. Na hranie melódie témy PUBG som použil 5V bzučiak, z ktorého som prepojil kladný kolík s digitálnym kolíkom 6 arduina a uzemnenie smerovalo k zemi Arduina.
Toto je zoznam dielov potrebných na projekt:
- Arduino Nano (alebo akákoľvek iná arduino doska podľa vášho výberu)
- 0,96 palcový zobrazovací modul OLED
- 5V bzučiak
- Prepojovacie vodiče
- Breadboard
- Programovací kábel Arduino
Krok 2: Pripojenie displeja OLED
Na pripojenie OLED displeja z arduina sú potrebné celkom 4 pripojenia:
Vcc 5V Arduino
Gnd Gnd z Arduina
SDA A4 od Arduina
SCK A5 pre Arduino
Piny A4 a A5 arduina slúžia viacúčelovému použitiu analógových vstupov, ako aj pinov pre komunikáciu I2C. Tu sme použili kolíky pre protokol I2C na prepojenie so zobrazovacím modulom.
Odkaz na knižnicu Adafruit použitú v tomto projekte:
Krok 3: Pripojenie bzučiaka
5V bzučiak má kladný a záporný napájací terminál.
Pozitívny pin D6 Arduina (digitálny pin 6) (môžete použiť akýkoľvek digitálny pin arduina)
Záporný pin GND Arduina
Vytvoríme požadovaný tón na digitálnom pine D6, na ktorý bude bzučiak hrať melódiu.
Krok 4: Všetky hardvérové pripojenia sú dokončené.
Všetky potrebné pripojenia OLED displeja a bzučiaka sú dokončené. Teraz poďme pochopiť programovací aspekt projektu..
Krok 5: Vrátane knižnice a inicializácie zobrazovacích protokolov
Celý program bol rozdelený do troch častí:
- Hlavný program pozostávajúci z inicializácie a sekvencií zobrazenia obrázku a melódie
- Súbor „pitches.h“pozostávajúci zo zoznamu hudobných poznámok a súvisiacej frekvencie
- Súbor „images.h“pozostávajúci z bitmapových súborov na zobrazenie.
Proces, ako previesť obrázok na bitmapové pole pre OLED displej, je popísaný v nasledujúcich krokoch.
Tiež priložím celý kód spolu s týmto pokynom, ktorý môžete použiť:)
Krok 6: melódia ústrednej piesne.
Vyhľadal som na internete základné poznámky, ktoré obsahujú ústrednú pieseň PUBG, a potom som ich pridal do poľa melódií.
Strávením značného času hraním a prehrávaním sekvencie melódií som potom vytvoril pole časového trvania, ktoré sa zaoberá tým, ako dlho je potrebné každú notu hrať. Kombinácia poľa melódií a poľa trvania obsahuje úplné informácie o prehrávaní skladby.
Krok 7: Prehrávanie piesne počas spustenia.
Existuje celkom 63 nôt, ktoré som použil na zostavenie sekvencie melódií. Použitím slučky for a iterovania poľom nôt a trvania s vopred určenou pauzou medzi každou notou sa celá sekvencia prehrá raz, pretože tento kúsok kódu leží. v neplatnom nastavení (). Je zaujímavé, že žiadny z kódov tohto projektu nevyužíva prázdnu slučku () arduino kódu, pretože mám v úmysle prehrávať a zobrazovať obrázky iba raz. Samozrejme, ak chcete opakujúcu sa sekvenciu, musí byť vložená do funkcie void loop ().
Krok 8: Konvertovanie obrázkov na bitmapy
Zaujímavou časťou projektu je proces prevodu obrazu na bitmapové pole pre OLED displej podľa hustoty pixelov. Na tento účel som našiel prefektový online nástroj, ktorý nám umožňuje generovať vlastné bitové mapy.
Odkaz na túto online aplikáciu je:
Vďaka úžasným tvorcom tejto aplikácie mi to výrazne uľahčuje prácu.
Po kliknutí na odkaz musíte najskôr nahrať obrázok, z ktorého chcete vytvoriť bitovú mapu. Jedna vec, ktorú je potrebné poznamenať, je, že by ste sa mali pokúsiť vybrať obrázky, ktoré v sebe nemajú veľa farebného kontrastu, a pokúsiť sa držať obrázkov s niekoľkými plnými farbami bez akýchkoľvek prechodov, aby ste dosiahli lepšie výsledky.
Krok 9: Úprava rozlíšenia podľa vášho displeja
V nasledujúcom kroku musíme zmeniť veľkosť obrázka podľa rozlíšenia displeja. V prípade nášho OLED displeja má šírku 28 pixelov a výšku 64 pixelov, čo som upravil tak, ako je to na obrázku. Upravte prah jasu, aby ste zaistili, že obraz bude zreteľne jasný (tu sa prejavuje výhoda použitia obrázkov s plnými farbami, čím viac farebných prechodov, tým sa kvalita obrazu v monochromatickom zobrazení zhorší, pretože sa prelína s prahom jasu)).
Ďalším krokom je vloženie obrazu na obrazovku, pričom proporcie zostanú nedotknuté a prispôsobené symetrii, pre ktorú už možnosti existujú. Tieto možnosti môžete preskúmať a dosiahnuť požadovaný výstup obrazu. Ako referenciu získate aj úžasnú možnosť ukážky!
Krok 10: Generovanie bitmapového poľa …
Po úprave parametrov obrazu v nasledujúcom kroku stačí vybrať kód Arduino ako výstupný formát a kliknutím na generovať získate požadované bitmapové pole!
Tam! úspešne ste skonvertovali svoj obrázok na požadované bitmapové pole. Tento postup som vykonal pre celkovo 7 obrázkov a uložil som ich.
Krok 11: Zobrazenie obrázkov ako poradie
Na zobrazenie obrázkov som použil funkciu Arduino millis () na vyvolanie funkcie draw (), čo je v podstate sada príkazov na vyčistenie displeja, vykreslenie bitmapového poľa na OLED a inicializáciu zobrazenia. Hlavnou logikou je, že po každých 3,5 sekundách sa obrázok zmení a zobrazí sa ďalší obrázok. 3,5 sekundy nie je jedinečné číslo, práve som prišiel na to, že ak vydelím celú dĺžku melódie 7 obrázkami, dostanem zhruba 3,5 sekundy na každé zobrazenie. K tomu môžete pridať ďalšie obrázky a skrátiť dobu zobrazenia pre každý obrázok.
Útržky kódu vysvetľujú, ako sa funkcie volajú na základe funkcie millis ().
Celé bitmapové polia obrázkov sú uložené v súbore „Pictures.h“
Krok 12: Celý kód:
Tu zdieľam celý kód, aby ste sa všetci mohli hrať a experimentovať!
Akonáhle je všetko v poriadku, je čas to nahrať na nástenku:)
Krok 13: Výsledky:
Ako vidíte, obrázky sa ukázali byť skvelé! A rovnako aj melódia! Dúfam, že ste si pozreli video, v ktorom je prítomná celá ukážka.
Dúfam, že táto verzia PUBG od Arduina je vzrušujúcim projektom pre všetkých nadšencov hier a elektroniky.
Neváhajte sa podeliť o svoje pripomienky v komentároch a podeľte sa o akékoľvek návrhy. Zvážte tiež prihlásenie sa na odber svojho kanála, aby ste získali ďalší obsah, pretože je súčasťou série OLED, na ktorej pracujem. Dajte mi vedieť, ak vytvoríte tento zábavný projekt:)
Dobudúcna.