Taula de continguts:

Cançó temàtica PUBG + Animació amb Arduino !: 13 passos (amb imatges)
Cançó temàtica PUBG + Animació amb Arduino !: 13 passos (amb imatges)

Vídeo: Cançó temàtica PUBG + Animació amb Arduino !: 13 passos (amb imatges)

Vídeo: Cançó temàtica PUBG + Animació amb Arduino !: 13 passos (amb imatges)
Vídeo: ¿Qué puede pasar? #shorts 2024, Desembre
Anonim
Image
Image
Recopilació de totes les parts
Recopilació de totes les parts

Hola i benvinguts a aquest divertit instructiu! Espero que tots estigueu bé i us mantingueu sans. Aquest petit però sorprenent projecte tracta de reproduir la cançó del tema PUBG i fins i tot de crear algunes animacions de jocs mitjançant arduino.

Els components que s’utilitzen són de fàcil accés i molt fàcils de muntar en un tros de taulers. Compartiré tot l’edifici i el procés de codificació en aquest instructiu que s’aconsegueix fins al final.

Et suggeriria que miris el vídeo per fer-te una idea del projecte:) Si t'agrada, m'agrada i comparteix el vídeo. Penseu a subscriure-us al meu canal si us agrada la meva versió. Gràcies!

Per tant, sense més demora, comencem!

Pas 1: reunir totes les parts

Recopilació de totes les parts
Recopilació de totes les parts

La construcció consisteix principalment en un Arduino Nano que és el nucli principal d’aquest projecte. Podeu utilitzar qualsevol altra variant d'Arduino com els populars Arduino Uno, Arduino Pro Mini, Arduino Mega, etc. Per mostrar les animacions i les imatges, vaig decidir anar amb una pantalla OLED de 0,96 polzades amb una resolució de 128 per 64 píxels. Aquesta pantalla pot ser interfície amb l’arduino amb el protocol I2C que requereix només dos cables per a dades i rellotge, reduint així el nombre de connexions i fent el projecte més compacte. Per reproduir la melodia del tema PUBG, he utilitzat un brunzidor de 5V del qual he connectat el pin positiu amb el pin digital 6 d’arduino i la terra va a terra d’Arduino.

Aquestes són la llista de parts necessàries per al projecte:

  1. Arduino Nano (o qualsevol altra placa arduino que trieu)
  2. Mòdul de pantalla OLED de 0,96 polzades
  3. Zumbador de 5V
  4. Filferros de pont
  5. Taula de pa
  6. Cable de programació Arduino

Pas 2: connectar la pantalla OLED

Connexió de la pantalla OLED
Connexió de la pantalla OLED
Connexió de la pantalla OLED
Connexió de la pantalla OLED
Connexió de la pantalla OLED
Connexió de la pantalla OLED

Es necessiten un total de 4 connexions per connectar la pantalla OLED des d’arduino:

Vcc 5V d'Arduino

Gnd Gnd d'Arduino

SDA A4 d'Arduino

SCK A5 d'Arduino

Els pins A4 i A5 de l'arduino serveixen per a múltiples usos d'entrades analògiques, així com per als pins per a la comunicació I2C. Aquí hem utilitzat els pins per al protocol I2C per a la interfície amb el mòdul de visualització.

L’enllaç a la biblioteca Adafruit que s’utilitza en aquest projecte:

Pas 3: connectar el timbre

Connexió del timbre
Connexió del timbre
Connexió del timbre
Connexió del timbre

El brunzidor de 5V té un terminal d’alimentació positiu i negatiu.

Pin positiu D6 d'Arduino (pin digital 6) (podeu utilitzar qualsevol pin digital de l'arduino)

Pin negatiu Gnd d'Arduino

Crearem el to desitjat al pin digital D6 al qual el brunzidor tocarà la melodia.

Pas 4: Totes les connexions de maquinari s'han completat

Totes les connexions de maquinari s'han completat
Totes les connexions de maquinari s'han completat
Totes les connexions de maquinari s'han completat
Totes les connexions de maquinari s'han completat

Totes les connexions necessàries de la pantalla OLED i del brunzidor estan completes. Ara anem endavant per entendre l’aspecte de la programació del projecte..

Pas 5: incloure la biblioteca i inicialitzar els protocols de visualització

Inclou la biblioteca i la inicialització dels protocols de visualització
Inclou la biblioteca i la inicialització dels protocols de visualització

Tot el programa s'ha separat en 3 components:

  1. El programa principal que consisteix en la inicialització i les seqüències de visualització i melodia d’imatges
  2. Fitxer "pitches.h" que consta de la llista de notes musicals i la freqüència associada
  3. fitxer "pictures.h" que consisteix en mapes de bits de les imatges que es mostraran.

El procés de com convertir una imatge en una matriu de mapa de bits per a la pantalla OLED es discuteix en els propers passos.

També adjuntaré tot el codi juntament amb aquest instructiu per utilitzar-lo:)

Pas 6: la melodia de la cançó temàtica

La melodia de la cançó temàtica
La melodia de la cançó temàtica
La melodia de la cançó temàtica
La melodia de la cançó temàtica

Vaig buscar a Internet les notes bàsiques que inclouen la cançó del tema PUBG i les vaig afegir a la matriu de melodies.

