Tabla de contenido:

¡Canción temática de PUBG + animación con Arduino !: 13 pasos (con imágenes)
¡Canción temática de PUBG + animación con Arduino !: 13 pasos (con imágenes)

Video: ¡Canción temática de PUBG + animación con Arduino !: 13 pasos (con imágenes)

Video: ¡Canción temática de PUBG + animación con Arduino !: 13 pasos (con imágenes)
Video: El sacrificio de Larry #clashroyale 2024, Mes de julio
Anonim
Image
Image
Reuniendo todas las partes …
Reuniendo todas las partes …

¡Hola y bienvenido a este divertido instructivo! Espero que todos estén bien y se mantengan saludables. Este pequeño pero sorprendente proyecto se trata de reproducir la canción temática de PUBG e incluso crear algunas animaciones de juegos usando arduino.

Los componentes utilizados son muy fáciles de conseguir y muy fáciles de montar en una placa de pruebas. Compartiré todo el proceso de creación y codificación en este instructivo, ¡quédate hasta el final!

Te sugiero que veas el video para tener una idea del proyecto:) Si te gusta, dale me gusta y comparte el video. Considera suscribirte a mi canal si disfrutas de mi construcción. ¡Gracias!

Entonces, sin más demora, ¡comencemos!

Paso 1: Recopilación de todas las piezas …

Reuniendo todas las partes …
Reuniendo todas las partes …

La construcción consiste principalmente en un Arduino Nano, que es el núcleo principal de este proyecto. Puede usar cualquier otra variante de Arduino como el popular Arduino Uno, Arduino Pro Mini, Arduino Mega, etc. Para mostrar las animaciones y las imágenes, decidí usar una pantalla OLED de 0.96 pulgadas con una resolución de 128 por 64 píxeles. Esta pantalla puede ser interfaces con el arduino con el protocolo I2C que requiere solo dos cables para datos y reloj, reduciendo así el número de conexiones y haciendo que el proyecto sea más compacto. Para reproducir la melodía del tema PUBG utilicé un zumbador de 5V del cual conecté el pin positivo con el pin digital 6 de arduino y la tierra va a tierra de Arduino.

Estas son la lista de piezas necesarias para el proyecto:

  1. Arduino Nano (o cualquier otra placa arduino de su elección)
  2. Módulo de pantalla OLED de 0,96 pulgadas
  3. Zumbador 5V
  4. Cables de puente
  5. Tablero de circuitos
  6. Cable de programación Arduino

Paso 2: Conexión de la pantalla OLED

Conexión de la pantalla OLED
Conexión de la pantalla OLED
Conexión de la pantalla OLED
Conexión de la pantalla OLED
Conexión de la pantalla OLED
Conexión de la pantalla OLED

Se necesitan un total de 4 conexiones para que la pantalla OLED se conecte desde arduino:

Vcc 5V de Arduino

Gnd Gnd de Arduino

SDA A4 de Arduino

SCK A5 de Arduino

Los pines A4 y A5 del arduino sirven para múltiples propósitos de entradas analógicas, así como pines para comunicación I2C. Aquí hemos utilizado los pines para el protocolo I2C para la interfaz con el módulo de visualización.

El enlace a la biblioteca Adafruit utilizada en este proyecto:

Paso 3: Conexión del zumbador

Conexión del zumbador
Conexión del zumbador
Conexión del zumbador
Conexión del zumbador

El zumbador de 5 V tiene un terminal de alimentación positivo y negativo.

Pin positivo D6 de Arduino (pin digital 6) (puede utilizar cualquier pin digital del arduino)

Pin negativo Gnd de Arduino

Vamos a crear el tono deseado en el pin digital D6 en el que el zumbador tocará la melodía.

Paso 4: todas las conexiones de hardware completas …

Todas las conexiones de hardware completas
Todas las conexiones de hardware completas
Todas las conexiones de hardware completas
Todas las conexiones de hardware completas

Todas las conexiones necesarias de la pantalla OLED y el zumbador están completas. Ahora sigamos adelante para comprender el aspecto de programación del proyecto.

Paso 5: Incluir la biblioteca e inicializar los protocolos de visualización

Incluir la biblioteca e inicializar los protocolos de visualización
Incluir la biblioteca e inicializar los protocolos de visualización

Todo el programa se ha segregado en 3 componentes:

  1. El programa principal que consiste en la inicialización y las secuencias de visualización de imágenes y melodía.
  2. archivo "pitches.h" que consta de la lista de notas musicales y la frecuencia asociada
  3. Archivo "pictures.h" que consta de mapas de bits de las imágenes que se mostrarán.

El proceso de cómo convertir una imagen en una matriz de mapa de bits para pantalla OLED se analiza en los próximos pasos.

También adjuntaré el código completo junto con este instructivo para que lo use:)

Paso 6: La melodía de la canción temática

La melodía de la canción temática
La melodía de la canción temática
La melodía de la canción temática
La melodía de la canción temática

Busqué en Internet las notas básicas que componen la canción temática de PUBG y luego las agregué a la matriz de melodías.

