Tabla de contenido:

Tobias - Arduino Music Box con TVout: 5 pasos (con imágenes)
Tobias - Arduino Music Box con TVout: 5 pasos (con imágenes)

Video: Tobias - Arduino Music Box con TVout: 5 pasos (con imágenes)

Video: Tobias - Arduino Music Box con TVout: 5 pasos (con imágenes)
Video: Making a TV Head Cosplay 2024, Mes de julio
Anonim
Tobias - Arduino Music Box con TVout
Tobias - Arduino Music Box con TVout
Tobias - Arduino Music Box con TVout
Tobias - Arduino Music Box con TVout
Tobias - Arduino Music Box con TVout
Tobias - Arduino Music Box con TVout

En primer lugar, permítanme presentarles a Tobias, el osito de peluche gigante de mi novia, quien es la inspiración para este proyecto.

Tobias tiene una personalidad, construida con el tiempo, mientras en broma nos preguntamos qué hace él mientras ella trabaja.

El proyecto estaba destinado a ser un simple regalo, un Arduino con un parlante piezoeléctrico reproduciendo su canción favorita. Rápidamente se salió de mi control y se convirtió en una caja de música:

  • Impreso en 3D
  • capaz de reproducir música sin necesidad de una conexión USB con pilas AA
  • con "teclas" de piano que se iluminan con cada nota
  • capaz de reproducir imágenes en un televisor CRT antiguo a través de conectores RCA

Suministros

  • Arduino Nano
  • Altavoz (lo tomé de una radio vieja dañada)
  • Interruptor de palanca (3 pines) - selector de modo
  • Potenciómetro giratorio - control de volumen
  • 2x resistencia 220Ω
  • 1 resistencia de 440 Ω o 2 resistencias de 220 Ω
  • 1 resistencia de 1 kΩ
  • 11 leds de 3 mm
  • 2x conectores RCA hembra
  • alambres
  • Acrílico blanco de 3,5 mm
  • pegamento caliente o superpegamento

Instrumentos:

  • kit de soldadura
  • impresora 3d
  • computadora con Arduino IDE para cargar el código

Paso 1: Código - Cargar

Necesitará:

  • Biblioteca de TVout: permite que Arduino coloque imágenes y sonido en un televisor con conexión RCA o SCART
  • arduino-volume1: esta biblioteca mejora la calidad del sonido, se usa en el modo 1 (Arduino solo sin conexión de TV). Sin embargo, en el modo 2, no es posible usarlo al mismo tiempo que la biblioteca TVout usa el mismo temporizador que volume1

Si desea cambiar la música o la imagen, consulte los siguientes pasos, si no solo cargue el código en su Arduino, primero asegúrese de tener ambas bibliotecas instaladas.

Paso 2: Código (cambia la música)

Código (cambiar la música)
Código (cambiar la música)

Aquí puedes encontrar la canción:

Divido la música en partes, asignando letras a cada parte que se repite. Luego asigné un valor de 1 a 16 para cada nota y las coloqué en la línea 0 de cada matriz. Los valores corresponden a la frecuencia de la nota a tocar (array freq ). En la línea 1 pongo la duración de cada nota arriba. Ejemplo:

const byte melB1 [2] [6] PROGMEM = {

{11, 8, 0, 8, 7, 6}, // nota

{1, 3, 1, 1, 1, 1}}; // duración

Si quieres usar otra canción:

  • cambiar la matriz freq con las nuevas frecuencias deseadas (notas)
  • cambiar las matrices correspondientes a cada parte de la canción
  • in void music () elige el orden en que se debe reproducir
  • cambie la "X" en la declaración de la matriz por el número de elementos en cada línea y también cambie en el vacío correspondiente, ejemplo:

melB1 [2] [X]

void melodiaB1 () {

para (a = 0; a <X; a ++) {

Paso 3: Código (cambiar la imagen / foto)

Código (cambiar la imagen / foto)
Código (cambiar la imagen / foto)
Código (cambiar la imagen / foto)
Código (cambiar la imagen / foto)
Código (cambiar la imagen / foto)
Código (cambiar la imagen / foto)

Usé GIMP para cambiar una foto a blanco y negro, pasos:

Colores / Saturación = 0

La imagen debe cambiarse a una resolución de 95x95 píxeles. La biblioteca TVout permite resoluciones más altas, pero debido al tamaño del código que pretendía usar, me vi obligado a reducir la resolución.

  • Herramienta de selección de rectángulo (relación de aspecto: fija 1: 1)
  • Editar / Copiar
  • Archivo / Crear / Desde portapapeles
  • Imagen / Imagen a escala (95x95)

Es imperativo convertir la imagen a blanco y negro y no a escala de grises.

  • Herramienta de selección difusa y herramienta de selección libre para seleccionar las áreas que quiero que aparezcan en negro.
  • Lápiz (negro) para hacer nuestra selección negra
  • Seleccionar / Invertir (invierte nuestra selección)
  • Lápiz (blanco) para colorear el resto del área de blanco
  • Colores / Brillo-Contraste (contraste al máximo para garantizar que el negro sea negro)

Ahora que tenemos la imagen en blanco y negro con una resolución de 95x95 píxeles

Archivo / Exportar como (. BMP)

Para convertir la nueva imagen a código utilicé Image2Code

Lo que nos da una variedad casi buena. Luego lo copié y pegué en el IDE de Arduino.

Usando Editar / Buscar:

  • buscar todo "0xFF" y reemplazarlo con "0" (Reemplazar todo)
  • haga lo mismo para "0x00" y reemplácelo con "1"
  • Eliminar todos los "{" y "}"

"0" será un píxel negro

"1" será un píxel blanco

Paso 4: modelo 3D

modelo 3d
modelo 3d

Para crear el modelo de caja 3D utilicé SketchUp. Debido a las limitaciones de mi impresora 3D y la dificultad que imaginaba que sería realizar las conexiones internas decidí crear el modelo en 4 partes.

Subí el archivo SketchUp si desea cambiar algo en el diseño, si no, simplemente imprima los archivos.stl

Paso 5: Montaje

Montaje
Montaje
Montaje
Montaje
Montaje
Montaje

El montaje no es complejo, pero es difícil debido al tamaño de la caja y la cantidad de cables que se deben conectar.

Recomendado: