Paso 7: Dónde ir desde aquí
Jugando con el bosquejo de ejemplo proporcionado por Adafruit es divertido. Sin embargo algunos de ustedes podrían querer tener más control sobre lo que es muestra en el modelo. En mi caso he querido utilizar el modelo para visualizar datos de la investigación actual sobre la actividad del cerebro de la mosca de la fruta.
Para esta parte, tendrás que hacer un poco de matemáticas y la codificación. No doy todos los detalles en este Instructable, sobre todo porque quiero mantenerlo sobre el hardware y todo el mundo tendrá una idea diferente en mente sobre lo que quieren hacer con su modelo específico. Sin embargo yo estaría feliz de ayudar a personas que tienen preguntas en los comentarios, y mientras tanto aquí están algunas ideas y conceptos básicos, así como enlaces a recursos donde obtener más información:
Si no hay muchos LEDs en su modelo, podría escribir, uno por uno, el color y la intensidad que desea mostrar en cada uno de ellos utilizando la función setPixelColor de la biblioteca de neopixel. Sin embargo, desde los pasos anteriores, usted sabe que la fibra corresponde a qué ubicación dentro del modelo (es la ubicación de las esferas en el paso 2). Mediante el almacenamiento de estas coordenadas una matriz con tres columnas y muchas filas como hay son fibras, usted puede fácilmente el número de LED al respectivo x, y, z coordenadas dentro del modelo de enlace.
Entonces podrás utilizar estos x, y, z coordenadas en expresiones matemáticas, como las funciones trigonométricas, espacialmodular el color y la intensidad de cada LED. Esta modulación puede ser animada por lo que los hace también tiempo dependiente. Puedes mirar el increíble 8 x 8 x 8 LED cubo Instructable, pasos 55 a 62 o este enlace, para obtener ideas.
Si, como en mi caso, desea Mostrar datos tridimensionales adquiridos en otros lugares, probablemente vendrá en valores medidos en una cuadrícula cartesiana. Puesto que no tenemos un LED para cada punto de datos, tenemos que interpolar los datos para el x, y, z coordenadas correspondientes a los extremos de la fibra. El microcontrolador arduino no tiene suficiente memoria y potencia de procesamiento para almacenar los datos iniciales y hacer la interpolación, así que usted querrá preprocesar los datos. Probablemente tienes un lenguaje de programación matemático de elección (matlab, python...), que tendrá su en funciones de interpolación. Tenga en cuenta que incluso datos pueden tomar un montón de espacio, así que usted puede almacenar en la memoria del programa del arduino (32 k en lugar de 1 k del sram) usando las palabras clave PROGMEM.
os adjunto mi sketch de arduino para mostrar cómo administrar la memoria. Para mi el 53, una animación de color puede contener hasta cerca de 170 cuadros, que almaceno en una (FrameNumber) x (LEDnumber) x3 matriz. Si es un código bastante sencillo, que actualiza los colores de los LEDs con dos lazos que desplazarse por los marcos.
Aquí vamos, espero que esto le comenzó, yo estaría encantado de ayudar en los comentarios!