Sable de luz de Vision Star Wars

  • Categoría de la entrada:Ideas
Compartir en tus redes sociales:
Sable de luz de Vision Star Wars
Sable de luz de Vision Star Wars.

Sable de luz de Vision Star Wars.

Elementos utilizados en este proyecto.
Componentes de hardware
3S LiPO 11.1V x1
Convertidor DC-DC 5V 10A o más x1
Resistencia 10k Ohm 1/4 Watt Pth – 20 Pk x1
Smd Led Rgb Ws2812b Tira De 10 x1
interruptor de encendido con botón pulsador x1
Desglose de botón táctil LED x1
Huzzah32 – Tablero Pluma Esp32 x1
Amplificador de audio estéreo 3.7w clase D x1
Giroscopio Tinkerkit 2 ejes sensible X4 x1

Descripción general

El ESP32 es el núcleo de este proyecto que controla el sistema y almacena las imágenes que se pueden mostrar. Recibe datos de velocidad angular de más de I²C del giroscopio y estima el ángulo actual del sable de luz.

Desde este ángulo, se dibuja una línea en la imagen actual que determina los colores de los píxeles para la matriz NeoPixel.

Estos valores de color se envían a la matriz a través de I²S. Solo la línea de datos I²S se usa para emular señales altas y bajas específicas de los tiempos WS2812b.

Para el factor de frialdad más alto, también se agrega sonido. Las muestras para encender y apagar se almacenan como matrices binarias. Si es necesario, estos se pueden cambiar usando el editor de tabla de ondas de bitluni . El sonido del zumbido se sintetiza sobre la marcha y también se ajusta por la velocidad angular. Las muestras de audio renderizadas se envían al primer DAC interno que crea el voltaje analógico para el amplificador de audio. El amplificador impulsa el altavoz.

Sable de luz de Vision Star Wars.

Diagrama

Sable de luz de Vision Star Wars.

Código

Se puede usar cualquier placa principal ESP32 siempre que permita el acceso a los pines como se ve en el esquema. Se necesitan los siguientes pasos para cargar el código y los datos al microcontrolador:

  1.  Instale Arduino IDE (si no está presente)
  2. Instale la extensión Arduino ESP32 (si no está presente)
  3. Instale el cargador del sistema de archivos Arduino ESP32 (si no está presente)
  4. Cargue el boceto de POVLightsaber desde el repositorio de github
  5. Cargue los datos desde IDE Tools > ESP32 Sketch Data Upload

La carpeta del proyecto Arduino POV Lightsaber contiene una carpeta de datos donde se colocan las imágenes binarias. Para reemplazar la imagen se puede utilizar la herramienta Convertidor. La herramienta de conversión se puede encontrar en el repositorio de código en el subdirectorio Convertidor. El Converter.html se puede abrir con cualquier navegador moderno. Seleccionar una imagen la convertirá en un archivo binario image0.bin. Que se puede almacenar desde el enlace que se muestra:

El archivo se puede renombrar tome image1.bin, etc. y colocarse en la carpeta de datos del proyecto Arduino reemplazando la imagen correspondiente.

Operación

Cuando se enciende el interruptor, el ESP se enciende. Mientras se hace esto, el sable de luz debe mantenerse quieto durante un segundo mientras toma muestras de referencia del giroscopio. A partir de este momento, mantener presionado el botón durante 3 segundos encenderá el sable de luz, manteniéndolo presionado otros 3 segundos lo apagará. 

Actualmente, se pueden cargar 3 imágenes, pero esto se puede aumentar en el código. Al presionar el botón brevemente, se saltará a la siguiente imagen ciclando varias veces. Actualmente, esto solo funciona después de que el sable de luz está encendido y aún no está encendido. Es una peculiaridad del sistema ESP32 interno. Si intenta cambiar la imagen después de que se encendió, se reiniciará saltando a la primera imagen nuevamente.

Mientras se maneja la velocidad angular se utiliza para acumular el ángulo. Esto nunca es perfecto, por lo que habrá una deriva. Cuando el sable de luz se mantiene quieto de nuevo, lo detectará y recalculará el ángulo absoluto a partir del acelerómetro y la gravedad.

Código

Descargar Aquí.


Te gusto?

Nuestra web se mantiene gracias a la colaboración de personas como tú. Si encuentras nuestro contenido útil y quieres ayudarnos a seguir ofreciéndolo, invitamos un Tecito. Al hacerlo, estarás contribuyendo al mantenimiento y mejora de nuestro sitio. ¡Gracias por tu colaboración!


Tambien te puede interesar:

Compartir en tus redes sociales: