Sommario:
- Passo 1:
- Passo 2:
- Passaggio 3:
- Passaggio 4:
- Passaggio 5:
- Passaggio 6: controllo del display
- Passaggio 7: mettere tutto insieme
Video: Utilizzo dei vecchi moduli VFD Noritake Itron: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Di tanto in tanto ti imbatti in parti interessanti su ebay, da amici o semplicemente rovistando nei negozi di seconda mano. Un esempio di ciò è stato un enorme display fluorescente sotto vuoto Noritake Itron 40 x 2 caratteri del 1994 (o prima) che è stato trasmesso da un cliente.
Originariamente sembrava piuttosto complesso, tuttavia dopo aver trascorso un po' di tempo sono state trovate le schede tecniche e si è scoperto che aveva una semplice interfaccia seriale - e con un po' di lavoro l'abbiamo fatto funzionare, quindi continua a leggere se sei interessato ai classici VFD o avere un'unità simile.
Passo 1:
La velocità di trasmissione dell'interfaccia seriale è determinata dai ponticelli sul PCB.
Passo 2:
Quindi, confrontando la tabella sopra con i jumper sul nostro modulo, otteniamo una velocità dati di 19200 bps senza parità. Ottimo: possiamo facilmente creare una connessione del genere con un microcontrollore con un'uscita seriale e livelli logici a 5V; per i nostri esempi useremo una scheda compatibile con Arduino.
Passaggio 3:
Il cablaggio del VFD è semplice: vedere i ponticelli bianchi etichettati CN2 come mostrato in precedenza. Il pin 1 è 5V (è necessario un alimentatore esterno che possa offrire fino a 700 mA), il pin 2 al pin digitale Arduino 7 e il pin 3 ad Arduino e alimentazione GND.
Usiamo Arduino D7 con seriale software invece di TX in modo che il display non visualizzi spazzatura quando viene caricato uno schizzo. Quindi si tratta semplicemente di inviare del testo al display, ad esempio ecco un rapido schizzo dimostrativo:
// Utilizzo dei moduli VFD Noritake Itron - modello CU40026SCPB-T20A #include SoftwareSerial VFD(6, 7); // RX, TX
configurazione nulla()
{ VFD.begin(19200); }
ciclo vuoto()
{ VFD.print("Ciao, mondo. Questo è un VFD Noritake "); // Puoi far saltare il testo do {} while (1); }
Passaggio 4:
Che risulta con il seguente…
Passaggio 5:
Se non ti piace il colore o l'intensità del display, prova un po' di Perspex sopra le righe, ad esempio…
Passaggio 6: controllo del display
A questo punto ti servirà la scheda tecnica. Come hai visto in precedenza, scrivere del testo è molto semplice: basta usare le funzioni.print. Tuttavia potresti voler inviare singoli caratteri, oltre a comandi speciali per controllare aspetti del display. Questi sono descritti nella scheda tecnica - vedere le tabelle "Comandi software" e "Caratteri di carattere".
Se devi inviare singoli comandi, ad esempio "clear display" che è 0x0E, usa un comando.write, come:
VFD.write(0x0E); // display chiaro
Alcuni comandi sono nel formato dei codici di escape (ricordate quelli?) quindi è necessario inviare ESC quindi il seguente byte, ad esempio per cambiare la luminosità al 50%:
VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosità VFD.write(0x40); // 50% di luminosità
Armati di quella conoscenza e delle schede tecniche, ora puoi eseguire tutti i comandi. Secondo la scheda tecnica è possibile cambiare i caratteri, tuttavia, indipendentemente dal jumper hardware o dal comando che abbiamo provato, non si sposterebbe dal carattere katakana giapponese. Il tuo schermo può variare. Se si utilizza la funzione “scrittura priorità schermo” prestare attenzione alla scheda tecnica rispetto al tempo “occupato” esteso ritardando di un millisecondo le successive scritture sul display.
Passaggio 7: mettere tutto insieme
Invece di spiegare ogni possibile comando, ho inserito quelli comuni all'interno delle funzioni documentate nello schizzo dimostrativo di seguito, seguito da un breve video dello schizzo in funzione.
// Utilizzo dei moduli VFD Noritake Itron - modello CU40026SCPB-T20A// John Boxall 2013
#includere
SoftwareVFD seriale(6, 7); // rx, tx
configurazione nulla()
{ VFD.begin(19200); // imposta la velocità per la porta seriale del software resetVFD(); VFD clear screen(); // VFD.write(0x12); // modalità di scorrimento verticale (attiva) }
null resetVFD()
// esegue un ripristino software sul controller VFD { VFD.write(0x1B); // ESC VFD.write(0x49); // ripristino software }
void VFDnewline()
// sposta il cursore all'inizio della riga successiva { VFD.write(0x0D); // ritorno a capo VFD.write(0x0A); // avanzamento riga }
void VFDclearsceen()
// sposta il cursore in alto a sinistra e cancella il display { VFD.write(0x0E); // cancella il display VFD.write(0x0C); // feed modulo - cursore in alto a sinistra }
void luminosità VFD (importo int)
// imposta la luminosità VFD - 25/50/75/100% // utilizza sequenze ESC { switch(amount) { case 25: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosità VFD.print(0); // 25% di interruzione della luminosità; caso 50: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosità VFD.write(0x40); // 50% di interruzione della luminosità; caso 75: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosità VFD.write(0x80); // 75% di interruzione della luminosità; caso 100: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosità VFD.write(0xC0); // 100% luminosità } }
void caratteri VFD()
// scorre i caratteri per il font selezionato { for (int i = 21; i < 256; i++) { VFD.write(0x16); // cursore di sottolineatura disattivato VFD.write(i); ritardo(100); } }
void moveCursor (posizione byte)
// sposta il cursore - la riga superiore è 0~39, la riga inferiore è 40~79 // la modalità di scorrimento verticale deve essere disattivata se utilizzata { VFD.write(0x1B); // ESC VFD.write(0x48); // sposta il cursore VFD.write(posizione); // Posizione }
ciclo vuoto()
{ VFD.write(0x16); // sottolinea il cursore off VFD.print("Ciao, mondo - riga uno."); // Puoi far saltare il testo delay(1000); VFDnewline(); VFD.print("Ciao, mondo - riga due."); ritardo(1000); VFD clear screen(); Luminosità VFD(25); VFD.print("*** 25% luminosità ***"); ritardo(1000); VFD clear screen(); Luminosità VFD(50); VFD.print("*** 50% luminosità ***"); ritardo(1000); VFD clear screen(); Luminosità VFD(75); VFD.print("*** 75% luminosità ***"); ritardo(1000); VFD clear screen(); Luminosità VFD(100); VFD.print("*** Luminosità 100% ***"); ritardo(1000); VFD clear screen();
caratteri VFD();
VFD clear screen();
for (int i = 0; i < 80; i++) { VFD.write(0x16); // Sottolinea il cursore spento moveCursor(i); VFD.print("X"); ritardo(100); moveCursore(i); VFD.print(" "); } VFDclearsceen(); }
Ci auguriamo che tu l'abbia trovato interessante e utile.
Questo post è offerto da pmdway.com: tutto per produttori e appassionati di elettronica, con consegna gratuita in tutto il mondo.
Consigliato:
Shield per Arduino dai vecchi tubi VFD russi: orologio, termometro, voltmetro: 21 passaggi (con immagini)
Scudo per Arduino dai vecchi tubi VFD russi: orologio, termometro, voltmetro…: questo progetto ha richiesto quasi sei mesi per essere completato. Non posso descrivere quanto lavoro è andato in questo progetto. Fare questo progetto da solo mi avrebbe richiesto un'eternità, quindi ho avuto l'aiuto dei miei amici. Qui puoi vedere il nostro lavoro compilato in una lunghissima istruzione
Utilizzo separato dei chip a nastro LED: 4 passaggi
Utilizzo separato dei chip a nastro LED: mentre sperimentavo un altro progetto, ho finito per tagliare una lunghezza di nastro LED tra le linee di taglio previste per adattarlo al progetto in questione (non preoccuparti, lo rivelerò quando è finito). Il pezzo non ha funzionato dopo questo taglio in quanto sev
Utilizzo dei moduli orologio in tempo reale DS1307 e DS3231 con Arduino: 3 passaggi
Utilizzo dei moduli di clock in tempo reale DS1307 e DS3231 con Arduino: continuiamo a ricevere richieste su come utilizzare i moduli di clock in tempo reale DS1307 e DS3231 con Arduino da varie fonti, quindi questo è il primo di un tutorial in due parti su come utilizzarli. Per questo tutorial su Arduino abbiamo a disposizione due moduli di clock in tempo reale
Utilizzo dei 4 pin di ESP8266-01: 3 passaggi
Utilizzo dei 4 pin dell'ESP8266-01: Nota: questo progetto è fondamentalmente un'estensione di una precedente istruzione che utilizzava solo 2 pin. Il numero limitato (4) di pin GPIO sull'ESP8266-01 può sembrare un ostacolo, per qualsiasi applicazione seria. Eppure se si usano i pin in modo intelligente è
Utilizzo dei tastierini numerici con Arduino: 4 passaggi
Utilizzo dei tastierini numerici con Arduino: i tastierini numerici possono fornire una semplice alternativa per l'utente finale per varie interfacce per i tuoi progetti. Oppure, se hai bisogno di molti pulsanti, possono farti risparmiare molto tempo per quanto riguarda la costruzione. Passeremo attraverso il loro collegamento, usando Arduino l