Cubo LED 8 x 8 x 8 (54 / 72 paso)

Paso 54: Software: bajo nivel de las funciones

Hemos hecho una pequeña biblioteca de bajo nivel funciones gráficas.

Hay tres razones principales para hacer esto.

Huella de la memoria

La forma más fácil de abordar cada voxel sería a través de una matriz de tres dimensiones buffer. Así:

cubo de char sin signo [x] [y] [z]; (char significa un número de 8 bits, sin signo significa que es rango es de 0 a 255. firmado es -128 a +127)

Dentro de esta matriz cada voxel se estaría representada por un número entero, donde 0 es apagado y 1. De hecho, podría utilizar el entero entero y tiene 256 niveles de brillo distintos. Hemos intentado realmente esto primero, pero resultó que nuestro eBay LEDs tenía muy poco cambio en el brillo en relación con el ciclo de trabajo. El efecto no era lo suficientemente sensible que vale la pena. Fuimos para una solución monocromática. Encendido y apagado.

Con un cubo monocromo y tres buffer dimensional, estaría perdiendo 7/8 de la memoria utilizada. La menor cantidad de memoria que puede asignar es un byte (8 bits), y basta 1 bit para representar el encendido y apagado. 7 bits para cada voxel se desperdiciaría. 512*(7/8) = 448 bytes de memoria desperdiciada. Memoria es escasa en los micro controladores, así que esto es una solución óptima.

En cambio, se crea un búfer que tiene este aspecto:

cubo de unsigned char [z] [y];

En este buffer se representa el eje X dentro de cada uno de los bytes de la matriz de amortiguamiento. Esto puede ser bastante confuso para los que trabajamos, lo que nos lleva a la segunda razón para hacer una biblioteca de funciones de dibujo nivel bajo:

Legibilidad de código

Configuración de un voxel con las coordenadas x = 4, y = 3, z = 5 requerirá el siguiente código:

[5] [3] del cubo | = (0 x 01 << 4);

Puedes ver cómo esto podría conducir a algunos grave cabeza rayar al tratar de depurar su código efecto ;)

En draw.c hemos hecho un montón de funciones que tiene x, y, z como argumentos y no esta magia para usted.

Ajuste el mismo voxel como en el ejemplo anterior se hace con setvoxel(4,3,5), que es _a lot_ más fácil de leer!

Draw.c contiene muchas más funciones como esta. Línea de dibujo, dibujo de plano, dibujo de la caja, relleno etc.. Échale un vistazo a draw.c y familiarizarse con las diferentes funciones.

Código reutilizable y tamaño del código

Como se puede ver en draw.c, algunas de las funciones son bastante grandes. Escribir ese código una y otra vez dentro de las funciones de efecto llevaría un montón de memoria de programa. Solo tenemos 32 KB para trabajar con. Su también aburrido para escribir el mismo código una y otra vez ;)

Artículos Relacionados

Construir un cubo LED 4 x 4 x 4 en menos de 3 horas

Construir un cubo LED 4 x 4 x 4 en menos de 3 horas

Yo siempre quería construir un cubo LED para mi esposa (tal como le prometí a). He estado viendo un montón de tutoriales/instructables sobre la construcción de un cubo de LED y francamente, todos tienen el mismo método para construir el cubo. Es deci
Cubo LED 3D

Cubo LED 3D

El cubo LED 3D es un dispositivo realmente fresco que le permite ver en tres dimensiones, haz alguna percepción de profundidad y tiene 512 LED o 512 píxeles. Está basado en un arduino uno que es un microcontrolador Atmel AVR en un tablero de desarrol
Cómo dulce dibujar gráficos 3D cubos LED

Cómo dulce dibujar gráficos 3D cubos LED

He pasado los últimos cuatro meses trabajando con cubos de LED, y este instructable es mi forma de compartir algunos de los conocimientos y técnicas que he acumulado durante este tiempo. Si tienes un cubo de los tuyos, esto podría ayudar a hacer gráf
Mi cubo Led impresionante

