Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46
De temps en temps, vous rencontrez des pièces intéressantes sur ebay, d'amis ou tout simplement en train de fouiller dans les magasins d'occasion. Un exemple en est un énorme écran fluorescent sous vide Noritake Itron 40 x 2 de 1994 (ou avant) qui a été transmis par un client.
À l'origine, cela semblait assez complexe, mais après avoir passé un certain temps, les fiches techniques ont été trouvées et il a été découvert qu'il avait une interface série simple - et avec un peu de travail, nous l'avons fait fonctionner, alors lisez la suite si vous êtes intéressé par les VFD classiques ou avoir une unité similaire.
Étape 1:
Le débit en bauds de l'interface série est déterminé par les cavaliers sur le PCB.
Étape 2:
Ainsi, la comparaison du tableau ci-dessus avec les cavaliers de notre module nous donne une vitesse de données de 19200 bps sans parité. Génial - nous pouvons facilement créer une telle connexion avec un microcontrôleur avec une sortie série et des niveaux logiques 5V; pour nos exemples, nous utiliserons une carte compatible Arduino.
Étape 3:
Le câblage du VFD est simple - voir les cavaliers blancs étiquetés CN2 comme indiqué précédemment. La broche 1 est de 5 V (vous avez besoin d'une alimentation externe pouvant offrir jusqu'à 700 mA), la broche 2 à la broche numérique Arduino 7 et la broche 3 à Arduino et l'alimentation GND.
Nous utilisons Arduino D7 avec un logiciel en série au lieu de TX afin que l'écran n'affiche pas de déchets lorsqu'un croquis est téléchargé. Ensuite, il s'agit simplement d'envoyer du texte à l'écran, par exemple voici un croquis de démonstration rapide:
// Travailler avec les modules Noritake Itron VFD - modèle CU40026SCPB-T20A #include SoftwareSerial VFD (6, 7); // Réception, Émission
void setup()
{ VFD.begin (19200); }
boucle vide()
{ VFD.print("Bonjour tout le monde. Ceci est un VFD Noritake "); // Vous pouvez faire exploser le texte do {} while (1); }
Étape 4:
Ce qui se traduit par ce qui suit…
Étape 5:
Si vous n'aimez pas la couleur ou l'intensité de l'affichage, essayez du Perspex par-dessus - par exemple…
Étape 6: Contrôle de l'affichage
À ce stade, vous aurez besoin de la fiche technique de la fiche technique. Comme vous l'avez vu précédemment, écrire du texte est très simple - utilisez simplement les fonctions.print. Cependant, vous souhaiterez peut-être envoyer des caractères individuels, ainsi que des commandes spéciales pour contrôler les aspects de l'affichage. Celles-ci sont décrites dans la fiche technique – voir les tableaux « Commandes logicielles » et « Polices de caractères ».
Si vous devez envoyer des commandes uniques - par exemple "clear display" qui est 0x0E, utilisez une commande.write, telle que:
VFD.write(0x0E); // effacer l'affichage
Certaines commandes sont au format de codes d'échappement (vous vous en souvenez ?) il faut donc envoyer ESC puis l'octet suivant, par exemple pour changer la luminosité à 50%:
VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosité VFD.write(0x40); // 50% de luminosité
Armé de ces connaissances et des fiches techniques, vous pouvez désormais exécuter toutes les commandes. Selon la fiche technique, il est possible de changer les polices, mais quel que soit le cavalier matériel ou la commande que nous avons essayé, cela ne bougerait pas de la police japonaise katakana. Votre écran peut varier. Si vous utilisez la fonction « Ecriture prioritaire à l'écran », tenez compte de la fiche technique en ce qui concerne le temps « occupé » prolongé en retardant les écritures suivantes sur l'écran d'une milliseconde.
Étape 7: Tout assembler
Au lieu d'expliquer chaque commande possible, j'ai mis les plus courantes dans les fonctions documentées dans le croquis de démonstration ci-dessous, qui est suivi d'une vidéo rapide du croquis en fonctionnement.
// Travailler avec les modules Noritake Itron VFD - modèle CU40026SCPB-T20A// John Boxall 2013
#comprendre
Logiciel VFD série (6, 7); // rx, tx
void setup()
{ VFD.begin (19200); // définit la vitesse du port série logiciel resetVFD(); VFDclearsceen(); // VFD.write(0x12); // mode de défilement vertical (activé) }
annuler resetVFD()
// effectue une réinitialisation logicielle sur le contrôleur VFD { VFD.write(0x1B); // ESC VFD.write(0x49); // réinitialisation du logiciel }
void VFDnewline()
// déplace le curseur au début de la ligne suivante { VFD.write(0x0D); // retour chariot VFD.write(0x0A); // saut de ligne }
void VFDclearsceen()
// déplace le curseur en haut à gauche et efface l'affichage { VFD.write(0x0E); // efface l'affichage VFD.write(0x0C); // form feed - curseur en haut à gauche }
void VFDbrightness(intmount)
// définit la luminosité du VFD - 25/50/75/100% // utilise des séquences ESC { switch(amount) { case 25: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosité VFD.print(0); // 25% de rupture de luminosité; cas 50: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosité VFD.write(0x40); // 50% de rupture de luminosité; cas 75: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosité VFD.write(0x80); // 75 % de rupture de luminosité; cas 100: VFD.write(0x1B); // ESC VFD.write(0x4C); // luminosité VFD.write(0xC0); // 100% luminosité } }
void VFDchars()
// parcourt les caractères de la police sélectionnée { for (int i = 21; i < 256; i++) { VFD.write(0x16); // souligne le curseur hors VFD.write(i); retard (100); } }
void moveCursor (position de l'octet)
// déplace le curseur - la ligne du haut est 0~39, la ligne du bas est 40~79 // le mode de défilement vertical doit être désactivé s'il est utilisé { VFD.write(0x1B); // ESC VFD.write(0x48); // déplace le curseur VFD.write(position); // emplacement }
boucle vide()
{ VFD.write(0x16); // souligne le curseur hors VFD.print("Bonjour, tout le monde - première ligne."); // Vous pouvez exploser text delay(1000); VFDnouvelleligne(); VFD.print("Bonjour, monde - ligne deux."); retard(1000); VFDclearsceen(); Luminosité VFD (25); VFD.print("*** 25% luminosité ***"); retard(1000); VFDclearsceen(); Luminosité VFD (50); VFD.print("*** 50% luminosité ***"); retard(1000); VFDclearsceen(); Luminosité VFD (75); VFD.print("*** 75% luminosité ***"); retard(1000); VFDclearsceen(); Luminosité VFD (100); VFD.print("*** 100% luminosité ***"); retard(1000); VFDclearsceen();
VFDchars();
VFDclearsceen();
for (int i = 0; i < 80; i++) { VFD.write(0x16); // souligne le curseur hors moveCursor(i); VFD.print("X"); retard (100); déplacerCurseur(i); VFD.print(" "); } VFDclearsceen(); }
Nous espérons que vous avez trouvé cela intéressant et utile.
Cet article vous est présenté par pmdway.com - tout pour les fabricants et les passionnés d'électronique, avec une livraison gratuite dans le monde entier.
Conseillé:
Bouclier pour Arduino à partir d'anciens tubes VFD russes : horloge, thermomètre, voltmètre : 21 étapes (avec photos)
Bouclier pour Arduino à partir d'anciens tubes VFD russes : horloge, thermomètre, voltmètre… : ce projet a duré près de six mois. Je ne peux pas décrire combien de travail a été consacré à ce projet. Faire ce projet seul me prendrait une éternité alors j'ai eu de l'aide de mes amis. Ici vous pouvez voir notre travail compilé dans une très longue instruction
Utilisation des modules d'horloge temps réel DS1307 et DS3231 avec Arduino : 3 étapes
Utilisation des modules d'horloge en temps réel DS1307 et DS3231 avec Arduino : Nous continuons à recevoir des demandes sur la façon d'utiliser les modules d'horloge en temps réel DS1307 et DS3231 avec Arduino de diverses sources - c'est donc le premier d'un didacticiel en deux parties sur leur utilisation. Pour ce tutoriel Arduino, nous avons deux modules d'horloge en temps réel à nous
Communication sans fil utilisant des modules RF 433 MHz bon marché et des microcontrôleurs Pic. Partie 2 : 4 étapes (avec photos)
Communication sans fil utilisant des modules RF 433 MHz bon marché et des microcontrôleurs Pic. Partie 2: Dans la première partie de cette instructable, j'ai montré comment programmer un PIC12F1822 à l'aide du compilateur MPLAB IDE et XC8, pour envoyer une chaîne simple sans fil à l'aide de modules TX/RX 433MHz bon marché. Le module récepteur était connecté via un USB à UART TTL publicité par câble
Mise à niveau des haut-parleurs portables anciens / soufflés ! : 6 étapes
Mise à niveau des haut-parleurs portables anciens / soufflés ! : Hé tout le monde !, J'avais de vieux haut-parleurs portables Bluetooth que j'ai soufflés en les jouant si fort tout le temps, ils étaient donc plutôt inutiles. J'avais également une super vieille chaise de jeu X-Rocker entièrement démontée dans mon garage, avec les enceintes encore intactes mais
Créer des cadres de widgets électroniques à partir d'anciens ordinateurs : 6 étapes (avec des images)
Faire des cadres de widgets électroniques à partir d'anciens ordinateurs : Après avoir transformé un vieil ordinateur portable en lecteur MP3, je vous montre comment transformer un très (très très) vieil ordinateur portable en une horloge numérique à plusieurs "skins" Lecteur MP3 La fin du projet vous montre ce que vous pouvez faire avec un ordinateur portable plus récent avec