Sommario:

PUBG Theme Song + Animazione con Arduino!: 13 passaggi (con immagini)
PUBG Theme Song + Animazione con Arduino!: 13 passaggi (con immagini)

Video: PUBG Theme Song + Animazione con Arduino!: 13 passaggi (con immagini)

Video: PUBG Theme Song + Animazione con Arduino!: 13 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim
Image
Image
Raccogliendo tutte le parti
Raccogliendo tutte le parti

Ciao e benvenuto in questo divertente tutorial! Spero che tutti voi stiate bene e stiate bene. Questo piccolo ma fantastico progetto riguarda la riproduzione della sigla di PUBG e persino la creazione di alcune animazioni di gioco utilizzando arduino.

I componenti utilizzati sono molto facilmente reperibili e molto facili da montare su un pezzo di breadboard. Condividerò l'intero processo di costruzione e codifica in questo tutorial, resta fino alla fine!

Ti consiglio caldamente di guardare il video per farti un'idea del progetto:) Se ti piace metti mi piace e condividi il video. Considera di iscriverti al mio canale se ti piace la mia build. Grazie!

Quindi, senza ulteriori indugi, iniziamo!

Passaggio 1: raccogliere tutte le parti

Raccogliendo tutte le parti
Raccogliendo tutte le parti

La build consiste principalmente in un Arduino Nano che è il nucleo principale di questo progetto. Puoi utilizzare qualsiasi altra variante di Arduino come il popolare Arduino Uno, Arduino Pro Mini, Arduino Mega ecc. Per visualizzare le animazioni e le immagini, ho deciso di utilizzare un display OLED da 0,96 pollici con una risoluzione di 128 per 64 pixel. Questo display può essere interfacciato con l'arduino con il protocollo I2C che richiede solo due fili per dati e clock, riducendo così il numero di connessioni e rendendo il progetto più compatto. Per riprodurre la melodia del tema PUBG ho utilizzato un buzzer da 5V di cui ho collegato il pin positivo con il pin digitale 6 di arduino e la massa va a massa di Arduino.

Questi sono l'elenco delle parti necessarie per il progetto:

  1. Arduino Nano (o qualsiasi altra scheda arduino a tua scelta)
  2. Modulo display OLED da 0,96 pollici
  3. Cicalino 5V
  4. Ponticelli
  5. tagliere
  6. Cavo di programmazione Arduino

Passaggio 2: collegamento del display OLED

Collegamento del display OLED
Collegamento del display OLED
Collegamento del display OLED
Collegamento del display OLED
Collegamento del display OLED
Collegamento del display OLED

Sono necessarie un totale di 4 connessioni per collegare il display OLED da arduino:

Vcc 5V di Arduino

Gnd Gnd di Arduino

SDA A4 di Arduino

SCK A5 di Arduino

I pin A4 e A5 di arduino hanno molteplici scopi di ingressi analogici e pin per la comunicazione I2C. Qui abbiamo utilizzato i pin per il protocollo I2C per l'interfacciamento con il modulo display.

Il link alla libreria Adafruit utilizzata in questo progetto:

Passaggio 3: collegamento del cicalino

Collegamento del cicalino
Collegamento del cicalino
Collegamento del cicalino
Collegamento del cicalino

Il cicalino 5V ha un terminale di alimentazione positivo e negativo.

Pin positivo D6 di Arduino (pin digitale 6) (puoi usare qualsiasi pin digitale di arduino)

Pin negativo Gnd di Arduino

Creeremo il tono desiderato sul pin digitale D6 a cui il buzzer suonerà la melodia.

Passaggio 4: tutte le connessioni hardware completate

Tutti i collegamenti hardware sono stati completati
Tutti i collegamenti hardware sono stati completati
Tutti i collegamenti hardware sono stati completati
Tutti i collegamenti hardware sono stati completati

Tutti i collegamenti necessari del display OLED e del cicalino sono completi. Ora andiamo avanti per capire l'aspetto di programmazione del progetto..

Passaggio 5: inclusione della libreria e inizializzazione dei protocolli di visualizzazione

Inclusione della libreria e inizializzazione dei protocolli di visualizzazione
Inclusione della libreria e inizializzazione dei protocolli di visualizzazione

L'intero programma è stato suddiviso in 3 componenti:

  1. Il programma principale che consiste nell'inizializzazione e nelle sequenze di visualizzazione dell'immagine e melodia
  2. File "pitch.h" costituito dall'elenco delle note musicali e dalla frequenza associata
  3. File "pictures.h" costituito dalle bitmap delle immagini da visualizzare.

Il processo di conversione di un'immagine in un array bitmap per il display OLED è discusso nei prossimi passaggi.

Allegherò anche l'intero codice insieme a questa istruzione per l'uso:)

Passaggio 6: la melodia della sigla

La sigla melodia
La sigla melodia
La sigla melodia
La sigla melodia

Ho cercato su Internet le note di base che comprendono la sigla di PUBG e poi le ho aggiunte all'array di melodie.

Passando una notevole quantità di tempo a suonare e ripetere la sequenza della melodia, ho quindi creato l'array di durata temporale che si occupa di quanto tempo ogni nota deve essere suonata. La combinazione dell'array della melodia e dell'array della durata comprende le informazioni complete per riprodurre la canzone.

Passaggio 7: riproduzione della canzone durante l'avvio

Riproduzione del brano durante l'avvio
Riproduzione del brano durante l'avvio

Ci sono un totale di 63 note che ho usato per comporre la sequenza della melodia. Usando un ciclo for e scorrendo le note e l'array di durata con una pausa predeterminata tra ogni nota, l'intera sequenza viene riprodotta una volta, poiché questo pezzo di codice si trova nel setup vuoto(). È interessante notare che nessuno del codice per questo progetto utilizza il void loop() del codice arduino poiché intendo riprodurre e visualizzare le immagini solo una volta. Ovviamente se vuoi una sequenza ripetuta, devi metterla nella funzione void loop().

Passaggio 8: conversione delle immagini in bitmap

Conversione delle immagini in bitmap
Conversione delle immagini in bitmap

Ora, la parte interessante del progetto è il processo per convertire un'immagine in un array bitmap per il display OLED in base alla sua densità di pixel. Per questo ho trovato il perfetto strumento online che ci permette di generare le bitmap personalizzate.

Il link per questa applicazione online è:

Grazie ai fantastici creatori di questa applicazione, questo rende il mio lavoro molto più semplice.

Dopo essere andato al collegamento, devi prima caricare l'immagine di cui vuoi creare la bitmap. Una cosa da notare qui è che dovresti provare a selezionare immagini che non hanno molto contrasto di colore, prova ad attenerti a immagini con pochi colori a tinta unita, senza sfumature per ottenere risultati migliori

Passaggio 9: regolazione della risoluzione in base al display

Regolazione della risoluzione in base al display
Regolazione della risoluzione in base al display

Nel passaggio successivo, dobbiamo ridimensionare l'immagine in base alla risoluzione del display. Per il nostro display OLED, è largo 28 pixel e alto 64 pixel, che ho regolato come mostrato nell'immagine. Regola la soglia di luminosità per assicurarti che l'immagine sia considerevolmente chiara (è qui che entra in gioco il vantaggio di utilizzare immagini con colori a tinta unita, più i gradienti di colore, la qualità dell'immagine nella visualizzazione monocromatica si ridurrà in quanto incasina la soglia di luminosità).

Il prossimo passo è adattare l'immagine allo schermo mantenendo intatte le proporzioni e regolando la simmetria per cui le opzioni sono già presenti. Puoi esplorare queste opzioni per ottenere l'output dell'immagine desiderato. Per riferimento, ottieni anche l'incredibile opzione di anteprima!

Passaggio 10: generazione dell'array bitmap

Generazione dell'array bitmap
Generazione dell'array bitmap

Dopo aver regolato i parametri dell'immagine, nel passaggio successivo è sufficiente selezionare il codice Arduino come formato di output e fare clic su genera per ottenere l'array bitmap desiderato!

Là! hai convertito con successo la tua immagine nell'array bitmap desiderato. Ho fatto questo processo per un totale di 7 immagini e le ho salvate.

Passaggio 11: visualizzazione delle immagini in sequenza

Visualizzazione delle immagini in sequenza
Visualizzazione delle immagini in sequenza
Visualizzazione delle immagini in sequenza
Visualizzazione delle immagini in sequenza
Visualizzazione delle immagini in sequenza
Visualizzazione delle immagini in sequenza

Per visualizzare le immagini ho usato la funzione Arduino millis() per chiamare la funzione draw() che è fondamentalmente un insieme di comandi per cancellare il display, tracciare l'array bitmap sull'OLED e inizializzare il display. La logica principale è che dopo ogni 3,5 secondi l'immagine viene modificata e viene visualizzata l'immagine successiva. Bene, 3,5 secondi non è un numero univoco, ho appena capito che se divido l'intera durata della melodia per 7 immagini ottengo circa 3,5 secondi per ogni display. Puoi aggiungere più immagini a questo e ridurre il tempo di visualizzazione per ogni immagine, se lo desideri.

I frammenti di codice spiegano come vengono chiamate le funzioni in base alla funzione millis().

Gli interi array bitmap delle immagini sono memorizzati nel file "pictures.h"

Passaggio 12: l'intero codice:

Qui condivido l'intero codice affinché tutti voi possiate giocare e sperimentare!

Quando tutto sembra a posto, è ora di caricarlo sulla bacheca:)

Passaggio 13: i risultati:

I risultati
I risultati
I risultati
I risultati
I risultati
I risultati
I risultati
I risultati

Come puoi vedere le immagini si sono rivelate fantastiche! E così ha fatto la melodia! Spero che tu abbia visto il video in cui è presente l'intera dimostrazione.

Spero che questa versione di PUBG di Arduino sia un progetto entusiasmante per tutti gli appassionati di giochi e di elettronica là fuori.

Non esitare a condividere il tuo feedback nei commenti e a condividere eventuali suggerimenti. Inoltre, considera di iscriverti al mio canale per ulteriori contenuti di questo tipo poiché fa parte della serie OLED su cui sto lavorando. Fammi sapere se costruisci questo divertente progetto:)

Fino alla prossima volta.

Consigliato: