DG5 LED version

The original version of the DG5 emulator I built was the LCD version, the main reason being because that’s what I had in my parts bin.  The DG5 shield was built with the LCD display in mind, but it can easily be used with whatever display you want that can be driven by an Arduino.  There are 2 headers in the board named LCD1 and LCD2 that bring +5V, GND, a contrast control for the LCD, and a bunch of Arduino Data pins – D7 thru D12.  See the schematic below:

Download (PDF, 37KB)

The LCD version uses all of these pins to drive the LCD, but the LED version uses SPI, which only needs 3 data connections – DataIn, Load or Chip Select (CS), and Clock, or CLK.  On my 8 digit LED display, these are called CLK, CS, and DIN.  We also need VCC (+5V) and GND to power the display.  More about using this type of display with an Arduino can be found here.

So, the code that set this up in the program is below:

/*
LedControl pins for LED display using MAX72XX
LedControl(dataPin,clockPin,csPin,numDevices)
Arduino pin 8 is connected to the DataIn – Pin 13 on DG5 shield on LCD2 header
Arduino pin 9 is connected to LOAD (CS) – Pin 12 on DG5 shield on LCD2 header
Arduino pin 10 is connected to the CLK – Pin 11 on DG5 shield on LCD2 header
Arduino pin 5 reserved for frequency counter – do not use
*/
LedControl lc=LedControl(8,10,9,2);

The display I am using is an 8 digit, 7 segment MAX7219 based display. Unfortunately, I don’t see it on Sparkfun or Adafruit – 2 of my favorite stores – but there are PLENTY on eBay and Amazon – just search on “MAX7219 LED 8 digit”

You can connect it any way that makes sense – individual jumpers, wire wrap, whatever – I used 2, 3 wire jumpers that I had.  The SPI connection is made on the LCD2 connector using pins 11-13 (which correspond to Arduino pins 10, 9, and 8), and pins 1 and 2 on the LCD1 header which provide GND and +5V respectively.  Refer to the schematic above if needed. If you have a display that has pins in a different order, you can change the way the program assigns the DataIn, CS, and CLK to make using jumpers easier.

Here it is in action:

Latest code for all versions and full project files are now hosted on Github.

Steve
KV6O