Tabla de contenido:

Uso de módulos VFD Itron de Noritake más antiguos: 7 pasos
Uso de módulos VFD Itron de Noritake más antiguos: 7 pasos

Video: Uso de módulos VFD Itron de Noritake más antiguos: 7 pasos

Video: Uso de módulos VFD Itron de Noritake más antiguos: 7 pasos
Video: Noritake VFD Display - Model: CU20026CPB-S25A 2024, Mes de julio
Anonim
Uso de módulos VFD Itron de Noritake más antiguos
Uso de módulos VFD Itron de Noritake más antiguos
Uso de módulos VFD Itron de Noritake más antiguos
Uso de módulos VFD Itron de Noritake más antiguos
Uso de módulos VFD Itron de Noritake más antiguos
Uso de módulos VFD Itron de Noritake más antiguos

De vez en cuando te encuentras con piezas interesantes en eBay, de amigos o simplemente hurgando en tiendas de segunda mano. Un ejemplo de esto fue una enorme pantalla fluorescente al vacío Noritake Itron de 40 x 2 caracteres de 1994 (o antes) que fue transmitida por un cliente.

Originalmente parecía bastante complejo, sin embargo, después de pasar un tiempo, se encontraron las hojas de datos y se descubrió que tenía una interfaz en serie simple, y con un poco de trabajo lo tenemos funcionando, así que siga leyendo si está interesado en los VFD clásicos. o tener una unidad similar.

Paso 1:

Imagen
Imagen

La velocidad en baudios de la interfaz en serie está determinada por las almohadillas de puente en la PCB.

Paso 2:

Imagen
Imagen

Por lo tanto, comparar la tabla anterior con los puentes de nuestro módulo nos da una velocidad de datos de 19200 bps sin paridad. Genial, podemos crear fácilmente una conexión de este tipo con un microcontrolador con una salida en serie y niveles lógicos de 5V; para nuestros ejemplos usaremos una placa compatible con Arduino.

Paso 3:

El cableado del VFD es simple: vea los puentes blancos etiquetados como CN2 como se muestra anteriormente. El pin 1 es de 5 V (necesita una fuente externa que pueda ofrecer hasta 700 mA), el pin 2 al pin digital 7 de Arduino y el pin 3 a Arduino y la fuente de alimentación GND.

Usamos Arduino D7 con serie de software en lugar de TX para que la pantalla no muestre basura cuando se carga un boceto. Entonces es cuestión de simplemente enviar texto a la pantalla, por ejemplo, aquí hay un boceto de demostración rápida:

// Trabajando con módulos Noritake Itron VFD - modelo CU40026SCPB-T20A #include SoftwareSerial VFD (6, 7); // RX, TX

configuración vacía ()

{VFD.begin (19200); }

bucle vacío ()

{VFD.print ("Hola, mundo. Este es un VFD de Noritake"); // Puede enviar texto a todo volumen do {} while (1); }

Paso 4:

Imagen
Imagen

Que resulta con lo siguiente …

Paso 5:

Imagen
Imagen

Si no le gusta el color o la intensidad de la pantalla, pruebe con Perspex en la parte superior, por ejemplo …

Paso 6: controlar la pantalla

En este punto, necesitará la hoja de datos de la hoja de datos. Como vio anteriormente, escribir texto es muy simple: solo use las funciones.print. Sin embargo, es posible que desee enviar caracteres individuales, así como comandos especiales para controlar aspectos de la pantalla. Estos se describen en la hoja de datos; consulte las tablas "Comandos de software" y "Fuentes de caracteres".

Si necesita enviar comandos individuales, por ejemplo, "pantalla clara", que es 0x0E, use un comando.write, como:

VFD.write (0x0E); // pantalla clara

Algunos comandos tienen el formato de códigos de escape (¿recuerdas esos?), Por lo que debes enviar ESC y luego el siguiente byte, por ejemplo, para cambiar el brillo al 50%:

VFD.write (0x1B); // ESC VFD.write (0x4C); // brillo VFD.write (0x40); // 50% de brillo

Armado con ese conocimiento y las hojas de datos, ahora puede ejecutar todos los comandos. De acuerdo con la hoja de datos, es posible cambiar las fuentes, sin embargo, sin importar el puente de hardware o el comando que probamos, no se movería de la fuente katakana japonesa. Su pantalla puede variar. Si utiliza la función de "escritura con prioridad de pantalla", preste atención a la hoja de datos con respecto al tiempo de "ocupado" extendido retrasando las escrituras posteriores en la pantalla en un milisegundo.

Paso 7: Poniéndolo todo junto

En lugar de explicar todos y cada uno de los comandos posibles, he incluido los comunes dentro de funciones documentadas en el esquema de demostración a continuación, al que sigue un video rápido del esquema en funcionamiento.

// Trabajo con módulos VFD Noritake Itron - modelo CU40026SCPB-T20A // John Boxall 2013

#incluir

Software VFD en serie (6, 7); // rx, tx

configuración vacía ()

{VFD.begin (19200); // establece la velocidad del puerto serie del software resetVFD (); VFDclearsceen (); // VFD.write (0x12); // modo de desplazamiento vertical (activado)}

anular resetVFD ()

// realiza un reinicio de software en el controlador VFD {VFD.write (0x1B); // ESC VFD.write (0x49); // reinicio del software}

anular VFDnewline ()

// mueve el cursor al inicio de la siguiente línea {VFD.write (0x0D); // retorno de carro VFD.write (0x0A); // linea de alimentación }

anular VFDclearsceen ()

// mueve el cursor a la parte superior izquierda y borra la pantalla {VFD.write (0x0E); // borrar la pantalla VFD.write (0x0C); // formulario de alimentación: cursor hacia la parte superior izquierda}

void VFDbrightness (cantidad int)

// establece el brillo del VFD - 25/50/75/100% // usa secuencias ESC {switch (amount) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // brillo VFD.print (0); // 25% de ruptura de brillo; caso 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // brillo VFD.write (0x40); // 50% de ruptura de brillo; caso 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // brillo VFD.write (0x80); // 75% de rotura de brillo; caso 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // brillo VFD.write (0xC0); // 100% de brillo}}

void VFDchars ()

// recorre los caracteres de la fuente seleccionada {for (int i = 21; i <256; i ++) {VFD.write (0x16); // subrayar el cursor fuera de VFD.write (i); retraso (100); }}

void moveCursor (posición del byte)

// mueve el cursor - la fila superior es 0 ~ 39, la fila inferior es 40 ~ 79 // el modo de desplazamiento vertical debe desactivarse si se usa {VFD.write (0x1B); // ESC VFD.write (0x48); // mueve el cursor VFD.write (posición); // localización }

bucle vacío ()

{VFD.write (0x16); // subrayar el cursor fuera de VFD.print ("Hola, mundo - línea uno"); // Puede explotar el retardo de texto (1000); VFDnewline (); VFD.print ("Hola, mundo - línea dos."); retraso (1000); VFDclearsceen (); Brillo de VFD (25); VFD.print ("*** 25% de brillo ***"); retraso (1000); VFDclearsceen (); Brillo de VFD (50); VFD.print ("*** 50% de brillo ***"); retraso (1000); VFDclearsceen (); Brillo de VFD (75); VFD.print ("*** 75% de brillo ***"); retraso (1000); VFDclearsceen (); Brillo de VFD (100); VFD.print ("*** 100% de brillo ***"); retraso (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

para (int i = 0; i <80; i ++) {VFD.write (0x16); // subrayar el cursor fuera de moveCursor (i); VFD.print ("X"); retraso (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Esperamos que le haya resultado interesante y útil.

Esta publicación es presentada por pmdway.com: todo para fabricantes y entusiastas de la electrónica, con entrega gratuita en todo el mundo.

Recomendado: