¡Hola a todos!
Hace poco cayó en mis manos un terminal POS con una pantalla VFD alfanumérica de 40 caracteres (2 líneas X 20 columnas), de esas que hay en los cajeros de los comercios o gasolineras. Se trata del modelo Promag DSP840 fabricado por Giga-TMS.

El caso es que nada más verlo (en un desguace) lo desmonté para ver el estado de la pantalla, ya que estas son frágiles y quedan inservibles al mínimo golpe al perder el vacío. Bueno, estaba perfecta, como nueva. ¡Y el jefe me la regaló! Esto me encontré:

Me faltó tiempo para buscar en Internet información, esquemas, datasheet, etc… y me encontré con un fabuloso manual y un programita para configurarla. Esta pantalla trae su propia placa controladora, fuentes de tensión para filamentos y placa, regulador de 5 V (se alimenta con 12 V) y un conjunto de micro-interruptores para configuración. Lo mejor de todo es que se controla vía serial RS232 con solo TX y RX por medio de comandos ESC de fácil manejo con cualquier terminal RS232 o mediante un PIC o Arduino.

Probada con solo alimentación comenzó a mostrar un mensaje de bienvenida de una gasolinera. ¡Funciona! Después con el programa de PC configuré este mensaje por otro a mi gusto. Este mensaje aparece al conectar la alimentación, aunque se puede eliminar.

Lo siguiente fue eliminar el aparatoso conector e intentar transformar las señales de entrada y salida RS232 en valores TTL para poder manejarlo directamente desde los micros o desde el PC sin necesidad de conversores USB o TTL a RS232, solo con una simple plaquita con el conversor FTDI232. Rezando a todos los santos, miré si la placa llevaba otro conversor, en este caso otro 232 que convertiría los niveles RS232 a TTL que irían al microcontrolador de la placa. Por fortuna y como sospechaba, allí estaba.

Con mucho tiento y buena lupa conecté sendos cables a los terminales del conversor RX y TX que van al micro, identificados fácilmente mirando el datasheet del chip. Estos cables fueron montados con terminales Dupont, añadiendo masa y +5 V y pegados a la placa para fácil conexión. También monté el conector de alimentación + 12 V soldado a una zona de masa despejada.

Como la zona de componentes queda debajo muy expuesta, he montado una placa de metacrilato a modo de base y protección.

Lo siguiente era escribir un programa para un PIC enviando -no sabía como- los citados comandos ESC que vienen en el manual y que probara las habilidades de la pantalla. Uso Proton IDE para los PIC:
'*Código para Proton IDE
'* Para comandos se envían bytes ejem: HRSOut 12
'* Para datos se envían en decimal ejem: HRSOut dec 123
'* Para texto se ponen comillas ejem: HRSOut "hola mundo"
'****************************************************************
Device 16F877A
Xtal 20
Hserial_Baud 9600 'baudios configurados en la pantalla
TRISA = %00000111 'puerto A entrada bits 0, 1 y 2
ADCON1 = %10001110 'Set entrada analógica PortA.0 justificado a derechas
Dim ANALOG As Word
Dim VALORVOLT As Float
HRSOut 12 'clear pantalla, comandosSE DEBEN ENVIAR en bytes decimal o hexadecimal
DelayMS 100 'necesario para tiempo proceso, en prueba
HRSOut 31,36,1,1 'comando cursor posición, colunma 1, fila 1 despues de clear
HRSOut "Valor volts: " 'enviamos texto
DelayMS 100 'ídem
HRSOut 31,36,1,2 'cursor columna 1, fila 2
DelayMS 100 'ídem
HRSOut "Valor leido: " 'enviamos texto
INICIO:
HRSOut 31,36,14,1 'cursor a columna 14 fila 1
ANALOG = ADIn 0 'leemos entrada analógica
VALORVOLT = ANALOG * 5 / 1023 'mapeamos a 0-5 voltios
HRSOut Dec2 VALORVOLT, " " 'enviamos dato en decimal y ponemos espacios detrás para borrar basura
HRSOut 31,36,14,2 'cursor posición 14 fila 2
HRSOut Dec ANALOG, " " 'enviamos dato en decimal y ponemos espacios detrás para borrar basura
DelayMS 1000
GoTo INICIO
Y este es el resultado:

