Paso 4: Construcción-programa el MCU ATtiny13 y darle una prueba de funcionamiento.
Sin soplar esta intructable particular de proporciones, baste decir que no necesita ningún software no-libre y que no sea una placa Arduino, no necesita mucho hardware adicional ya sea - algunos cables y tal vez un zócalo del IC extra de 8 pines o simplemente una placa sin soldadura para montar el ATtiny13 está programando. El objetivo final es asegurarse de ATtiny13 es uno de los tableros que surgen en el IDE de Arduino al abrir herramientas -> tabla (ver foto más abajo) antes de compilar el bosquejo con el programa (ver archivo ZIP a continuación). Luego que cargue el binario compilado en ATtiny utilizando una placa Arduino como un programador o un programador especializado del AVR si tienes uno.
He intentado marcar el sketch de Arduino con tanto comentario como sea posible para su placer edición :) El mensaje real es en esta parte del código:
Columna de byte PROGMEM [17] = {}
33, / /--X---X / / 0
63, / /--XXXXXX / / 1
33, / /--X---X / / 2
0, // -------- // 3
24 / /---XX---/ / 4
60, / /--XXXX--/ / 5
30, / /---XXXX-/ / 6
15, / /---XXXX / / 7
30, / /---XXXX-/ / 8
60, / /--XXXX--/ / 9
24 / /---XX---/ / 10
0, // -------- // 11
62, / /--XXXXX-/ / 12
1, // -------X // 13
1, // -------X // 14
62, / /--XXXXX-/ / 15
0 // -------- // 16};
Por desgracia, no sé cómo guardar el formato apropiado en la herramienta de edición de la página de Instructables, pero si estás buscando en el pedazo de código usando una fuente monoespacio, inmediatamente reconocería la forma de los símbolos de las partes comentados de las líneas. La columna real se codifica con la representación del número entero de la versión binaria a la derecha donde "-" es realmente "0" y "X" es "1". Espero que tenga sentido y no tendrás mucha dificultad "I HEART U" cambia a "I HEART cerveza" para las fiestas el próximo San Patricio. Disfrutar de manera responsable y asegúrese de aumentar la cantidad de columnas escaneadas ya que "La cerveza" es un poco más larga que la "U", obviamente :)
De todos modos, espero que te perdone mi cobarde fuera crear un instructivo en el instructable sobre cómo configurar el IDE de Arduino y consulte el blog post en su lugar y en este momento que ha grabado el software en el chip ATtiny13.
Inserte el ATtiny13 en el zócalo del IC que has preparado en el paso anterior, luego inserte la batería y sacuda la toma varias veces para cerrar el interruptor de inclinación de la bola. El LED empezará a parpadear en cierta manera al azar que por supuesto sólo es al azar hasta que empiezas a mover los LEDs en el espacio permitiendo la exploración mecánica de las columnas.
Una pequeña nota en la solución de problemas que pueden ser necesarios en esta etapa: en el desarrollo de este proyecto, tengo un par de percances de cableado. Charlieplexing es generalmente asociado con el cableado complicado y cosas pueden conseguir cambiar alrededor accidentalmente. He escrito un bosquejo pequeño (que no encuentro ahora mismo, por cierto) que fue encendiendo los LEDs no en pseudo-random
pero de manera muy ordenada del 1 al 6 y viceversa, sólo para ver que tengo la secuencia de LEDs derecha. Simplemente modifica la misma parte del código se modifica para cambiar el mensaje y solía 1,2,4,8,16 y 32 para los códigos de la patten LED enciende solo un LED por columna. Si no tiene sentido mientras leía esto, escriba estos números enteros en formato binario y verás enseguida. "0" - LED APAGADO, "1" - LED.