Sommario:
- Passaggio 1: raccogliere tutte le parti
- Passaggio 2: collegamento del display OLED
- Passaggio 3: collegamento del cicalino
- Passaggio 4: tutte le connessioni hardware completate
- Passaggio 5: inclusione della libreria e inizializzazione dei protocolli di visualizzazione
- Passaggio 6: la melodia della sigla
- Passaggio 7: riproduzione della canzone durante l'avvio
- Passaggio 8: conversione delle immagini in bitmap
- Passaggio 9: regolazione della risoluzione in base al display
- Passaggio 10: generazione dell'array bitmap
- Passaggio 11: visualizzazione delle immagini in sequenza
- Passaggio 12: l'intero codice:
- Passaggio 13: i risultati:
Video: PUBG Theme Song + Animazione con Arduino!: 13 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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
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:
- Arduino Nano (o qualsiasi altra scheda arduino a tua scelta)
- Modulo display OLED da 0,96 pollici
- Cicalino 5V
- Ponticelli
- tagliere
- Cavo di programmazione Arduino
Passaggio 2: 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
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 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
L'intero programma è stato suddiviso in 3 componenti:
- Il programma principale che consiste nell'inizializzazione e nelle sequenze di visualizzazione dell'immagine e melodia
- File "pitch.h" costituito dall'elenco delle note musicali e dalla frequenza associata
- 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
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
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
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
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
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
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:
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:
Impianto di animazione stop-motion Raspberry Pi: 16 passaggi (con immagini)
Impianto di animazione stop-motion Raspberry Pi: l'animazione stop-motion è una tecnica in cui gli oggetti vengono manipolati fisicamente e fotografati fotogramma per fotogramma per creare l'illusione di un'immagine in movimento. La nostra mini mostra di animazione stop-motion è realizzata con un Raspberry Pi , che è un "piccolo e aff
Tavolino da caffè di animazione: 9 passaggi (con immagini)
Animation Coffee Table: ci sono molti ottimi istruttori su come realizzare tavolini interattivi con matrici LED, e ho preso ispirazione e suggerimenti da alcuni di essi. Questo è semplice, economico e soprattutto ha lo scopo di stimolare la creatività: con solo due pulsanti
Kinegram o Animazione Boomerang analoga: 9 passaggi (con immagini)
Kinegram o Analogous Boomerang Animation: *-* Questo Instructable è in inglese. Clicca qui per la versione olandese, *-* Deze Instructable è in het Engels. Klik hier voor de Nederlandse versie. Ci sono due tipi di persone: quelle che abbracciano ogni nuova tecnologia e quelle che a lungo nostalgiche
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: 11 passaggi (con immagini)
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: la storia di questo orologio risale a molto tempo fa, più di 30 anni. Mio padre è stato il pioniere di questa idea quando avevo solo 10 anni, molto prima della rivoluzione dei LED, quando i LED erano 1/1000 della luminosità della loro attuale brillantezza accecante. Un vero
Arduino Uno: animazione bitmap su schermo touchscreen TFT ILI9341 con Visuino: 12 passaggi (con immagini)
Arduino Uno: animazione bitmap su schermo touchscreen TFT ILI9341 con Visuino: schermi touchscreen TFT basati su ILI9341 sono schermi display a basso costo molto popolari per Arduino. Visuino li supporta da un po' di tempo, ma non ho mai avuto la possibilità di scrivere un Tutorial su come usarli. Di recente, tuttavia, poche persone hanno chiesto