Espero que os haya entretenido y sirva para futuros “encuentros” con esta pantalla, que es una belleza. Adjuntos os dejo el manual y el programa para el PC.
Saludos a toda la Peña.
Hace poco cayó en mis manos un terminal POS con una pantalla VFD alfanumérica de 40 caracteres (2 líneas X 20 columnas), de esas que hay en los cajeros de los comercios o gasolineras. Se trata del modelo Promag DSP840 fabricado por Giga-TMS.

El caso es que nada más verlo (en un desguace) lo desmonté para ver el estado de la pantalla, ya que estas son frágiles y quedan inservibles al mínimo golpe al perder el vacío. Bueno, estaba perfecta, como nueva. ¡Y el jefe me la regaló! Esto me encontré:

Me faltó tiempo para buscar en Internet información, esquemas, datasheet, etc… y me encontré con un fabuloso manual y un programita para configurarla. Esta pantalla trae su propia placa controladora, fuentes de tensión para filamentos y placa, regulador de 5 V (se alimenta con 12 V) y un conjunto de micro-interruptores para configuración. Lo mejor de todo es que se controla vía serial RS232 con solo TX y RX por medio de comandos ESC de fácil manejo con cualquier terminal RS232 o mediante un PIC o Arduino.

Probada con solo alimentación comenzó a mostrar un mensaje de bienvenida de una gasolinera. ¡Funciona! Después con el programa de PC configuré este mensaje por otro a mi gusto. Este mensaje aparece al conectar la alimentación, aunque se puede eliminar.

Lo siguiente fue eliminar el aparatoso conector e intentar transformar las señales de entrada y salida RS232 en valores TTL para poder manejarlo directamente desde los micros o desde el PC sin necesidad de conversores USB o TTL a RS232, solo con una simple plaquita con el conversor FTDI232. Rezando a todos los santos, miré si la placa llevaba otro conversor, en este caso otro 232 que convertiría los niveles RS232 a TTL que irían al microcontrolador de la placa. Por fortuna y como sospechaba, allí estaba.

Con mucho tiento y buena lupa conecté sendos cables a los terminales del conversor RX y TX que van al micro, identificados fácilmente mirando el datasheet del chip. Estos cables fueron montados con terminales Dupont, añadiendo masa y +5 V y pegados a la placa para fácil conexión. También monté el conector de alimentación + 12 V soldado a una zona de masa despejada.

Como la zona de componentes queda debajo muy expuesta, he montado una placa de metacrilato a modo de base y protección.

Lo siguiente era escribir un programa para un PIC enviando -no sabía como- los citados comandos ESC que vienen en el manual y que probara las habilidades de la pantalla. Uso Proton IDE para los PIC:
'*Código para Proton IDE
'* Para comandos se envían bytes ejem: HRSOut 12
'* Para datos se envían en decimal ejem: HRSOut dec 123
'* Para texto se ponen comillas ejem: HRSOut "hola mundo"
'****************************************************************
Device 16F877A
Xtal 20
Hserial_Baud 9600 'baudios configurados en la pantalla
TRISA = %00000111 'puerto A entrada bits 0, 1 y 2
ADCON1 = %10001110 'Set entrada analógica PortA.0 justificado a derechas
Dim ANALOG As Word
Dim VALORVOLT As Float
HRSOut 12 'clear pantalla, comandosSE DEBEN ENVIAR en bytes decimal o hexadecimal
DelayMS 100 'necesario para tiempo proceso, en prueba
HRSOut 31,36,1,1 'comando cursor posición, colunma 1, fila 1 despues de clear
HRSOut "Valor volts: " 'enviamos texto
DelayMS 100 'ídem
HRSOut 31,36,1,2 'cursor columna 1, fila 2
DelayMS 100 'ídem
HRSOut "Valor leido: " 'enviamos texto
INICIO:
HRSOut 31,36,14,1 'cursor a columna 14 fila 1
ANALOG = ADIn 0 'leemos entrada analógica
VALORVOLT = ANALOG * 5 / 1023 'mapeamos a 0-5 voltios
HRSOut Dec2 VALORVOLT, " " 'enviamos dato en decimal y ponemos espacios detrás para borrar basura
HRSOut 31,36,14,2 'cursor posición 14 fila 2
HRSOut Dec ANALOG, " " 'enviamos dato en decimal y ponemos espacios detrás para borrar basura
DelayMS 1000
GoTo INICIO
Y este es el resultado:

Espero que os haya entretenido y sirva para futuros “encuentros” con esta pantalla, que es una belleza. Adjuntos os dejo el manual y el programa para el PC.
Saludos a toda la Peña.