- Blog entry posted in 'Projects', October 18, 2015.
another display i made recently, 8x8 matrix, controlled by 74595 shift registers & couple darlignton arrays.
takes only 3 pins from micro and can control god knows how many pins
94783
only scrolling needed now!
cePYww2SSa0
Code:
int dataPin = 2; //IC 14 //Define which pins will be used for the Shift Register control
int latchPin = 3; //IC 12
int clockPin = 4; //IC 11
//OE-GND
//MR-VCC
int const t = 2000;
int count;
int x =
{
B10000001,
B01000010,
B00100100,
B00011000,
B00011000,
B00100100,
B01000010,
B10000001,
};
byte x2 =
{
B01111110,
B10111101,
B11011011,
B11100111,
B11100111,
B11011011,
B10111101,
B01111110,
};
byte columns =
{
B00000001,
B00000010,
B00000100,
B00001000,
B00010000,
B00100000,
B01000000,
B10000000,
};
void setup()
{
DDRD = DDRD | B00011100;
}
void loop()
{
for ( int8_t a = 0 ; a < 8 ; a++ )
{
PORTD = B00000000;
shiftOut(dataPin, clockPin, MSBFIRST, columns); //Send the data #2
if (millis() / 1000 % 2)
{
shiftOut(dataPin, clockPin, LSBFIRST, x); //Send the data #1
}
else
shiftOut(dataPin, clockPin, LSBFIRST, x2); //Send the data #1
PORTD = B00001000;
delayMicroseconds(t);
}
}
koolguy, October 31, 2015
takes only 3 pins from micro and can control god knows how many pins which pins are those of 595
koolguy, October 31, 2015
i have seen that in circuit anyway, but i have not understand the 2 clock signal.
fezder, October 31, 2015
The '595 uses these pins: data(14), latch(12) and clock(11), numbers correspond to ic pin numbers. The data is sent via 8-bit serial, how many times this 8-bits are sent depends how many 595's you have connected in series, for each you need to send one more, and the first 8bits you send is retrieved at last 595, so if you send B10001000 and B11111100, that B10001000 is seen at last one of 595's, this case there are two of 595. Also what matters is whether you use MSB or LSB for sending bits.
fezder, October 31, 2015
So the basic pattern is: latch low->data in->latch high
manoj soorya, December 15, 2015
where we can use this circuit?
fezder, December 15, 2015
well this 8x8 circuit is small but easily expanded to like scrolling display or wherever you need matrix display. I now have octal transistor arrays which play better along with 8-bit stuff like 74595, just a mention. Feel free to use this circuit & code, manipulate it for your needs