Pages: [1]   Go Down
Author Topic: How should I wire (and how do I control) a "A6276EA-T" to a arduino mega???  (Read 799 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 297
Arduino rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How should I wire (and how do I control) a "A6276EA-T" to a arduino mega???
The "A6276EA-T" is a LED Driver with a total of 16 outputs

INFO about "A6276EA-T":
Logged

As always... Thanks for posting!!!

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16470
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Great chip. I used two of them in series connection for a 5x5x5  led cube. Hardware interfacing is pretty simple, you just need three arduino digital outputs, one for clock, data, and latch pins. The intergrated constant current output stages are what really make this chip a component saver for led projects. Here is a the interrupt ISR code I used to shift 32 bits out to the two series connected shift registers upon every 2 millsec interrupt. I used the Mstimer2 library to generate the timing interrupts, so all 5 levels would be resfreshed every 10 millisecs. While I shifted out 32 bits for each level, only 25 were used (5x5 leds per level) as it was easier deal with full unsigned long variable arrays used to hold the pattern data.

Quote
// Start of Interrupt routine for driving a display cube row, all 5 rows (levels) are driven over a 10msec period (5 x 2msec)

void refresh_display() {
 if (!updateinprogress) {
  unsigned long shiftdata = active_display[active_row]; // get row data for 25 leds
  unsigned long shiftmask = 1;

  for (byte i = 0; i < 32; i++) {                     // shift 32 bits (only 25 bits are wired up to cube) of data out for the 25 display columns

    if (shiftdata & shiftmask) {
      digitalWrite(dataPin, HIGH);
    }
    else {
      digitalWrite(dataPin, LOW);
    }

    digitalWrite(clockPin, HIGH);                     //  clock each bit into shift register
    digitalWrite(clockPin, LOW);

    shiftmask = shiftmask * 2;       //right shift bit mask one bit
  }

  if (active_row == 0) {
    digitalWrite(row4Pin, LOW);            // turn off row 4 driver if row 0 is now active, this is wrap around case
  }
  else {
    digitalWrite((active_row + 1), LOW);  // turn off driver from prior row update interrupt
  }

  digitalWrite(latchPin, HIGH);           // turn on shift register output pins, column drivers
  digitalWrite(latchPin, LOW);
  digitalWrite((active_row + 2), HIGH);   // turn on active row driver transistor

  // Set next active row number for next timer interrrupt  
  if (active_row >= 4) {  
    active_row = 0;  // wraparound case
    }
  else {
    active_row++;  // increament row number for next interrupt cycle
    }
 }
}  // end of ISR code




Lefty
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 297
Arduino rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

could u post how to wire one up? (minus the output pins)
Logged

As always... Thanks for posting!!!

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16470
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

could u post how to wire one up? (minus the output pins)

I didn't draw a schematic for mind. I just wired it per the below schematic showing wiring the shift registers to a pic processor chip. You can download a pdf of the schematic shown a few pages down in the article.

http://picprojects.org.uk/projects/lc/index.htm#Schematic

Lefty
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16470
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

could u post how to wire one up? (minus the output pins)

I didn't draw a schematic for mine. I just wired it per the below schematic showing wiring the shift registers to a pic processor chip. You can download a pdf of the schematic shown a few pages down in the article.

http://picprojects.org.uk/projects/lc/index.htm#Schematic

Lefty

Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 297
Arduino rocks!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

is that the same chip?
it has a differant name...
Logged

As always... Thanks for posting!!!

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16470
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

is that the same chip?
it has a differant name...

It's a different chip from a different company, but both are identical in function and pin-out wiring.

Lefty
Logged

Pages: [1]   Go Up
Jump to: