Arduino 和8x8 dot matrix 问题
好不容易可以显示到一个A字。但看会去自己的programming, array很奇怪。其实我只是要做比如两个input(Active low),当第一个input1 trigger时,会显示A。如果是input2 trigger 时会显示B。大概是这样。但写到这边,不会了。 我用两个74HC595。一个col,一个给Row。
http://imageshack.us/a/img837/1123/ceeb.jpg
int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
int i,j;
int row;
int rowlatchPin = 10;
int rowclockPin = 9;
int rowdataPin = 8;
byte colMatrix[] = {
{0x00},
{0x3f},
{0x44},
{0x44},
{0x44},
{0x44},
{0x3f},
{0x00}
};
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(rowlatchPin, OUTPUT);
pinMode(rowdataPin, OUTPUT);
pinMode(rowclockPin, OUTPUT);
}
void loop()
{
/*leds = 0;
updateShiftRegister();
delay(500);
for (int i = 0; i < 8; i++)
{
bitSet(leds, i);
updateShiftRegister();
delay(500);
}*/
//use a nested for loop to initialize all the pins
for(row = 0; row <8; row++)
{
int rowbit= 1<<row;
digitalWrite(rowlatchPin, LOW);
shiftOut(rowdataPin, rowclockPin, MSBFIRST,rowbit);
digitalWrite(latchPin, LOW);
for(int j =7; j>=0; j--)
{
shiftOut(dataPin, clockPin, MSBFIRST, colMatrix);
}
digitalWrite(latchPin, HIGH);
digitalWrite(rowlatchPin, HIGH);
delayMicroseconds(500);
}
}
希望你们帮帮忙。:D
页:
[1]