En dedicar una quantitat considerable de temps a tocar i reproduir la seqüència de la melodia, vaig crear la matriu de durada del temps que es refereix al temps que cal tocar cada nota. La combinació de la matriu de melodia i la matriu de durada inclou la informació completa per reproduir la cançó.

Pas 7: Reproducció de la cançó durant l'inici

Reproducció de la cançó durant l'inici
Reproducció de la cançó durant l'inici

Hi havia un total de 63 notes que feia servir per a compondre la seqüència de la melodia. Utilitzant un bucle for i recorrent les notes i la matriu de durada amb una pausa predeterminada entre cada nota, es reprodueix tota la seqüència una vegada, ja que aquest fragment de codi es troba a la configuració buida (). Curiosament, cap dels codis d’aquest projecte no utilitza el bucle void () del codi arduino, ja que tinc la intenció de reproduir i mostrar imatges només una vegada. Per descomptat, si voleu una seqüència que es repeteix, cal posar-la a la funció void loop ().

Pas 8: convertir les imatges en mapes de bits

Conversió de les imatges a mapes de bits
Conversió de les imatges a mapes de bits

Ara, la part interessant del projecte és el procés de convertir una imatge en una matriu de mapa de bits per a la pantalla OLED segons la seva densitat de píxels. Per a això he trobat l'eina en línia del prefecte que ens permet generar mapes de bits personalitzats.

L’enllaç d’aquesta aplicació en línia és:

Gràcies als increïbles creadors d'aquesta aplicació, això fa que la meva feina sigui molt més fàcil.

En anar a l'enllaç, primer heu de penjar la imatge de la qual voleu crear el mapa de bits. Una cosa que cal tenir en compte aquí és que heu d’intentar seleccionar imatges que no tinguin molt contrast de color, proveu d’adherir-vos a imatges amb uns pocs colors sòlids, sense que hi hagi degradats per obtenir millors resultats.

Pas 9: Ajustar la resolució segons la vostra pantalla

Ajust de la resolució segons la vostra pantalla
Ajust de la resolució segons la vostra pantalla

Al següent pas, hem de canviar la mida de la imatge segons la resolució de la pantalla. Per a la nostra pantalla OLED, té 28 píxels d'ample i 64 píxels d'alçada, que he ajustat tal com es mostra a la imatge. Ajusteu el llindar de brillantor per assegurar-vos que la imatge sigui molt clara (aquí és on entra en joc l’avantatge d’utilitzar imatges amb colors sòlids, com més gradients de color es degradin, la qualitat de la imatge a la pantalla monocroma es degradarà a mesura que es confongui amb el llindar de brillantor).

El següent pas és ajustar la imatge a la pantalla mantenint intactes les proporcions i ajustant la simetria per a la qual ja hi ha les opcions. Podeu explorar aquestes opcions per obtenir la imatge desitjada. Com a referència, també teniu l'opció de vista prèvia increïble.

Pas 10: generació de la matriu de mapes de bits

Generació de la matriu de mapes de bits
Generació de la matriu de mapes de bits

Després d'ajustar els paràmetres de la imatge, al pas següent només heu de seleccionar el codi Arduino com a format de sortida i feu clic a Genera per obtenir la matriu de mapa de bits desitjada.

Allà! heu convertit amb èxit la vostra imatge a la matriu de mapa de bits desitjada. He fet aquest procés per un total de 7 imatges i les he desat.

Pas 11: mostrar les imatges com a seqüència

Visualització de les imatges com a seqüència
Visualització de les imatges com a seqüència
Visualització de les imatges com a seqüència
Visualització de les imatges com a seqüència
Visualització de les imatges com a seqüència
Visualització de les imatges com a seqüència

Per mostrar les imatges he utilitzat la funció Arduino millis () per trucar a la funció draw () que bàsicament és un conjunt d’ordres per esborrar la pantalla, traça la matriu de mapa de bits a l’OLED i inicialitza la pantalla. La lògica principal és que, després de cada 3,5 segons, es canvia la imatge i es mostra la següent imatge. Bé, 3,5 segons no és un número únic, només he descobert que si divideixo tota la durada de la melodia per 7 imatges obtindré aproximadament 3,5 segons per a cada pantalla. Podeu afegir-hi més imatges i reduir el temps de visualització de cada imatge si ho desitgeu.

Els fragments de codi expliquen com es diuen les funcions en funció de la funció millis ().

Totes les matrius de mapa de bits de les imatges s’emmagatzemen al fitxer "pictures.h"

Pas 12: el codi complet:

Aquí estic compartint tot el codi perquè tots pogueu jugar i experimentar.

Un cop tot sembli bé, és hora de penjar-lo al tauler:)

Pas 13: els resultats:

Els resultats
Els resultats
Els resultats
Els resultats
Els resultats
Els resultats
Els resultats
Els resultats

Com podeu veure, les imatges van resultar fantàstiques! I la melodia també! Espero que hagueu vist el vídeo on hi ha tota la manifestació.

Espero que la versió d’aquest Arduino de PUBG sigui un projecte emocionant per a tots els entusiastes del joc i de l’electrònica.

Si us plau, no dubteu a compartir els vostres comentaris als comentaris i a compartir qualsevol suggeriment. A més, considereu la possibilitat de subscriure-us al meu canal per obtenir més contingut, ja que és una part de la sèrie OLED en què estic treballant. Avisa'm si construeixes aquest divertit projecte:)

Fins la pròxima vegada.

Recomanat: