¿U-Disp - The Digg (tm) pantalla (fuente abierta) (16 / 18 paso)

Paso 16: Proyecto Descripción - Firmware

El firmware está escrito en el AVR-GCC y utilizado cerca del 60% del espacio disponible programa de 2KB en el ATtiny2313.

Es realmente muy simple pieza de software. Básicamente todo lo que hace para recibir paquetes de comando en el puerto serie de la Tiny2313, compruebe si el comando es para esta pantalla, y si es descifrar el comando y guarde el bitpattern en la memoria. Si el comando es para otra pantalla pasará solo a la pantalla siguiente.
El firmware puede ser descargar tanto como código fuente y como hexfile precompilado de la sección de descargas de la web del proyecto.

Formatean de los mensajes entre el servicio de Windows y los microcontroladores en las pantallas en los paquetes de bytes 10 bastante compacto. Para poder detectar de manera fiable el principio de cada paquete el pedacito más significativo [MSB] (bit 7 que es) en el primer byte se establece en cero, el resto de los bytes se fija a uno.

Puesto que cada dígito tiene ocho leds (los siete segmentos más el punto decimal [DP]) que necesita ser controlado nos no podemos sólo mapa de cada dígito en un solo byte ya obtendría el MSB a cero (el inicio del indicador de paquetes) si el punto decimal se ha desactivado. Así el DPs obtiene su propio octeto, pero ya que contamos con ocho dígitos y por lo tanto ocho DPs la última DP debe colocarse en otro lugar u obtendrá en el mismo problema otra vez. Lo últimos dígitos DP se pone en el primer byte en el bit 6...

El primer byte es además el comienzo de paquete de señalización y también mantener los últimos dígitos DP tiene cuatro bits (bit 3 a 0) que indica que pantalla (unidad) este mensaje es para. La primera pantalla se numera 0 la pantalla siguiente 1 y el último es el número 15. Cuando la primera exhibición de una cadena recibe un mensaje que comprueba el número de la unidad y ve si es 0. Si es el mensaje se procesa allí. Si no es entonces la pantalla disminuye el valor de la unidad de bits y pasa todo el mensaje a lo largo de a la pantalla siguiente en la cadena. Esa pantalla también comprueba los pedacitos cero y actúa en consecuencia.

La tabla anterior muestra el formato del mensaje.

  • d0p es el punto de decimal del dígito 0, d1p es el punto decimal de Digit1 y así sucesivamente...
  • U0, u1, u2, u3 son los bits que indica el número de unidad que está destinado el mensaje.
  • A, B, C, D, E, F, G son los segmentos de cada dígito.
  • x es un poco inusitado para una futura expansión.

Recepción de comando
Recibir los datos desde el PC se hace con las interrupciones. Cada entrada carácter generats una interrupción y es manejado por la función siguiente. Recoge diez caracteres en un buffer, comprueba si el comando es para esta pantalla y descodifica y almacena si es. Si el mensaje es para otro la pantalla reduce el nybble de destino y enviar todo el mensaje a la siguiente pantalla en la cadena de la esperanza de que una pantalla más tarde estará allí para manejar el mensaje.

Dígitos de la multiplexación
Ya que los dígitos son multiplexados (sólo uno de los dígitos son accionados a la vez) el firmware continuamente ilumina dígitos después de dígitos durante unas milisegundos en por lo que el ojo/cerebro cree que todos los dígitos están en el mismo tiempo.

Se utiliza guardar/O-pines en el microcontrolador una técnica de multiplexación especial llamado Charlieplexing. Drásticamente reduce el número de pernos necesarios en el microcontrolador pero requiere un software más complejo de controlar.

Timer0 se utiliza para generar interrupciones para la multiplexación de dígitos

			

          

Artículos Relacionados

Interactivo, indicador de estado de ánimo fuente abierta

Interactivo, indicador de estado de ánimo fuente abierta

este instructable pasará por cómo hacer una luz de humor interactivo, múltiples funciones. El núcleo de este proyecto es el I2C BlinkM RGB LED. Estaba navegando la web un día, lo BlinkM me llamó la atención, y sólo pensé que era demasiado cool para p
Ghetto Pixels - construcción de una fuente abierta BlinkM

Ghetto Pixels - construcción de una fuente abierta BlinkM

a menos que usted ha vivido debajo de una roca digital para los últimos años, o simplemente no están interesados en luces intermitentes, ya sabrás sobre la maravilla que es el BlinkM de ThingM. Es un PCB muy pequeño con un poder más elevado LED que r
Plan B, una fuente abierta 3DP (polvo y chorro de tinta) impresora 3D

Plan B, una fuente abierta 3DP (polvo y chorro de tinta) impresora 3D

Plan B es una impresora 3D de código abierto 3DP. Utiliza aglutinante y el polvo para crear piezas de it´s. Se puede construir de €1000,-($1300,-) si las partes son de origen derecha. Utiliza piezas de la impresora 3D estándar y la electrónica, los c
Droidalyzer - una fuente abierta, Bluetooth accesorios de detector de alcohol para teléfonos Android

Droidalyzer - una fuente abierta, Bluetooth accesorios de detector de alcohol para teléfonos Android

*** versión del producto de la Droidalyzer ahora disponible de Seeedstudio ***El Droidalyzer es un accesorio de detector de alcohol de Bluetooth para los teléfonos Android de código abierto. Par el Bluetooth habilitado Droidalyzer para tu teléfono An
Puerta al Hardware de fuente abierta (una solución de cerradura de huella digital)

Puerta al Hardware de fuente abierta (una solución de cerradura de huella digital)

esto es una puerta con demo de cerradura de huella digital que por acrílico, Seeeduino y algunos otros módulos electrónicos ~En primer lugar, usted debe inscribirse su huella digital. Presione que el botón, entonces iré a inscribir a modo de largo. h
GTP USB Programador de PIC (fuente abierta)

GTP USB Programador de PIC (fuente abierta)

este trabajo incluye, GTP USB (no plus o lite).Esquema e imágenes de PCB han sido desarrollados por PICMASTERS basado enalgunos valiosos trabajos realizados antes.Este programador es compatible con pic10F, 12F, 16C, 16F, 18F, Eeprom 24Cxx.Por desgrac
Abrir guía de regalos de Hardware de fuente

Abrir guía de regalos de Hardware de fuente

ha pasado un año desde nuestra última Abra la guía de regalos de la fuente - este año hay mucho que va en el mundo del hacer, de código abierto, y más allá de que tenemos una serie de regalos guías para esta temporada de fiestas. El primero es nuestr
Abrir fuente TV Box - GeekBox

Abrir fuente TV Box - GeekBox

"... eres un esclavo, Neo. Como todos los demás naciste en cautiverio. En una prisión que no puedes probar o ver o tocar. Una prisión para tu mente." Morpheus - la matriz (1999)Vale. Debo admitir que es una introducción teatral (tal vez demasiad
Abrir fuente Solarpad Kit Solar USB cargador

Abrir fuente Solarpad Kit Solar USB cargador

Por favor haga clic abajo para visitar nuestra página de proyecto de Kickstarter para Solarpad!http://www.Kickstarter.com/projects/249225636/sola..."Por último, un correcto Cargador Solar para excursionistas y ciclistas" - culto de Mac¿ Can un c
Fuente de alimentación multipropósito (con USB)

Fuente de alimentación multipropósito (con USB)

Hola chicos este es mi primer instructivo en el que me gustaría reutilizar mi vieja fuente de alimentación de computadora para hacer una potencia multipropósito que puedo utilizarlo en mi vida normal de la fuenteEn lugar de alterar o el poder de cort
Abrir fuente PI

Abrir fuente PI

vino con esta idea porque pensé una forma segura de "Geek Out" cualquier cosa es incluir algunos cómo un Arduino y algunos LEDs. Mi siguiente pensamiento fue que LEDs va a ser un poco demasiado crujiente, por lo que no serían realmente muy diver
SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

Actualizaciones23 de noviembre de 2013: SensoDuino 0.160 obtiene una cara izquierda.19 de noviembre. 2031: opinión: la increíble sinergia entre Arduino y Android.19 de noviembre de 2013: SensoDuino 0.159 está hacia fuera. Fecha teléfono Android (y, m
Controlado por ordenador luces de Navidad con luz-O-Rama

Controlado por ordenador luces de Navidad con luz-O-Rama

¡ Bienvenido a mi guía paso a paso sobre cómo hacer una increíble pantalla de luz de Navidad! Yo le guiará a través de todos los pasos desde la planificación hasta oprimir start. Vamos a empezar!Paso 1: Introducción y pensando en el futuroEn primer l
Cwik Clock v1.0 - un reloj binario de Arduino

Cwik Clock v1.0 - un reloj binario de Arduino

ResumenEsta es una guía a la construcción de un reloj accionado Arduino que utiliza LEDs para mostrar un reloj de 24 horas (horas y minutos) como dígitos binarios, un medidor analógico para mostrar a los segundos, un interruptor para conmutar entre e