Mi cubo Led impresionante

esta es mi versión del cubo led impresionante, su hecho de hojas de acetato (transparente) y una Pepsi puedo, con un circuito de led multicolor de una linterna bolígrafo barato. Diseñé la parte 6 del cubo para que coincida con los 5 anteriores.
Guía definitiva para hacer un cubo LED

Guía definitiva para hacer un cubo LED

Hola gente, estaba muy fascinado con estos cubos de LED y me decidí a hacer uno... PERO pero pero hay un problema que enfrentas al crear su propio cubo LED... Que es de donde al comienzo y cómo iniciar pero para solucionar ese problema tengo una solu
3 x 3 x 3 cubo Led NO ARDUNIO

3 x 3 x 3 cubo Led NO ARDUNIO

por favor votar en el concurso de resplandor:) es un cubo de led muy sencillo que no necesita un ARDUNIO al programa. Parpadea 512 diversos patrones antes de reiniciar.PIEZAS> madera (suficiente para hacer la base)> soldadura> 27 led de> un ic
Impresionante cubo led

Impresionante cubo led

nunca se sabe cuando puede necesitar un cubo brillante al convencer a la gente que es el futuro.Paso 1: materiales y herramientas Para hacer esto usted necesitará:Un LED (preferentemente alta potencia)una batería de botón de 3 vun resistor de 100 ohm
Analizador de espectro de cubo LED

Analizador de espectro de cubo LED

en este proyecto vamos a crear un complemento pequeño PCB que contengan el un analizador de espectro MSGEQ7 circuito y mostrar cómo puede conducir el RGB LED kit de cubo de Freetronics. Esto permite que el cubo ver las siete bandas sobre cuatro plano
8 x 8 x 8 adición de cubo LED

8 x 8 x 8 adición de cubo LED

simplemente pensé que me gustaría compartir algunas fotos que ilustrativos que hago a lo largo de la manera como funcionan mi manera a través de 8 x 8 x 8 instructable por Chr.Es un trabajo en progreso y se está actualizando como terminar el trabajo
3 x 3 x 3 protector de cubo LED

3 x 3 x 3 protector de cubo LED

Lo que debe estar en su equipo:1 – PCB27-LED2 – 6 pernos para Arduino2 – 8 pernos para Arduino3-resistencias1-guía espuma1-pequeño alambre1 – media Wire1-grande alambreNecesitas: hierro, soldadura, cortadores de alambre de la soldadura, pelacables, g
Cubo LED 4 x 4 x 4 con 7219 max

Cubo LED 4 x 4 x 4 con 7219 max

Primero disculpen a mi inglés :)Hola, quería hacer un 4 x 4 x 4 cube, pero no sé nada exadécimalAsí que tomé un arduino uno y un máximo 7219Impresionante exhibición de LED de 3 dimensiones.64 LEDs hace este 4 x 4 x 4 cube, controlado por un arduino y
Cubo LED linterna casera

Cubo LED linterna casera

Este fue el primer gran proyecto que nunca hiceEl recinto del proyecto se hizo de un envase de yogurTodos los LED, los interruptores, y los cables en este proyecto fueron salvados de salvado de otros dispositivos electrónicosHabrá un video en el últi
Foto cubo LED de detección

Foto cubo LED de detección

en este instructable voy a mostrarte cómo hacer un sencillo pero muy eficaz y agradable busca decoración para su habitación y se tarda aproximadamente 5-10 minutos para hacerlo cuando tenga todos los componentes.Se puede utilizar para añadir algo de
ARDUINO UNO LED cubo baile luces

ARDUINO UNO LED cubo baile luces

vamos a ver cómo hacer baile cubo de luces LED con tu arduino uno.Para este proyecto arduino uno es imprescindible y 64 LED necesita de su elección de color.He utilizado LED azul para este proyecto.Necesita soldar todos 64 led de capa por capa pero q