Difference between revisions of "Mini VFD"

From Nottinghack Wiki
Jump to navigation Jump to search
(Created page with "A small Vacuum Flourescent Display I recovered from the skip at work. It is housed in a project box with a mains transformer - it use to have a mystery 9-pin serial port input b...")
 
Line 3: Line 3:
 
It is housed in a project box with a mains transformer - it use to have a mystery 9-pin serial port input but it wouldn't work until we worked out that it was expecting a 5V TTL serial signal.
 
It is housed in a project box with a mains transformer - it use to have a mystery 9-pin serial port input but it wouldn't work until we worked out that it was expecting a 5V TTL serial signal.
  
* VFD display - futaba corp m202sd08g
+
The Futaba Corp M202SD08G module is a 20 character x 2 line, 5x8 dot matrix display.
** http://www.futaba.com/products/displays/app_notes/index.asp
+
It has a European font with characters in the range from 0x20 (space) through the ASCII range and up to 0xFF with a bunch of Greek and Cyrillic characters.
** http://docs-europe.origin.electrocomponents.com/webdocs/0d12/0900766b80d12d9a.pdf
+
* http://www.futaba.com/products/displays/app_notes/index.asp
 +
* http://www.futaba.com/products/display_modules/module_products/character/index.asp
 +
* http://docs-europe.origin.electrocomponents.com/webdocs/0d12/0900766b80d12d9a.pdf
  
 
I've put a Xino into the box and I'm working on something amusing for it to do in the hackspace.
 
I've put a Xino into the box and I'm working on something amusing for it to do in the hackspace.
 +
 +
The module has a single 20 pin connector (2x10 0.1" pins) of which we only need connection for +5V, GND, serial data in and a busy line out. The module asserts the busy line when it is working but it is enough to just make short delays in your code!
 +
 +
I have a simple Arduino sketch that just shows each character. It uses NewSoftSerial on pins 2 and 3 as well as regular serial on pins 0 and 1 (on old Arduino0022) just for testing to see if NewSoftSerial is any good.
 +
 +
<div style ="height:200px;overflow-x:hidden;overflow-y:auto;border: 4px solid green;">
 +
<syntaxhighlight lang="cpp" line="GESHI_FANCY_LINE_NUMBERS">
 +
#include <NewSoftSerial.h>
 +
#include <icrmacros.h>
 +
 +
NewSoftSerial mySerial(2, 3);
 +
void setup()
 +
{
 +
  Serial.begin(9600);
 +
  mySerial.begin(9600);
 +
}
 +
 +
int b = 0x20;
 +
 +
void loop()
 +
{
 +
  Serial.print(b, BYTE);
 +
  mySerial.print(b, BYTE);
 +
  delay(100);
 +
  b++;
 +
  if(b == 0xff){
 +
    b = 0x20; // the first char in the VFD table
 +
    delay(1000);
 +
  }
 +
 +
}
 +
 +
</syntaxhighlight>
 +
</div>

Revision as of 22:00, 26 April 2012

A small Vacuum Flourescent Display I recovered from the skip at work.

It is housed in a project box with a mains transformer - it use to have a mystery 9-pin serial port input but it wouldn't work until we worked out that it was expecting a 5V TTL serial signal.

The Futaba Corp M202SD08G module is a 20 character x 2 line, 5x8 dot matrix display. It has a European font with characters in the range from 0x20 (space) through the ASCII range and up to 0xFF with a bunch of Greek and Cyrillic characters.

I've put a Xino into the box and I'm working on something amusing for it to do in the hackspace.

The module has a single 20 pin connector (2x10 0.1" pins) of which we only need connection for +5V, GND, serial data in and a busy line out. The module asserts the busy line when it is working but it is enough to just make short delays in your code!

I have a simple Arduino sketch that just shows each character. It uses NewSoftSerial on pins 2 and 3 as well as regular serial on pins 0 and 1 (on old Arduino0022) just for testing to see if NewSoftSerial is any good.

 1 #include <NewSoftSerial.h>
 2 #include <icrmacros.h>
 3 
 4 NewSoftSerial mySerial(2, 3);
 5 void setup() 
 6 { 
 7   Serial.begin(9600);
 8   mySerial.begin(9600);
 9 } 
10 
11 int b = 0x20; 
12 
13 void loop() 
14 { 
15   Serial.print(b, BYTE);
16   mySerial.print(b, BYTE);
17   delay(100);
18   b++;
19   if(b == 0xff){
20     b = 0x20; // the first char in the VFD table
21     delay(1000);
22   }
23  
24 }