Paso 9: Firmware - conducción de los LEDs
- Fila 0 perno alto
- Si se configuró un poco el patrón de mapa de bits para una columna particular, gire el pasador columna alta en coche. Espere un rato y configurar el pin de columna baja.
- Pasemos a la siguiente columna hasta que todas las columnas han sido administradas.
- Unidad fila 0 bajo y unidad fila 1 alta y repita el proceso para los pernos de columna definidos para esa fila.
Los LEDs parecen ser encendido continuamente debido a la persistencia de la visión. Hay un artículo muy completo sobre los principios de arreglos de discos de LED aquí: http://www.avagotech.com/docs/AV02-3697EN
El patrón que define que LED se ilumina en cada fila se arregla de fila y columna. Una matriz de bytes 4 define el estado de la red en un momento determinado en el tiempo. Refiriéndose a la matriz de la libélula, podemos convertir componentes del cuerpo y definiendo un cero o uno para cada posición de fila y columna. Por ejemplo, para girar la cabeza, necesitamos unidad fila 0 columna 1 alta y alta. Este es un proceso tedioso. Las entradas de matriz siguientes muestran la secuencia típica necesaria para animar la pantalla
Fila 0, fila 1, fila 2
[0 x 00, 0 x 00, 0 x 00], animación secuencia paso 0 (no hay bits de columna se fijan - todo apagado)
[0 x 00, 0 x 00, 0 x 04], animación secuencia paso 1 (columna de la fila 2 columna 2 está activado - esta se convierte en la punta de la cola)
[0 x 00, 0 x 00, 0 x 06], animación secuencia paso 2 (fila 2 columna 2 y 3 en - esto se convierte en la punta de la cola y el abdomen)
[0 x 00, 0 x 02, 0 x 06] Paso de la secuencia de animación 3 (fila 2 columna 2 y la 3 y la fila 1 columna 1 en - punta de la cola, el abdomen y el tórax están en)
Hay un retraso de 250ms entre pasos de secuencia. Puede cambiar esto en el código más rápido o más lento. La animación se utiliza para "celebrar" el nivel de recompensa final se cumplen. Cuando ves el parpadeo de la libélula - es tiempo de helado!
Bajo operación normal, el LED se iluminan en secuencia, cada entrada se hace desde el smartphone remoto. Si se recibe una, se incrementa el nivel de recompensa actual que se convierte en el elemento siguiente del cuerpo. La pantalla no está animada en este caso y aparecerá estática, iluminando solo los LEDs correspondiente al nivel de recompensa.
También se proporciona un modo de diagnóstico para que usted puede chequear el cableado del panel. Haciendo clic en cada parte del cuerpo de la libélula, puede activar la iluminación de un LED.