8 de CHR X 8 X 8 LED cubo revisitado con mejoras! (10 / 19 paso)

Paso 10: ¿Cómo modifico el software? Preguntas, respuestas y Firmware repositorio

Esto va a quedar como un foro abierto para preguntas específicas ya que hay demasiados aspectos del software para cubrir en un paso, con la esperanza de que golpee sobre el que desea saber acerca de.

Nota: Si descargaste el archivo hexadecimal 5 modo música antes del 12 de ene, usted necesita volver a descargar el firmware más reciente.
Los modos de la música utilizan para arriba un poco demasiado RAM del AVR, y cuando el efecto de fuegos artificiales intentaría iniciar, reiniciará el cubo. Esto se ha solucionado mediante la reducción de los destellos de los fuegos artificiales de 60 a 40. El nuevo 5 música modo archivo HEX no tiene este problema ahora cuando se ejecuta en modo de animación.

He puesto el main.hex y main.eep (necesita cambie el nombre a main.eep porque Intructables no permite subir de la extensión de la AEA) para el ATmega32 que puede cargar a su controlador de cubo usando AVRDude
Si tienes un programador de AVR USBTiny, la sintaxis para instalar en el ATmega32 es:

AVRDUDE - c usbtiny -p m32 -B 1 - U flash:w:main.hex
AVRDUDE - c usbtiny -p m32 -B 1 - U eeprom:w:main.eep

O puede agregar estas 3 líneas en su makefile como las 3 últimas líneas para que al final lee:

instalar:
AVRDUDE - c usbtiny -p m32 -B 1 - U flash:w:main.hex
AVRDUDE - c usbtiny -p m32 -B 1 - U eeprom:w:main.eep

Entonces sólo puede escribir

Asegúrese de instalar
de la dos pronto en el directorio donde están los archivos HEX y EEP.

y AVRDude subirá los códigos a tu AVR

(sustituir "usbtiny" para el tipo de programador, si tienes un programador diferentes, por ejemplo "usbasp")

Incluir a un uploader de código puede hacer clic en el Mini CD que viene con mi tableros de control para los microcontroladores ATmega32 que funciona en 32 bits Windows con programadores USBTiny o USBasp.
Alguien ha dicho no funciona en Windows de 64 bits, pero no he tenido oportunidad de comprobarlo personalmente.

Y hay una copia de texto copiar/pegar el código de Arduino - justo pega en el IDE de Arduino y guardar o cargar a su tarjeta de controladora de cubo Arduino o AIO.

Nota: Estos códigos todos incluyen mi POST (Power en Self Test) para diagnosticar el cubo.
Usted puede saltarse la prueba con una prensa del botón en el ATmega32A o mediante la eliminación de la prueba desde el código de Arduino (ATmega328)
El POST es que demasiado, POWER ON self test - que sólo funciona una vez en el poder en o restablece. Después de eso, no le molesta ya.
Me parece práctico tener siempre allí, como hace poco uno de mi LED quemados, y tuve que reemplazarlo.
Sin el POST, yo probablemente no hubiera siquiera notado!

Lo más común que escucho es "¿cómo se utiliza ese puerto serial?"
Aquí le damos una breve explicación de eso.

Si utiliza código de CHR de su instructivo, su código es compilado para un microcontrolador de 14,7456 MHz y una serie velocidad de 38400 baudios.
Mi código disponible aquí está compilado para un cristal de 16 MHz y establece también la velocidad en baudios 38400. Permite configurar más, pero todo el mundo parece hacer su software para la 38400 original, así que me puse detrás.

Marcos cubo completo se envían al cubo vía RS232 (o en el caso de mi PCBoards, serie TTL).
Cada LED es un poco, por lo tanto, cada fila es un byte, cada capa es 8 bytes, y como tal, el cubo entero es 64 bytes.
Hay algunas cosas menores para saber cuando se envían los datos al cubo.
Carácter 255 (decimal... Binario hexadecimal o 11111111 de FF) se utiliza como un carácter de "escape", dice el cubo que el siguiente carácter es un comando.
Por ejemplo, enviar el set FF, 00 (255 y 0) cuenta el cubo para restaurar las coordenadas 00. De esta forma si hubo un error de datos o algo, la computadora y el cubo ambos saben empiezan un nuevo marco.