Al pasar una cantidad considerable de tiempo tocando y reproduciendo la secuencia de la melodía, luego creé la matriz de duración de tiempo que se preocupa por cuánto tiempo debe tocarse cada nota. La combinación de la matriz de melodías y la matriz de duración comprende la información completa para reproducir la canción.

Paso 7: reproducción de la canción durante el inicio …

Reproducción de la canción durante el inicio …
Reproducción de la canción durante el inicio …

Hay un total de 63 notas que utilicé para componer la secuencia de la melodía. Usando un bucle for e iterando a través de las notas y la matriz de duración con una pausa predeterminada entre cada nota, la secuencia completa se reproduce una vez, ya que este fragmento de código se encuentra en la configuración vacía (). Curiosamente, ninguno de los códigos de este proyecto utiliza el bucle void () del código arduino, ya que tengo la intención de reproducir y mostrar imágenes solo una vez. Por supuesto, si desea una secuencia repetida, debe ponerla en la función void loop ().

Paso 8: Conversión de imágenes a mapas de bits

Conversión de imágenes a mapas de bits …
Conversión de imágenes a mapas de bits …

Ahora, la parte interesante del proyecto es el proceso para convertir una imagen en una matriz de mapa de bits para la pantalla OLED de acuerdo con su densidad de píxeles. Para ello encontré la herramienta online perfecta que nos permite generar los mapas de bits personalizados.

El enlace para esta aplicación en línea es:

Gracias a los increíbles creadores de esta aplicación, esto hace que mi trabajo sea mucho más fácil.

Al ir al enlace, primero debe cargar la imagen de la que desea crear el mapa de bits. Una cosa a tener en cuenta aquí es que debe intentar seleccionar imágenes que no tengan mucho contraste de color, intente ceñirse a imágenes con algunos colores sólidos, sin degradados para obtener mejores resultados.

Paso 9: ajuste de la resolución según su pantalla

Ajuste de la resolución según su pantalla
Ajuste de la resolución según su pantalla

En el siguiente paso, tenemos que cambiar el tamaño de la imagen de acuerdo con la resolución de la pantalla. Para nuestra pantalla OLED, tiene 28 píxeles de ancho y 64 píxeles de alto, que he ajustado como se muestra en la imagen. Ajuste el umbral de brillo para asegurarse de que la imagen sea considerablemente clara (aquí es donde entra en juego la ventaja de usar imágenes con colores sólidos, cuanto más gradientes de color, la calidad de la imagen en la pantalla monocromática se degradará a medida que interfiera con el umbral de brillo).

El siguiente paso es ajustar la imagen en la pantalla manteniendo intactas las proporciones y ajustando la simetría para la que las opciones ya están ahí. Puede explorar estas opciones para obtener la salida de imagen deseada. ¡Como referencia, también obtienes la increíble opción de vista previa!

Paso 10: Generación de la matriz de mapa de bits

Generando la matriz de mapa de bits …
Generando la matriz de mapa de bits …

Después de ajustar los parámetros de la imagen, en el siguiente paso simplemente seleccione el código Arduino como formato de salida y haga clic en generar para obtener la matriz de mapa de bits deseada.

¡Allí! ha convertido correctamente su imagen a la matriz de mapa de bits deseada. He realizado este proceso para un total de 7 imágenes y las he guardado.

Paso 11: Visualización de las imágenes como secuencia

Visualización de imágenes como secuencia
Visualización de imágenes como secuencia
Visualización de imágenes como secuencia
Visualización de imágenes como secuencia
Visualización de imágenes como secuencia
Visualización de imágenes como secuencia

Para mostrar las imágenes, he usado la función Arduino millis () para llamar a la función draw () que es básicamente un conjunto de comandos para borrar la pantalla, trazar la matriz de mapa de bits en el OLED e inicializar la pantalla. La lógica principal es que después de cada 3,5 segundos, se cambia la imagen y se muestra la siguiente imagen. Bueno, 3,5 segundos no es un número único, acabo de descubrir que si divido la duración completa de la melodía entre 7 imágenes, obtengo aproximadamente 3,5 segundos para cada pantalla. Puede agregar más imágenes a esto y reducir el tiempo de visualización de cada imagen si lo desea.

Los fragmentos de código explican cómo se llaman las funciones en función de la función millis ().

Todas las matrices de mapas de bits de las imágenes se almacenan en el archivo "pictures.h"

Paso 12: el código completo:

¡Aquí estoy compartiendo el código completo para que todos ustedes jueguen y experimenten!

Una vez que todo parece estar bien, es hora de subirlo al tablero:)

Paso 13: Los resultados:

Los resultados
Los resultados
Los resultados
Los resultados
Los resultados
Los resultados
Los resultados
Los resultados

¡Como puede ver, las imágenes resultaron ser geniales! ¡Y también la melodía! Espero que hayas visto el video en el que está presente toda la demostración.

Espero que esta versión de PUBG de Arduino sea un proyecto emocionante para todos los entusiastas de los juegos y la electrónica.

No dude en compartir sus comentarios en los comentarios y compartir cualquier sugerencia. Además, considere suscribirse a mi canal para obtener más contenido de este tipo, ya que es parte de la serie OLED en la que estoy trabajando. Avísame si construyes este divertido proyecto:)

Hasta la proxima vez.

Recomendado: