
Arduino with Serially Interfaced MAX7219 Operates 8X8 LED Matrix
Related YouTube video for this project: Arduino DS1307 RTC Clock with MAX7219 LED Display Controller
The following demonstrates the use of the MAX7219 display driver with a Arduino Microcontroller. This sample code move an arrow across a 8X8 LED matrix. These units are inexpensive and sold by several vendors on Ebay for under $5. This code was ported over from my PIC18F2550 pages and was designed to work on either micro-controller without the use of other user libraries. This makes the code more portable.
This demo operates in the non-decode mode.
The MAX7219 is a serial input/output common-cathode display driver that interfaces microprocessors to a 7-segment numeric LED displays of up to 8 digits, bar-graph displays, or 64 individual LEDs.
First the address (0x00 - 0x0f) is clocked in by ssrWrite(), then the data or command byte is clocked in.
Included on-chip are a BCD code-B decoder, multiplex scan circuitry, segment and digit drivers, and an 8x8 static RAM that stores each digit. Only one external resistor is required to set the segment current for all LEDs.
A convenient 4-wire serial interface connects to all common uPs. Individual digits may be addressed and updated without rewriting the entire display. The MAX7219 will also allow the user to select code- B decoding or no-decode for each digit.
The devices include a 150uA low-power shutdown mode, analog and digital brightness control, a scan limit register that allows the user to display from 1 to 8 digits, and a test mode that forces all LEDs on.
Arduino code for this project: arduino_max7219a.txt.
- Related:
- Arduino RTC Clock with MAX7219 8-Digit LED Display
- BCD Conversion with Arduino Displayed on MAX7219
- Arduino Projects Revisited Revised
- Schematic for Following Projects
- Programming ADS1115 4-Channel I2C ADC with Arduino
- Arduino uses ADS1115 with TMP37 to Measure Temperature
- Connect Arduino to I2C Liquid Crystal Display
- Arduino Reads Temperature Sensor Displays Temperature on LCD Display
- Arduino with MCP4725 12-bit Digital-to-Analog Converter Demo
- Videos
- Arduino with ADS1115 4-Channel 16-bit Analog-to-Digital Converter
- Arduino with MCP4725 12-Bit DAC
- Testing the Keyes IR Sensor Module with Arduino
- Arduino with Serially Interfaced MAX7219 Operates 8X8 LED Matrix
- Arduino RTC Clock with MAX7219 8-Digit LED Display
- BCD Conversion with Arduino Displayed on MAX7219
- Connecting the ATMEGA168/Arduino to MCP23016 and LCD Display
- Display Time-Date with Arduino, LCD Display, and DS1307 RTC
- Controlling Low-Voltage Driveway Lights with the Arduino
- Hatching Chicken Eggs with ATMEGA168/Arduino
- TSL230R Light to Frequency Converter and Arduino
- Interfacing Arduino to the MCP23016 I/O Expander
- Arduino with a DS1307 Real Time Clock
- Using a Unipolar Stepper Motor with a Arduino
- Arduino with the TA8050 Motor Controller
- Arduino with a 24LC08 Serial EEPROM
- Hardware Interrupts Demo and Tutorial for Arduino
- Micro-controller AC Power Control Using Interrupts