Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39
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:
La velocidad en baudios de la interfaz en serie está determinada por las almohadillas de puente en la PCB.
Paso 2:
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:
Que resulta con lo siguiente …
Paso 5:
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:
Conversión de altavoces antiguos a Boombox Bluetooth: 8 pasos (con imágenes)
Conversión de altavoces antiguos a Boombox Bluetooth: ¡Hola a todos! ¡Muchas gracias por sintonizarme en esta compilación! Antes de entrar en detalles, considere votar por este Instructable en el concurso en la parte inferior. ¡Apreciamos mucho el apoyo! Han pasado algunos años desde que comencé
Reloj inteligente DIY Fitness Tracker con oxímetro y frecuencia cardíaca - Módulos electrónicos modulares de TinyCircuits - Arcade más pequeño: 6 pasos
Reloj inteligente DIY Fitness Tracker con oxímetro y frecuencia cardíaca | Módulos electrónicos modulares de TinyCircuits | Arcade más pequeño: ¡Hola, chicos! Aquí Akarsh de CETech. Hoy tenemos con nosotros algunos de los módulos de sensores que son muy útiles en nuestro día a día pero en una versión diminuta de sí mismos. Los sensores que tenemos hoy son de tamaño muy pequeño en comparación con el tra
Reutilizar un teléfono antiguo y altavoces antiguos como ESTÉREO: 4 pasos
Reutilice un teléfono viejo y parlantes viejos como ESTÉREO: convierta un par de parlantes viejos y un teléfono inteligente viejo en una instalación estéreo con radio, podcasts de reproducción de mp3 y radio por Internet, ¡usando algunos componentes comunes que cuestan menos de 5 euros en total! Así que tenemos esta colección de smartp de 5 a 10 años
Uso de módulos de reloj en tiempo real DS1307 y DS3231 con Arduino: 3 pasos
Uso de módulos de reloj en tiempo real DS1307 y DS3231 con Arduino: Seguimos recibiendo solicitudes sobre cómo usar los módulos de reloj en tiempo real DS1307 y DS3231 con Arduino de varias fuentes, por lo que este es el primero de un tutorial de dos partes sobre cómo usarlos. Para este tutorial de Arduino tenemos dos módulos de reloj en tiempo real para nosotros
Auriculares de radio de época de guerra antiguos: 7 pasos
Vintage Wartime Radio Headphones: Cómo convertir un juego de auriculares vintage de la época de la guerra y convertirlo en un juego de auriculares ultra retro-chic que funcionen y se puedan usar. Complete el aspecto de su escritorio o cubículo de oficina cambiando su teléfono por una tecla morse