El problema que esto presenta es cuando se envía un byte de "encender" que obviamente también es 255. Así, en el modo de escape, si el carácter siguiente también es de 255, utiliza como datos de cubo en lugar de un comando.
Por lo tanto, para encender todas las luces en el cubo, tendrías que enviarlo 255 128 veces (255 lo pone en modo de escape, el 255 siguiente toma como datos la siguiente 255 coloca en el modo de escapar otra vez y 255 siguiente toma como datos de nuevo, y así sucesivamente)
Para cualquier momento que desea enviar 255 como datos, usted debe enviar dos veces.
Por el momento, a menos que un cero se recibe inmediatamente después de la 255 (FF) entonces el carácter siguiente se supone que datos del cubo.
De lo contrario, toma cada octeto como datos, y una vez que haya datos suficientes para dibujar un marco, todos los datos se transfieren al cubo.

Una vez que el cubo ha recibido 64 bytes de datos (comando no código datos) pone los datos en el búfer de pantalla actual, y aparece en el cubo y permanece allí hasta que se reciba otro fotograma completo.

Cómo obtener los datos para el cubo es su propia decisión.
Algunos utilizan el "Proceso" (la lengua) o lenguaje C, Python.
Mis primeros intentos de esto que hice en QBasic.
Todo lo que puede enviar datos en serie se pueden utilizar - incluso un Arduino, Raspberry Pi, Foto, iPod, cualquier cosa con un puerto serie que se puede programar para enviar los datos al cubo.

Personalmente tengo la intención de ampliar las secuencias de escape para que la PC puede ejecutar los patrones y rutinas almacenadas en el cubo.
Por ejemplo, FF, 01 podría representar cambio cube X eje positivo y FF 02 podría representar el cubo del desplazamiento X negativa y FF, 05 podría ser cambio cubo Z positivo.
Otros comandos podrían ser FF, 21 podría representar smiley_spin - y luego los caracteres a continuación 3 sería el personaje en el spin, el retraso y las iteraciones.
De esta manera, podría ejecutar las rutinas preprogramadas con diferentes variables, sin tener que programar el cubo sí mismo cada vez.
Esto es en las obras y no es algo que todavía tengo.

La razón para extender el conjunto de caracteres de escape es que pretendo hacer una lenta entrada en serie para que pueda enviar secuencias de escape al cubo de algo como un Commodore VIC-20 o el Commodore 64. ¿Por qué? Porque me encantó el Commodore VIC 20. Fue mi introducción a los microprocesadores de 8 bits, que es básicamente lo que estamos jugando aquí.
Si alguna vez encuentro una copia de SuperVicMon en internet (ensamblador de código máquina para el VIC-20) realmente intento puedo controlar el cubo de la VIC y pasando por alto el AVR en conjunto. El CIV tiene suficiente E/S digitales para hacerlo si secuestrar las entradas de teclado y reasignarlos como salidas.

Cuando me estaba haciendo hardware para enganchar hasta el VIC-20, no tengo internet. Nadie lo hizo realmente. De hecho, cualquier persona con una computadora en casa fue en un grupo bastante selecto. Personas que interconectar aparatos electrónicos caseros eran raras.
Así que le gustaría casarse con las 2 tecnologías puesto que realmente no estén muy separados entre sí. Créalo o no, este cubo del edificio fue un pequeño gran viaje hacia abajo de carril de la memoria a principios de los 80. Es interesante cómo ha todo completado el círculo.

Artículos Relacionados

Simple iluminación "LED cubo" (no con microcontrolador)

Simple iluminación "LED cubo" (no con microcontrolador)

Antes de iniciar la lectura, me gustaría decir este "cubo del LED" no controlado por microcontrolador, que a sólo un "cubo del LED"-como iluminación...Este cubo de LED con 27 LED que es sí mismo cambiando de color, todos ellos de la so
JolliCube - 8 x 8 x 8 LED cubo (SPI)

JolliCube - 8 x 8 x 8 LED cubo (SPI)

Cubos de LED no deja de impresionarnos. Ver algunas animaciones de 7 x 7 x 7 o más cubos de LED puede ser muy fascinantes.Durante mucho tiempo hemos querido construir uno de estos cubos más grandes que 7 x 7 x 7. Investigado en línea para proyectos s
Simple LED cubo de 4 x con Arduino / 328p

Simple LED cubo de 4 x con Arduino / 328p

¡ Hola!Este es mi primer Instructable sobre mi 4 x 4 x 4 cubo del LED. El cerebro del cubo es Atmega 328p. ATmega 328p es el microcontrolador utilizado en el Arduino Uno. Así que cualquiera puede utilizar Arduino o sólo el Atmega 328p.Este instructab
Independiente 7 x 7 x 7 LED cubo

