Possible code: -
long period = 400;
int ledPins[6][3] = {{4, 3, 2}, {7, 6, 5}, {10, 9, 8}, {13, 12, 11}, {16, 15, 14}, {19, 18, 17}};
int n = 128;
char *message[6] = {
"44000440011111110022000005500000066666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"44000440011000000022000005500000660006600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"44444440011111000022000005500000660006600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"44000440011000000022000005500000660006600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"44000440011111110022222005555500066666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
};
void setup()
{
for (int led = 0; led < 6; led ++)
{
for (int color = 0; color < 3; color++)
{
pinMode(ledPins[led][color], OUTPUT);
}
}
}
void loop()
{
for (int col = 0; col < n; col++)
{
for (int row = 0; row < 6; row++)
{
int color = (int)(message[5-row][col] - '0');
setLed(row, color);
}
delayMicroseconds(period);
allOff();
delayMicroseconds(period / 16);
}
}
void setLed(int led, int color)
{
digitalWrite(ledPins[led][0], !(color & 1));
digitalWrite(ledPins[led][1], !(color & 2));
digitalWrite(ledPins[led][2], !(color & 4));
}
void allOff()
{
for (int led = 0; led < 6; led ++)
{
for (int color = 0; color < 3; color++)
{
digitalWrite(ledPins[led][color], HIGH);
}
}
}
Source: -
http://www.instructables.com/files/orig/FIB/8DN6/HHS9HC8T/FIB8DN6HHS9HC8T.txt
Priyank
No comments:
Post a Comment