0.54" Alphanumeric

Author Gravatar Image LADY ADA

led_matrix_1912-03.jpg

This version of the LED backpack is designed for two dual 14-segment "Alphanumeric" displays. These 14-segment displays normally require 18 pins (4 'characters' and 14 total segments each) This backpack solves the annoyance of using 18 pins or a bunch of chips by having an I2C constant-current matrix controller sit neatly on the back of the PCB. The controller chip takes care of everything, drawing all the LEDs in the background. All you have to do is write data to it using the 2-pin I2C interface.

There are three address select pins so you can select one of 8 addresses to control up to 8 of these on a single 2-pin I2C bus (as well as whatever other I2C chips or sensors you like). The driver chip can 'dim' the entire display from 1/16 brightness up to full brightness in 1/16th steps. It cannot dim individual LEDs, only the entire display at once.

Attaching the Backpack

When you buy a pack from Adafruit, it comes with the fully tested and assembled backpack as well as two dual 14-segment display in one of the colors we provide (say, red, yellow, blue or green). You'll need to solder the matrix onto the backpack but it's an easy task.
Remove the parts from packaging and place the LED matrices OVER the silkscreen side. DO NOT PUT THE DISPLAY ON UPSIDE DOWN OR IT WONT WORK!! Check the image below to make sure the 'decimal point' dots are on the bottom, matching the silkscreen.
Remove the parts from packaging and place the LED matrices OVER the silkscreen side. DO NOT PUT THE DISPLAY ON UPSIDE DOWN OR IT WONT WORK!! Check the image below to make sure the 'decimal point' dots are on the bottom, matching the silkscreen. Remove the parts from packaging and place the LED matrices OVER the silkscreen side. DO NOT PUT THE DISPLAY ON UPSIDE DOWN OR IT WONT WORK!! Check the image below to make sure the 'decimal point' dots are on the bottom, matching the silkscreen. Remove the parts from packaging and place the LED matrices OVER the silkscreen side. DO NOT PUT THE DISPLAY ON UPSIDE DOWN OR IT WONT WORK!! Check the image below to make sure the 'decimal point' dots are on the bottom, matching the silkscreen.
Turn the backpack over so it is sitting flat on the matrix.
Solder all of the pins!
Clip the long pins.
Check your work, making sure each pin is nicely soldered, and there's no cold solder joints or shorted pins

Attaching Header

Prepare the header strip:

Cut the strip to length if necessary. It will be easier to solder if you insert it into a breadboard - long pins down

Add the Backpack:

Place the backpack board over the pins so that the short pins poke through the breakout pads
Solder all 5 pins!
That's it! now you're ready to run the firmware on your Arduino!

Downloading the Arduino Library

We wrote a basic library to help you work with the alphanumeric backpack. The library is written for the Arduino and will work with any Arduino as it just uses the I2C pins. The code is very portable and can be easily adapted to any I2C-capable micro.

Begin by downloading our Adafruit LED Backpack library from github. You can do that by visiting the github repo and manually downloading or, easier, just click this button to download the zip
Rename the uncompressed folder Adafruit_LEDBackpack and check that the Adafruit_LEDBackpack folder contains Adafruit_LEDBackpack.cpp and Adafruit_LEDBackpack.h

Place the Adafruit_LEDBackpack library folder your arduinosketchfolder/libraries/ folder.
You may need to create the libraries subfolder if its your first library. Restart the IDE.

We also have a great tutorial on Arduino library installation at:
http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use
You'll also need to download the Adafruit GFX library - even though this particular backpack doesn't use it! Its just one of those Arduino dependencies! You can grab the Adafruit GFX library from github or download by clicking below.
Rename the uncompressed folder Adafruit_GFX and check that the Adafruit_GFX folder contains Adafruit_GFX.cpp and Adafruit_GFX.h

Place the Adafruit_GFX library folder your arduinosketchfolder/libraries/ folder like you did with the LED backpacks

Wiring!

Nex up, let's wire it up to an Arduino. We'll be using an Arduino.
  • Connect CLK to the I2C clock - on Arduino UNO thats Analog #5, on the Leonardo it's Digital #3, on the Mega it's digital #21
  • Connect DAT to the I2C data - on Arduino UNO thats Analog #4, on the Leonardo it's Digital #2, on the Mega it's digital #20
  • Connect GND to common ground
  • Connect VCC+ to power - 5V is best but 3V will work if that's all you've got (it will be dimmer)
  • Connect Vi2c to your microcontroller's logic level (3-5V) - If you're using an Arduino, this is almost certainly 5V. If its a 3V Arduino such as a Due, connect it to 3V
Both Vi2c and Vcc MUST be connected to 3 to 5VDC! Vcc is for the LED driver power, Vi2c is what sets the logic level for communication to the chip.

Load Demo

Restart the Arduino IDE and load up the File->Adafruit_LEDBackpack->quadalphanum demo
Upload to your Arduino, and open up the Serial console at 9600 baud speed. You'll see each digit light up all the segments, then the display will scroll through the 'font table' showing every character that it knows how to display. Finally, you'll get a notice to start typing into the serial console. Type a message and hit return, you'll see it scroll onto the display!

Library Reference

For the quad displays, we have a special object that can handle ascii data for easy printing.

You can create the object with
Copy Code
Adafruit_AlphaNum4 alpha4 = Adafruit_AlphaNum4();
There's no arguments or pins because the backpacks use the fixed I2C pins.
By default, the address is 0x70, but you can pass in the I2C address used when you initialize the display with begin
Copy Code
alpha4.begin(0x70);  // pass in the address
Next up, the segments can be turned on/off for each digit by writing the 'raw' bitmap you want, for example, all the LEDs off on digit #3 is
Copy Code
alpha4.writeDigitRaw(3, 0x0);
All the segments on for digit #0 is
Copy Code
alpha4.writeDigitRaw(0, 0x3FFF);
This is the segment map:

the 16 bit digit you pass in for raw image has this mapping:

0 DP N M L K J H G2 G1 F E D C B A

The first bit isn't used, you can make it 0 or 1

To turn on just the A segment, use 0x0001
To turn on just the G1 segment, use 0x0040

ASCII data

If you're just looking to print 'text' you can use our font table, just pass in an ASCII character!

For example, to set digit #0 to A call:
Copy Code
alpha4.writeDigitAscii(0, 'A')

Writing Data

Don't forget to 'write' the data to the display with
Copy Code
alpha4.writeDisplay();
That's what actually 'sets' the data onto the LEDs!
Last updated on 2015-03-03 at 11.06.19 AM Published on 2012-07-29 at 03.58.38 PM