Gadget de animador para NeoPixels (3 / 6 paso)

Paso 3: código

Este proyecto utiliza "Pestañas" para ayudar a organizar el código en el IDE de Arduino. Realmente es la práctica de codificación sólo inusual en todo el proyecto. Las pestañas no son utilizado mucho, o tal vez me acabo de enterar acerca de ellos. Pero me recuerdan de las técnicas y mecanismos utilizados en entornos de programación más sofisticados.

Usarlos más como favoritos en este proyecto. Su función principal aquí es romper el código en trozos para que puedo navegar fácilmente sin mucho desplazamiento. Esto tiene un beneficio adicional importante. Soy un programador muy vago, y si no creo que nadie verá mi código, entonces evitar desplazamiento y se palmada fragmentos de código en lugares al azar hasta que todo el programa se convierte en un desastre ilegible. Se ejecuta bien, pero si vuelvo un mes después aún no puedo leer mi propio código, mucho menos modificarlo. Utilizando fichas, mi código permanece generalmente más legible porque puedo conseguir rápidamente a la pestaña que contiene fragmentos de código relacionados. Así que todo el programa se queda mejor organizado. Pestañas casi me obligan a pensar en forma más modular.

Esto también ayuda cuando tenga que modificar el programa para el uso con otros componentes. En este proyecto, todo el código para manejar el display es en un par de pestañas. No fue fácil cuando portado a una pantalla SPI. Sabía donde era todo el código relacionado, y fue fácil para mí sustituir el nuevo código en el programa sin rastrear en una maraña de espaguetis solo del código.

Las pestañas pueden crearse usando la pequeña flecha hacia abajo en la parte superior derecha de la interfaz IDE. Tenga en cuenta que el orden de carga de las pestañas es importante, al igual que un programa de solo archivo en.

Cómo utilizar

Descargar todos los archivos de muestra y colocarlos en un directorio dentro de ti carpeta de Arduino. Llame el nuevo directorio "Loop_Trainer" para que coincida con el nombre de tu archivo principal .ino. Carga el archivo Loop_Trainer, luego compilar y subir a su hardware.

El código está bien comentado (algunos dirían sobre comentó), así que espero que incluso los principiantes podrán entender cómo funciona.

Resumen

Básicamente, el código Lee los valores de los potenciómetros, los valores de los mapas si es necesario, entonces devuelve el valor de una función de animación. Los valores también se muestran en la pantalla. ¿Simple, correcto? Así es, no dejes que el formato de ficha a confundir cosas.

Contenido de la ficha

  1. Loop_Trainer: Esta el archivo principal. Tiene toda la inicialización de la habitual, la configuración y el bucle principal. El código establece los números de pin y de variable nombres, carga la biblioteca de NeoPixel y comienza la comunicación serial. El bucle principal es muy sencillo, solo llama a una función para leer los valores de los potenciómetros y ejecutar el menú.
  2. LCD_baseCommands: La pantalla utilizada en este proyecto utiliza arranque y parada y pasarle comandos. Es sencillo de comprender, pero repitiendo los códigos es tedioso y alimenta el archivo. Así que creé una serie de funciones ya los códigos pueden ser llamados simplemente. Echale de Adafruit Guía para una lista completa de comandos.
  3. LCD_setup: Ahora que todos los comandos de base se han convertido en funciones, podemos utilizarlos para configurar la pantalla para su uso. Usted tendrá que modificar esta ficha y la ficha de LCD_baseCommand si se utiliza una pantalla diferente.
  4. Menu_functions: Se trata de una simple declaración de caso. Dependiendo de lo que es el valor asignado de la olla menú, llamamos a una función (en la pestaña de NeoPixel_Functions) para animar la NeoPixels. He dejado unas ranuras en blanco para llenar con tus propias animaciones.
  5. NeoPixel_Functions: Esta es la divertida parte. Este archivo contiene el código de la animación real. Estas animaciones son funciones llamadas desde dentro de la pestaña Menu_functions. Las animaciones adquieran RGB los valores de las variables del conjunto de datos de la ficha de Read_pots. Las animaciones también envían datos a la pantalla utilizando las funciones en la ficha de LCD_baseCommands. Al crear tus propias animaciones nuevas, simplemente llame desde la ficha de Menu_functions. Estas son animaciones básicas, pero me queda un dos partes y un par de otras rutinas de oddball para jugar con.
  6. Read_Pots: Estas funciones leer los potenciómetros y asignar sus valores para adaptarse a su propósito estándar. Por ejemplo, el menú sólo necesita 10-20 pasos, por lo que asignar a ese valor. El valor RGB debe ser 0-255. Pero la entrada "variable" se utiliza de muchas maneras diferentes que envíe el valor sin formato y asignar a la necesidad actual dentro de la función de llamada. Siempre puede hacer un analogRead directo si desea encuesta un valor diferente.

Nota importante: en algún lugar. de alguna manera, habrá dejé "esbozos" de experimentos abandonados y otros errores en este código de ejemplo. El código funciona, pero si encuentra callejones sin salida, probablemente se dejan de puertos a diferentes pantallas o de los "bancos" de animaciones no previstos en el código de ejemplo.

Artículos Relacionados

El Gadget más inteligente para usted! Grabación de vídeo.

