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 :

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

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor