Reloj-Temperatura de abanico

Stick de 16 LEDVeremos la hora y temperatura en el kit Shake Stick Flash, de 16 LED por columna. El circuito original incluye el micro controlador AT89S52, y aunque ya viene programado con 4 imágenes diferentes, lo reprogramaremos para darle una mayor versatilidad. Este kit incluye un conector ISP (In-system programming), y esto facilita su uso como plataforma de desarrollo para realizar prácticas con este tipo de micro controladores.

Sensor: DS18B20
Sensor: DS18B20

Después de añadir al kit un sensor de temperatura (DS18B20) y un pequeño módulo de reloj en tiempo real (DS1302), sólo necesitaremos actualizar el firmware (se adjunta de forma gratuita) para ampliar las funcionalidades que ya le hicimos en la versión anterior. Este firmware permitirá la presentación de la Fecha y Hora, así como 15 imágenes diferentes (gráficos o textos). Uno de sus mensajes podrá reprogramarse a través del puerto serie, los otros 14 mensajes están almacenados en ROM, y podrán modificarse editando el archivo del firmware de forma muy simple.

Módulo RTC: DS1302
Módulo RTC: DS1302

El montaje de estos dos sensores en el kit es muy sencillo. En el siguiente esquema podemos ver las conexiones que se deben realizar. El módulo RTC (DS1302) se puede montar de forma opcional; si no se instala, el Stick mostrará solamente la temperatura cuando esté seleccionada la presentación 1ª. En caso de que se instalen ambos sensores, se alternará la presentación de la hora y temperatura.

Equema: Reloj-Temperatura
Equema: Reloj-Temperatura

IMPORTANTE: Para que aparezca la hora en el Stick, es imprescindible programar el módulo RTC, utilizando el software que se adjunta, o mediante la conexión de dicho módulo con el reloj de esfera rotante (ver la explicación en el video).

En los dos videos anteriores, podrás encontrar todos los detalles de funcionamiento y programación:

Stick LED programable #1
Stick LED programable #2

Stick.exe (v1.0.5)
Stick.exe (v1.0.5)

El nuevo firmware se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v2_STICK.HEX

Nueva versión del software de control, para programar los textos de la memoria RAM y actualizar la hora: Install_Stick_v1.05.zip

 

Stick LED programable #2

Personalización de los textos y gráficos que aparecen en el Stick LED, modificando el firmware con un editor hexadecimal. Instalación del software de control Stick.exe y programación del texto que se almacena en la memoria RAM del Stick LED.

Puedes descargar este software de forma gratuita desde el siguiente enlace: Install_Stick_v1.04.rar

Este programa funciona bajo Windows.  Para instalar hay que descomprimir el archivo .rar  y ejecutar el archivo .exe siguiendo las indicaciones del instalador.

Para modificar  los textos fijos de la memoria ROM, es necesario editar el fichero del firmware antes de programar el micro controlador AT89S52. Podemos utilizar cualquier editor hexadecimal, o hacerlo desde el propio interface de programación. En total se pueden modificar 19 mensajes, los 4 primeros dobles (8 mensajes) y los 11 siguientes simples.  La matriz completa de cada mensaje está compuesta por 48 columnas y 16 filas (número de diodos LED del Stick). La imagen completa tiene una resolución de 16×48 = 768 pixel. Para poder escribir los textos de forma sencilla,  el firmware utiliza un Font de caracteres de 16×6, y así los textos se introducen en ASCII, pudiendo editarse directamente desde el teclado del PC.

Editar ROM
Editar ROM

Como puede apreciarse en la imagen anterior, todos los caracteres deben escribirse en la ROM con letras mayúsculas. Los caracteres de la tabla que se muestran con el fondo de color verde, están asociados a los gráficos que se almacenan en la ROM. En total hay 6 gráficos almacenados, y cada uno de ellos ocupa 4 códigos de la tabla. La correspondencia de los códigos de algunos caracteres en minúscula de la tabla ASCII, son traducidos en gráficos cuando se muestran en el Stick LED.

Interface RS-232
Interface RS-232

Para poder modificar el mensaje doble que se almacena en la memoria RAM, es necesario intercalar un interface entre el Stick y el PC o dispositivo móvil. En este caso he utilizado un interface convencional RS-232 (ver imagen anterior). También podría utilizarse un interface TTL-USB, TTL-Bluetooth, etc.

Software: Stick.exe
Software: Stick.exe

En la imagen anterior se muestra la pantalla del software de programación Stick.exe. Una vez conectado el puerto serie del PC con el Stick siempre encendido y mediante el interface, sólo sería necesario editar los dos textos y enviarlos. El software mostrará un acuse de recibo al final del envío, o mostrará un mensaje de error en caso de que no se reciba la confirmación desde el Stick.

Stick LED programable #1

Stick de 16 LEDMontaje del kit Shake Stick Flash, de 16 LED por columna. El circuito original incluye el micro controlador AT89S52, y ya viene programado con 4 imagenes diferentes. Lo interesante de este kit es que se incluye el conector ISP (In-system programming), y esto facilita su uso como plataforma de desarrollo para realizar prácticas con este tipo de micro controladores. Principios de funcionamiento del Stick LED (persistencia del ojo humano), descripción del esquema eléctrico, montaje y diseño de un nuevo firmware. Este firmware permitirá la presentación de 16 imagenes diferentes (gráficos o textos) y uno de sus mensajes podrá reprogramarse a través del puerto serie. Los otros 15 mensajes, almacenados en ROM, podrán modificarse editando el archivo del firmware de forma muy simple.

STICK: persistencia del ojo humano
STICK: persistencia del ojo humano

El principio de funcionamiento del Stick LED está basado en la persistencia que tiene el ojo humano. El ojo hace que cualquier imagen vista se grabe en la retina durante 100 mSeg. aproximadamente. Si desplazamos la columna del Stick con los 16 diodos LED encendidos a una velocidad inferior a 100 mSeg., nuestra retina apreciará una imagen continua y plana, con la forma del movimiento que hemos descrito. Si durante ese tiempo (<100 mSeg.) hacemos que los diodos LED se enciendan y apaguen con un intervalo de tiempo fijo, veremos el mismo arco luminoso, pero mostrando la mitad de las líneas verticales apagadas. Para mostrar gráficos o letras, sólo tendremos que codificar los puntos de cada columna y presentarlos en  el intervalo de tiempo adecuado… y eso es lo que hará el micro controlador.

Este firmware se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v1_STICK.HEX

Montaje: Stick 16 LED
Montaje: Stick 16 LED

Este kit incluye un portapilas para utilizarlo con dos baterías de tipo AAA. Esto supone que si utilizamos dos pilas de 1,5 V estaríamos alimentando el circuito con 3V. Aunque con esta tensión podría llegar a funcionar el micro controlador, estaría funcionando muy cerca del umbral mínimo… y dejaría de funcionar en cuanto las pilas estuvieran un poco descargadas. Además, la luminosidad que obtendríamos del Stick sería bastante baja. Para evitar estos problemas, la mejor solución es alimentar el circuito con una batería recargable, y añadir un circuito de carga con protección (TP4056) junto con otro circuito ‘Step UP’ que eleve y estabilice la tensión de salida hasta 5V.

Esquema: Stick Flash
Esquema: Stick Flash

En el esquema se muestra la numeración de los componentes, según aparece en la serigrafía del PCB (circuito impreso). Si queremos programar el micro controlador utilizando el conector ISP (In-system programming), es conveniente sustituir la resistencia del circuito Reset, original de 1K5, por otra de 10K.

Con el nuevo firmware que se adjunta, es posible mostrar 16 imágenes diferentes, 5 de ellas son dobles. Al final dispondremos de 4 imágenes dobles y 11 simples almacenadas en la memoria ROM, y  otra imagen doble almacenada en la memoria RAM. Esta última podremos reprogramarla cuantas veces queramos, enviando los datos desde un PC o dispositivo móvil. Para ello tendremos que intercalar un interface (RS232, RS485, IR, Bluetooth, etc) y conectarlo a las líneas RX/TX del Stick (UART). Los textos de la memoria ROM también podremos sustituirlos, pero lo haremos con un editor hexadecimal, modificando los textos del firmware antes de programar el micro controlador.

Intervalos de tiempo (Stick LED)
Intervalos de tiempo (Stick LED)

Con el fin de mejorar la presentación de los mensajes más cortos, el micro controlador modificará los intervalos de tiempo en función del número de caracteres-columnas que tenga que presentar (ver la imagen anterior).