El Gadget más inteligente para usted! Grabación de vídeo.

Gadget muy útil para aquellos que lleva a cabo clases magistrales y la formaciónlecciones.Pequeño robot inteligente para docentes y estudiantes.Queremos presentar varios videos en los que se muestran posibilidades de Selfibot.Parte de una conferencia
Soporte impreso 3d Neopixel, ESP8266 y Custom

Soporte impreso 3d Neopixel, ESP8266 y Custom

Este proyecto fue elaborado sobre un mojado el domingo por la tarde para combinar tres tecnologías en un proyecto.Un dispositivo inalámbrico ESP8266Un anillo de Adafruit NeopixelUn cuadro impreso en 3d para el proyecto.El diseño le permite cambiar lo
ESP8266 control de WS2812 Neopixel LEDs utilizando Arduino IDE - un Tutorial

ESP8266 control de WS2812 Neopixel LEDs utilizando Arduino IDE - un Tutorial

Hola todo el mundo,Si eres como yo, he estado buscando por internet un buen tutorial sobre el uso de la ESP8266 con neopixel LED (también conocido como el WS2812 o WS2812b), programada mediante el IDE de Arduino. No he encontré todo en un solo lugar,
Estación de Control remoto IR para Android - baje la TV

Estación de Control remoto IR para Android - baje la TV

Nota: esta guía también puede encontrarse en TECHBITAR.COMACTUALIZACIÓN28 de noviembre de 2013: Aparece en prototipos peligroso http://goo.gl/FjwNoQINTRODUCCIÓNEn esta guía voy a explicar la elaboración y operación de un circuito simple de basados en
Cómo hacer cajones para muebles

Cómo hacer cajones para muebles

Llega un momento en cualquier afición de trabajadores a que se enfrentan con la fabricación de cajones. A menudo oigo problemas con conseguir todo para trabajar hacia fuera según lo planeado. Quería mostrar un método de hacer cajones, lengüeta y ranu
Entrenador de fitness para usuarios de silla de ruedas (Kabelboy)

Entrenador de fitness para usuarios de silla de ruedas (Kabelboy)

Este gadget es para mover una silla de ruedas en el lugar con fines de acondicionamiento físico. Consiste en 2 rodillos de tubos que llevan la silla de ruedas, una cadena y una rueda volante que se extiende el movimiento del usuario. Para ingresar o
Gadgets de GoPro y película estrategias

Gadgets de GoPro y película estrategias

Mi hermano y mi padre se van en un viaje a través de Mongolia. Ellos están trayendo varias cámaras y muchos gadgets para crear ángulo interesante fotos y grabar vídeos. Así que, con el concurso de viaje y concurso de consejos de fotografía en mente,
Disco duro NeoPixel 3D impreso reloj

Disco duro NeoPixel 3D impreso reloj

Se mostrará el reloj de la unidad de disco duroel tiempo a través de la NeoPixels se encuentran en la zona de plato de disco duro. Este proyecto está diseñado alrededor de utilizando un cuaderno descartado 2.5" disco duro de.El disco duro se monta en
Patrón de NeoPixel programador

Patrón de NeoPixel programador

En este instructable les mostraré cómo hacer mi programador de patrón para NeoPixels de Adafruit.Es un fastidio pensar agradable patrones de código cada vez, así que he creado una pequeña aplicación que se pueden programar visualmente los patrones en
Crear 3D impreso, Wind-up, ninguna Asamblea requerida gadgets

Crear 3D impreso, Wind-up, ninguna Asamblea requerida gadgets

Yo recientemente he estado trabajando en ninguna Asamblea requerida 3d coches cuerdos impresos y han estado utilizando Shapeways fuerte y flexible plástico (impresora SLS) para imprimir (no tiene una impresora 3d).En este Instructable voy a cómo dise
Perro marrón cargador de Gadgets Solar mochila accionado

Perro marrón cargador de Gadgets Solar mochila accionado

Disfrutamos jugando con Brown perro Gadgets solares carteras para nuestra noche de construir marzo Instructables y mientras miramos muchas ideas diferentes en la tierra o ' Lakes biblioteca Makerspace Open House, cuando llevó a cabo nuestra noche con
Cómo hacer una lasaña fabuloso para 12...

Cómo hacer una lasaña fabuloso para 12...

Don't let the title scare you. Uno necesita no invitar a una docena de personas más en ordenpara disfrutar de un plato tan maravilloso. Pero usted querrá compartir esta comida, o usted a comerlodurante una semana. Tenga en cuenta, se congela bien!Cla
Montaje del manillar para Cámara GoPro

Montaje del manillar para Cámara GoPro

el accesorio del manillar de la cámara GoPro Hero HD es costoso y toma tiempo para poner en su lugar. Aquí es un reemplazo más barato que tiene también la ventaja de ser fáciles de ajustar.Te hace falta-uno del Monte plano adhesivo, proporcionado por
Criptógrafo de tubo del nixie Steampunked

Criptógrafo de tubo del nixie Steampunked

Hi todo el mundoCreo que este es el momento de presentaros mi último proyecto steampunk de la "Dampfkraftlabor" llamado el:STEAMPUNKED TUBO DEL NIXIE CRIPTÓGRAFOCombina la conocida tecnología de HV de minas mediante el uso de un módulo flash de