Paso 7: Documentación y Firmware para programar y conectar las tablas
En el chipkit, hay una tabla en la página de Nick lo que pasa donde, pero aquí está de nuevo de todos modos.
En el sitio de Kevin, tienes que ser capaz de leer el esquema (y hacer alguna interpretación) para saber qué va dónde. Pensé que me hacen más fácil para todos y hacer este útil gráfico.
Cuando fui a escribir el efecto de fuegos artificiales, guardó el funcionar fuera del espacio y tuvo que eliminar una animación para que se ajuste - así que en vez de eso, había portado el código de Arduino a la Arduino MEGA2560. Ahora todo encaja. Además, ahora tenemos código para el MEGA2560!!!!
Chipkit / base y controlador / Arduino UNO / Arduino MEGA2560
3 / HABILITAR / D3 / PWM3
5 / CIERRE / D2 / PWM2
6 / RELOJ / D13 / D52
7 / rojo / no conectado
8 / verde / no conectado
9 / AZUL / D11 / D51
26-33 / capa 1 capa 8 / D4 y D10 A5(D19) / PWM4 al PWM11
GND / GND / GND / GND
5V / 5V / 5V / 5V (no conecte su 5V al VIN - VIN es una referencia de tensión para el convertidor A/D)
Los pernos de la capa para el Arduino UNO fueron seleccionados específicamente deja A0 a A4 libre y dejar el RX y TX del serial libre para futuras ampliaciones. Puesto que también pueden ser pines analógicos digitales, pensé que sería mejor dejar como muchos pernos analógicos libre cuando sacó los datos de la capa de la secuencia SPI y hecho paralelo.
Hay 2 códigos distintos para el Atmega328P. Uno es para el Arduino como eliminador de Arduino o independiente sin el registro de desplazamiento extra, y el otro es para el eliminador de Arduino UNO que tiene un cambio adicional de registrar en él.
El eliminatoria se hizo así porque lo que Kevin hace el Arduino lo suficientemente rápido para manejar la gran cantidad de datos en serie es brillante. Él utiliza el hardware SPI en lugar de bit-golpeando manualmente los datos hacia fuera. Originalmente, esto significó que también envió los datos de la capa a la misma corriente - para que el registro de desplazamiento en el eliminatoria de la Arduino UNO maneja.
Por lo que el código de control de capa con SPI requiere la eliminatoria de UNO (o el separador requiere este código) y se ejecuta el código sin el control de la capa SPI en un stock Arduino UNO.
El eliminador de Arduino con el registro de desplazamiento extra y el código para él, va ser eliminación gradual.
El código fuente para el ChipKit requiere MPIDE para el ChipKit subir a la Junta.
El archivo HEX requiere un programador PicKit3 subir el código a la eliminatoria por el ChipKit.
Recuerde, los eliminadores son opcionales y no necesita para su proto-board de alambre directamente en el controlador de base.
El panel principal debe parecerse a este video con el ChipKit UNO o el eliminatoria UNO PIC programado y conectado.
http://www.youtube.com/watch?v=xecPxVD7WPk
NO olvidar al puente los datos corriente jumpers de configuración si está usando la Arduino o eliminador de Arduino UNO! Debe haber un jumper en los pines verde y azul y las clavijas roja y verde. De lo contrario, sólo verá el azul secuencias y posiblemente al azar rojo y verde en la mezcla.
De hecho, lo más probable es que usted puede siempre dejar estos puenteado como no he notado que afecte al controlador PIC, pero estoy seguro de que el pedacito impar puede ser de vez en cuando si les dejaste en.
Altamente sospecho sin embargo si usted nunca planea controlar más de un cubo, permanentemente podría poner una resistencia de 1K a través de cada par de pines mencionados y que básicamente sería auto-switch para que pueda ejecutar cualquier procesador sin tener que reconfigurar la junta cada vez.
DEBE utilizar el código de esta página para ejecutar en las juntas universales. Pequeñas modificaciones eran necesarias para garantizar una compatibilidad total.
También hemos fijado la revocación roja / azul en el código original.
Si se construye el tablero lo que dicen en HNTE tiene las clavijas rojas y azules invertidas - así que la solución más fácil para nosotros es más que simplemente la placa de fijación, fijar el código. SI DESCARGASTE EL FIRMWARE DEL PIC ANTES DE AGOSTO 29,2014 ENTONCES USTED NECESITA DESCARGAR EL CÓDIGO DE REEMPLAZO AQUÍ.
Agradecimiento especial a Doug Domke para encontrar no sólo este error, pero para señalar exactamente cómo arreglarlo.
También está escribiendo algo de código nuevo para nosotros que esperemos que sea mucho más intuitiva para hacer nuestras propias animaciones. (ahora disponible)
*******************************************************************************
NOTA IMPORTANTE!!!!!!
*******************************************************************************
Si ha vinculado las líneas de Reset entre la Junta de base/controlador y un Arduino UNO, el Arduino va fallar al programa usando el USB! Esto también es cierto el Arduino MEGA2560.
Método alternativo: cuando vayas a enviar nuevo código desde el IDE, sostenga el botón RESET en el Arduino UNO/MEGA2560 (o en la placa Base/controlador) hasta el IDE comienza tratando de enviar el programa y entonces soltar el reset. También puede necesitar quitar el módulo de música.
De lo contrario, usted puede sólo desconectar la línea para el reset de Arduino para el controlador de base hasta que la programación se ha completado. Además, si tiene el jumper de RESET LINK en lugar en el tablero del puente, puede que necesite quitar para programar la placa.
Para guardar estos archivos de esta página en su ordenador, recuerde que puede que necesite utilizar el guardar enlace como en el navegador. o puede recibir un mensaje de "Prohibido". Recuerda renombrar el archivo a algo relevante, como Instructables tiende a renombrar los archivos a un número hexadecimal.
Ahora tengo el firmware de ChipKit "RGB_8x8x8_CubeAppTemplateV3_0" de Doug Domke más algunos demos que escribió y algunos que escribí. Esto incluye las nuevas funciones de texto. Siga chequeando aquí aunque por correcciones o nuevas versiones!.
ACTUALIZACIÓN: creo que él es V9 ahora.
El código de módulo de música V4.5 para el ChipKit UNO32 / Arduino MEGA2560 finalmente se hace.
Basado en el código de V4, este utiliza la ganancia Virtual / límite de ruido / golpe potenciómetro de umbral que conecta a la entrada de A5 en lugar de limitar la señal real sí mismo. Esto es más útil para las señales de baja, pero puede aumentar la respuesta de la señal hasta el punto que responde al ruido ambiental de la línea y circuito. En general, con las señales a niveles que fue significado para, funciona muy bien! Variables como VUtop [x] que sólo van de 0 a 8 permiten fáciles programación sin tener que comprobar si la señal entrante está conduciendo más allá del límite de LED 8. Todavía puede utilizar VU [x] para leer el valor real de 0 a 1023. Esto es llamado la plantilla V4_5.