Paso 4: Programa microcontrolador
Programé mi tablero por intercambio simplemente el chip atmega de enchufe directamente con mi arduino. Usted puede hacer esto fácilmente construir un proyecto como este, o usted podría ir a extra varios minutos de esfuerzo para agregar un pins de cabecera Programación y conseguir un programador barato de FTDI. En el futuro cómo me gustaría ir sobre otros proyectos, pero no tengo la interfaz FTDI disponible y me daba pereza usar un arduino para él. Puedes leer más sobre ello en los enlaces que proporcionado en el paso de creación de prototipos.
DESCARGAR SKETCH DE ARDUINO
También incluí el esquema (Nota: muestra una matriz de LED RGB en lugar de un solo color... caso omiso de esto)
Este bosquejo está algo descuidado y no bien comentada (si alguien quiere limpiarlo no dude de enviarme una copia de las actualizaciones). Las cosas a destacar son que tiene varios ejemplos de la biblioteca de MAX72XX rodada en un boceto como una medida de 8 x 8 formato de animación. Puede ampliar esta muy fácilmente haciendo nuevas animaciones como se explica a continuación. Si tienes algún problema con este sketch, no dude en disparar me un comentario y voy a intentar responderla.
Requisitos:
MAX72XX Panel biblioteca
Biblioteca de Adafruit GFX
Lista de comandos:
Puede activar un montón de iconos y animaciones diferentes mediante el envío de cualquiera de los siguientes comandos al dispositivo vía serial:
serpiente
vuelta
pluma
cara
corazón
música
derecho
izquierda
Pacman
Pinky
de la sonrisa
cráneo
Ani
Si uno de los elementos listados arriba no envió que el bosquejo asume que usted está enviando un mensaje de la cinta de teletipo y se desplazará por el mensaje. Cualquier mensaje o comando se repetirá hasta que envía otro comando (excepto el "boom");
"ani" es un lazo de la varios de los iconos y se puede ver la función en la parte inferior del boceto para ver el calendario etc.
Adición de animaciones:
Usted puede personalizar su tablero de mensajes con animaciones personalizadas. Construí en un método estandarizado de la escritura a mapas de bits que se almacenan como una matriz de 64 bytes byte []. Esto le permite tener hasta 8 fotogramas de animación de 8 x 8 para una sola función. Las animaciones se generan al escribir nuevos valores de byte en la memoria y pueden ser escritas como representaciones binarias de los LEDs de la matriz. Así que puede utilizar un 1 para alta (encendida) o 0 para baja (dim) para hacer una imagen. Si añades nuevas imágenes o animaciones por favor compartir ellos... me encantaría ver lo que otras personas con esto.
ejemplo:
Si se entrecierra los ojos en este debe ser capaz de ver los 2 fotogramas de la animación del fantasma:
void pinky() {}
memset(mBitmap,0,sizeof(mBitmap)); Matriz de claro mBitmap byte]
aniFrames = 2; Dile el arduino cuántos Marcos le está animación es
mBitmap [0] = B00111000;
mBitmap [1] = B01111100;
mBitmap [2] = B10010010;
mBitmap [3] = B11011010;
mBitmap [4] = B11111111;
mBitmap [5] = B11111111;
mBitmap [6] = B11111111;
mBitmap [7] = B10101010;
mBitmap [8] = B00111000;
mBitmap [9] = B01111100;
mBitmap [10] = B10010010;
mBitmap [11] = B10110110;
mBitmap [12] = B11111111;
mBitmap [13] = B11111111;
mBitmap [14] = B11111111;
mBitmap [15] = B01010101;
dBitmap(); Ejecute dBitmap para dibujar los marcos de mapa de bits en la matriz
}
la dBitmap función solo lazos a través de cada byte de la matriz y hace una comparación bit a bit para ver si el LED correspondiente debe ser alta o baja.
Usted tendrá que jugar con esto un poco para conseguir que mira a la derecha. También usted querrá añadir el comando en el lazo para que cuando se envía un nuevo comando serial a la variable de la cinta puede activar la función. (usted verá lo significa en el código... Si no pregunte y le ayudaremos)