Common anode 7 segments display with MAX7219
hello,
i needed use common anode 7 segments display max7219 chip, supposed work common cathode.
i find older posts it, without simple software solutions. wanted share did.
it's in fact quite easy drive common anode display ledcontrol library.
first, said in older posts, wiring has swapped between digit pins , segment pins.
dig1 dig7 max7219 pins have wired segments g of displays.
seg seg f pins have wired digit 1, digit 2, etc...
then ledcontrol library use setcolumn function display digits, character table defined in header :
this function print n on digit (display) d. example :
print(1,5) displays '5' on first digit
n values 0 15 display 0...9 a...f.
here code count 0 99 on 2 digit display (arduino uno) :
regards
pierre
i needed use common anode 7 segments display max7219 chip, supposed work common cathode.
i find older posts it, without simple software solutions. wanted share did.
it's in fact quite easy drive common anode display ledcontrol library.
first, said in older posts, wiring has swapped between digit pins , segment pins.
dig1 dig7 max7219 pins have wired segments g of displays.
seg seg f pins have wired digit 1, digit 2, etc...
then ledcontrol library use setcolumn function display digits, character table defined in header :
code: [select]
void print(byte d,byte n)
{
lc.setcolumn(0,d,pgm_read_byte_near(chartable + n));
}
this function print n on digit (display) d. example :
print(1,5) displays '5' on first digit
n values 0 15 display 0...9 a...f.
here code count 0 99 on 2 digit display (arduino uno) :
code: [select]
#include "ledcontrol.h"
/*
pin 12 connected datain
pin 11 connected clk
pin 10 connected load
*/
ledcontrol lc=ledcontrol(12,11,10,1);
void print(byte d,byte n)
{
lc.setcolumn(0,d,pgm_read_byte_near(chartable + n));
}
void setup()
{
lc.shutdown(0,false);
lc.setintensity(0,9); // 0 15
lc.cleardisplay(0);
}
void loop()
{
for(byte i=0;i<100;i++)
{
print(1,i/10); //tens
print(2,i%10); //ones
delay(1000);
}
}
regards
pierre
i used octal inverter instead of swapping pins , made life easier.
Arduino Forum > Using Arduino > LEDs and Multiplexing > Common anode 7 segments display with MAX7219
arduino
Comments
Post a Comment