Difference between revisions of "MAX7219X4"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 89: | Line 89: | ||
=== CircuitPython Programming === | === CircuitPython Programming === | ||
+ | |||
+ | * [https://docs.circuitpython.org/projects/max7219/en/latest/index.html CircuitPython driver for the MAX7219 LED matrix driver chip] | ||
+ | |||
+ | <pre> | ||
+ | class adafruit_max7219.bcddigits.BCDDigits(spi: SPI, cs: DigitalInOut, nDigits: int = 1)[source] | ||
+ | Basic support for display on a 7-Segment BCD display controlled by a Max7219 chip using SPI. | ||
+ | Parameters | ||
+ | spi (SPI) – an spi busio or spi bitbangio object | ||
+ | cs (DigitalInOut) – digital in/out to use as chip select signal | ||
+ | nDigits (int) – number of led 7-segment digits; default 1; max 8 | ||
+ | </pre> | ||
+ | |||
+ | * Other | ||
+ | |||
+ | <pre> | ||
+ | classadafruit_max7219.max7219.MAX7219(width: int, height: int, spi: SPI, cs: DigitalInOut, *, baudrate: int = 8000000, polarity: int = 0, phase: int = 0)[source] | ||
+ | Bases: object | ||
+ | MAX7219 - driver for displays based on max7219 chip_select | ||
+ | Parameters | ||
+ | width (int) – the number of pixels wide | ||
+ | height (int) – the number of pixels high | ||
+ | spi (SPI) – an spi busio or spi bitbangio object | ||
+ | chip_select (DigitalInOut) – digital in/out to use as chip select signal | ||
+ | baudrate (int) – for SPIDevice baudrate (default 8000000) | ||
+ | polarity (int) – for SPIDevice polarity (default 0) | ||
+ | |||
+ | phase (int) – for SPIDevice phase (default 0) | ||
+ | </pre> | ||
* [https://docs.circuitpython.org/projects/max7219/en/latest/api.html#adafruit_max7219.max7219.ChainableMAX7219 adafruit_max7219.max7219.ChainableMAX7219 Docs page] | * [https://docs.circuitpython.org/projects/max7219/en/latest/api.html#adafruit_max7219.max7219.ChainableMAX7219 adafruit_max7219.max7219.ChainableMAX7219 Docs page] |
Revision as of 15:15, 3 August 2022
Contents
Features
- (4) MAX7219 8 digits, 7 Segment display modules
- 32 digits
- 4 rows
- 8 digits per row
- Can display decimal, hex values, some text values
- Each display has 8 of 7 segment LED displays
- "Blue" card
- ebay search
- Not compatible with red modules
- 3.3V interface operation
- 3.3V to 5V Level shifter
- Requires both 3.3V and 5V power supplies
- 8 pin connector
- 95x95mm ODAS form factor
- (4) 6-32 mounting holes
Connectors
J1 Connector
- 3.3V signal level
- 5V power to LEDs
- 1x8 right angle header mounted on rear of card
- GND
- GND
- DOUT
- CLK
- CS
- DIN
- +3.3V
- +5V
J2 (Rev 2 and higher)
- +5V
- DIN
- CS
- CLK
- DOUT
- GND
Programming
Arduino Programming
Arduino Drivers
- MAX7219X4 Land Boards Arduino GitHub repository
- Uses Arduino LedControl library
- Library writes to multiple 8-digit displays
- Pins
- Arduino UNO pin 12 is connected to the DataIn
- Arduino UNO pin 11 is connected to the CLK
- Arduino UNO pin 10 is connected to CS
- Uses Arduino LedControl library
Arduino Example Code
LBMAX7219X4_ADDR
- LBMAX7219X4_ADDR
- void writeHexDigit(uint8_t rowVal, uint8_t colVal, uint8_t digitVal) - Write Hexadecimal digit to location
- 8 columns, 4 rows
- rowVal = 0 is top row in display
- colVal = 0 = left character
LBMAX7219X4
- LBMAX7219X4
- Displays Land-Boards channel intro video across the LEDs on 4 rows of 8-digits MAX7219X4 card
- "LAND-" (first line)
- "BOARDS" (second line)
- "PRESENTS" (third line)
- "CARDS...", "AND CODE" (4th line)
CircuitPython Programming
class adafruit_max7219.bcddigits.BCDDigits(spi: SPI, cs: DigitalInOut, nDigits: int = 1)[source] Basic support for display on a 7-Segment BCD display controlled by a Max7219 chip using SPI. Parameters spi (SPI) – an spi busio or spi bitbangio object cs (DigitalInOut) – digital in/out to use as chip select signal nDigits (int) – number of led 7-segment digits; default 1; max 8
- Other
classadafruit_max7219.max7219.MAX7219(width: int, height: int, spi: SPI, cs: DigitalInOut, *, baudrate: int = 8000000, polarity: int = 0, phase: int = 0)[source] Bases: object MAX7219 - driver for displays based on max7219 chip_select Parameters width (int) – the number of pixels wide height (int) – the number of pixels high spi (SPI) – an spi busio or spi bitbangio object chip_select (DigitalInOut) – digital in/out to use as chip select signal baudrate (int) – for SPIDevice baudrate (default 8000000) polarity (int) – for SPIDevice polarity (default 0) phase (int) – for SPIDevice phase (default 0)
classadafruit_max7219.max7219.ChainableMAX7219(width: int, height: int, spi: SPI, cs: DigitalInOut, *, baudrate: int = 8000000, polarity: int = 0, phase: int = 0): """ Daisy Chainable MAX7219 - driver for cascading displays based on max7219 chip_select :param int width: the number of pixels wide :param int height: the number of pixels high :param ~busio.SPI spi: an spi busio or spi bitbangio object :param ~digitalio.DigitalInOut chip_select: digital in/out to use as chip select signal :param int baudrate: for SPIDevice baudrate (default 8000000) :param int polarity: for SPIDevice polarity (default 0) :param int phase: for SPIDevice phase (default 0) """
VHDL Code
- MAX7219 VHDL code
- Instance
instance: MAX7219 generic map( devices => 2, intensity => (16#1#, 16#3#) ) port map ( clk => clock, data_vector => x"FEDCBA9876543210", clk_out => MAX7219_CLK, data_out => MAX7219_DATA, load_out => MAX7219_LOAD, reset_n => globalResetN );
Test
- Test single 8-digit modules
- Test MAX7219X4 card with (4) 8-digit modules
Test Single MAX7219 Modules
SenShld | Desc | MAX J1 | Color |
---|---|---|---|
VCC | VCC | 1 | RED |
GND | GND | 2 | BLK |
D12 | DATAIN | 3 | WHT |
D10 | CS | 4 | BRN |
D11 | CLK | 5 | YEL |
Test MAX7219X4 Card
- ArduinoInABox
- Wiring Table
Signal | AiB | MAX7219X4 | Signal | Color |
---|---|---|---|---|
GND | J5-25 | J1-1 | GND | BLK |
D10 | J5-21 | J1-5 | CS | WHT |
D11 | J5-19 | J1-4 | CLK | YEL |
D12 | J5-17 | J1-6 | DIN | BLU |
+3.3V | J5-1 | J1-7 | +3.3V | RED |
VFILT | J9-1 | J1-8 | 5V | ORG |
- Run Demo code
- Displays 0-7, 8-F twice
"Red" Modules
- Incompatible pinouts
- Do not work with this card
- Flipped from blue modules
Mechanicals
Revision History
Rev 2
- Add 5V interface connector - J2
- Card can be driven from one of the two interfaces
- 5V interface does not require 3.3V
- +5V
- DIN
- CS
- CLK
- DOUT
- GND
Rev 1
- Tested/works
- Requires 3.3V power and signal levels
- Requires 5V power