Independiente 7 x 7 x 7 LED cubo

Cubos de LED son verdaderas pantallas 3D que funcionan por puntos en un enrejado 3D de LEDs encendido.En la pantalla 3D puede producir unas animaciones realmente fascinantes. Este Instructable le guiará a través de la creación de un cubo de LED por t
8 x 8 x 8 LED cubo con Arduino Mega (+ sonido + PS controlador + juego)

8 x 8 x 8 LED cubo con Arduino Mega (+ sonido + PS controlador + juego)

este es un instructivo que se basa en el cubopor Chr, (por SuperTech-IT, (y por das-labor.org, (http://www.das-labor.org/wiki/Borg3d_Bauanleitung...)pero creo que su mejor y más fácil.Comencé este proyecto sin ninguna habilidad de toprogramming de so
Bluetooth control LED portátil con Intel Edison

Bluetooth control LED portátil con Intel Edison

¿Que nunca imaginó un mundo donde se puede cambiar el patrón de un vestido con un empuje del botón? ¿O a poder cambiar la altura de un dobladillo con un golpe de dedo? Tecnología permite control y personalización en lugares donde normalmente no lo ha
Reloj de pared de LED binario puro con Arduino

Reloj de pared de LED binario puro con Arduino

Mi reloj de pared binario está inspirado en muchos relojes binarios, que he encontrado en InstructablesEnlaces:Reloj de LilyPad Arduino:Reloj binario:Además de algunos otros instructables reloj binario.Pero...Lo que me pareció carente de ellos era la
41 interruptor intermitente el LED del circuito con 555 IC

41 interruptor intermitente el LED del circuito con 555 IC

hice esto como un proyecto rápido usar mucho los LEDs tengo recientemente. Básicamente se conecta vía un 555 8 pin IC y permite ajustar el tiempo entre el tapajuntas cambiando los valores de resistencia o condensador. Proporciona un fresco buscando e
Más pequeño 4 del mundo x 4 x 4 RGB LED cubo

Más pequeño 4 del mundo x 4 x 4 RGB LED cubo

Creo que esto es "actualidad" Tiniest 4 x 4 x 4 COLOR LED cubo del mundo. Hay más pequeños pero son generalmente solo color y conformada por menos LEDs (3 x 3 x 3).El cubo de LED real es menos de 1 pulgada cuadrada. Usa sesenta y cuatro 3.2mmx2.
$9 construir una 4 x 4 x 4 RGB LED cubo con creador de animación

$9 construir una 4 x 4 x 4 RGB LED cubo con creador de animación

Cubo del LED RGB es impresionante, pero tiene muchos led pierna a construir y el precio es alta, así que aquí es el componente más barato podemos hacer con 64 LEDs RGB, que tenga todas las piezas de bricolaje por su auto, al compartir el esquema y el
DIY LED cubo Jig

DIY LED cubo Jig

Hoy vamos a aprender cómo hacer un LED Cube Jig.¿Qué es una plantilla de cubo LED podría preguntar? Bien su simplemente un soporte poco aseado que le permitirá montar fácilmente un marco de cubo de LED por lo que es uniforme en tamaño y forma.Para ha
Cómo instalar bajo la tira del LED mostrador luces con dimmer

Cómo instalar bajo la tira del LED mostrador luces con dimmer

Una pregunta común para aquellos que son nuevos a los LEDs es "Cómo instalar luces de tira de LED bajo mostradores y gabinetes". El proceso es fácil y tiene un conjunto similar de pasos en ambos casos. Incluso si no tienes conocimientos avanzado
Cómo construir un 8 x 8 x 8 led cubo (versión en inglés)

Cómo construir un 8 x 8 x 8 led cubo (versión en inglés)

Gracias a ISACCO que ayudó a mí a traducir este INSTRUCTABLEProbablemente has llegado a esta página porque has visto uno de lo video clips en cubos led, que se propagan en la internet, y han decidido construir uno tú mismo.Bien, me alegra saber que t
Simple 3 x 3 x 3 LED cubo con Arduino

Simple 3 x 3 x 3 LED cubo con Arduino

Este es mi primer instructivo para votar en los comentarios por favor.Al ver un montón de tutoriales de cubo del LED, parecía eran demasiado complejas y como no dan suficientes detalles acerca de cómo construirlos. También la selección controlada uno