Un écran de caisse VFD EPSON DM-D110-11 (MODEL M58BB) offert par un passant du hackerspace attendait sagement sa nouvelle vie.
Deux options étaient envisageables. La première, parler à la carte Epson dans le pied de l’écran. Pour cette méthode, il existe déjà des choses ici et là recherchez PyPos, …
Et, la deuxième option parler directement à l’écran VFD un Noritake-Itron CU20026SCPB-T23C. Quelle fût ma déception en ne trouvant pas la moindre datasheet sur ce modèle.
La nouvelle carte est composée d’un module DC/DC, d’un module TTL > RS232 et un Wemos D1 mini (ESP8266).
Après quelques minutes de recherches, je trouve assez d’informations pour commencer le hack. Voir sources en bas d’article. 4 fils, GND, VCC +12v, TX & RX. Un câble USB <> RS232 et une alimentation de labo seront parfaits pour commencer les tests.
Pinout
1 - GND
2 - RS232 - TX Data
3 - RS232 - RX Data
4 - RS232 - RX Handshake
5 - RS232 - TX Handshake
6 - GND
7 - VCC +12V
8 - GND
Switches
1 - Aucune idée...
2 - 7 bits (on) - 8 bits (off)
3 - Parity - No Parity
4 - Parity even - odd
5 - Baud rate config
6 - Baud rate config
7 - Baud rate config
8 - Test / Demo
Baud rate
ON ON ON - 2400
ON ON OFF - 4800
OFF OFF OFF - 9600
ON OFF OFF - 19200
OFF ON ON - 38400
OFF ON OFF - 57600
OFF OFF ON - 115200
Code source
Je suis au début du développement au moment où j’écris cet article. L’évolution du code sera disponible sur GitHub. https://github.com/iooner/Epson-VFD-hack
Mais, en gros…
#include <SoftwareSerial.h>
// Software Serial sur les pin D1 et D2
SoftwareSerial TTLtoRS(D1, D2); // RX, TX
// Config caractères et lignes
const int vfd_max = 20;
const int vfd_lines = 2;
void setup()
{
Serial.begin(115200);
// Ouverture du serial vers le module TTL > RS232 avec le VFD configuré à 115200 bauds.
TTLtoRS.begin(115200);
// "Vider" l'écran
TTLtoRS.write(0x0C);
// Afficher "Hello World!"
TTLtoRS.println("Hello World!");
}
void loop()
{
// Ca tourne /o/.
}