Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int CLK = 8;
- int OE = 9;
- int LAT = 10;
- int A = A0;
- int B = A1;
- int C = A2;
- //int D = A3;
- int r1 = 2;
- int g1 = 3;
- int b1 = 4;
- int r2 = 5;
- int g2 = 6;
- int b2 = 7;
- bool state = false;
- unsigned long tt = 0;
- unsigned long cc = 0;
- void setup() {
- Serial.begin(115200);
- pinMode(r1, OUTPUT);
- pinMode(g1, OUTPUT);
- pinMode(b1, OUTPUT);
- pinMode(r2, OUTPUT);
- pinMode(g2, OUTPUT);
- pinMode(b2, OUTPUT);
- pinMode(A, OUTPUT);
- pinMode(B, OUTPUT);
- pinMode(C, OUTPUT);
- //pinMode(D, OUTPUT);
- pinMode(CLK, OUTPUT);
- pinMode(OE, OUTPUT);
- pinMode(LAT, OUTPUT);
- digitalWrite(r1, HIGH);
- digitalWrite(g1, HIGH);
- digitalWrite(b1, HIGH);
- digitalWrite(r2, HIGH);
- digitalWrite(g2, HIGH);
- digitalWrite(b2, HIGH);
- digitalWrite(OE, HIGH);
- digitalWrite(LAT, HIGH);
- //digitalWrite(CLK, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- delay(1000);
- // digitalWrite(A, HIGH);
- // digitalWrite(B, HIGH);
- // digitalWrite(C, HIGH);
- // delay(500);
- }
- void loop() {
- // Turn off display
- digitalWrite(OE, HIGH);
- for ( int i = 0; i < 5 ; i++ ) {
- // digitalWrite ( D, i & 8 ) ;
- digitalWrite ( C, i & 4 ) ;
- digitalWrite ( B, i & 2 ) ;
- digitalWrite ( A, i & 1 ) ;
- for (int j = 0; j < 90; j++) {
- switch ( i ) {
- case 0 :
- digitalWrite(r1, HIGH);
- digitalWrite(g1, LOW);
- digitalWrite(b1, HIGH);
- digitalWrite(r2, HIGH);
- digitalWrite(g2, LOW);
- digitalWrite(b2, HIGH);
- break;
- case 1:
- digitalWrite(r1, HIGH);
- digitalWrite(g1, LOW);
- digitalWrite(b1, HIGH);
- digitalWrite(r2, HIGH);
- digitalWrite(g2, LOW);
- digitalWrite(b2, HIGH);
- break;
- case 2:
- digitalWrite(r1, HIGH);
- digitalWrite(g1, LOW);
- digitalWrite(b1, HIGH);
- digitalWrite(r2, HIGH);
- digitalWrite(g2, LOW);
- digitalWrite(b2, HIGH);
- break;
- case 3:
- digitalWrite(r1, HIGH);
- digitalWrite(g1, LOW);
- digitalWrite(b1, HIGH);
- digitalWrite(r2, HIGH);
- digitalWrite(g2, LOW);
- digitalWrite(b2, HIGH);
- break;
- case 4:
- digitalWrite(r1, HIGH);
- digitalWrite(g1, LOW);
- digitalWrite(b1, HIGH);
- digitalWrite(r2, HIGH);
- digitalWrite(g2, LOW);
- digitalWrite(b2, HIGH);
- break;
- default:
- break;
- }
- digitalWrite(CLK, state);
- delayMicroseconds(10);
- state = !state;
- } // end of push data for loop
- // After each addr, unlatch
- digitalWrite(LAT, HIGH);
- delayMicroseconds(20);
- digitalWrite(LAT, LOW);
- delayMicroseconds(20);
- } // end of addr for loop
- // After entire screen is drawn, turn on display ( OE LOW )
- digitalWrite(OE, LOW);
- delay(1000);
- if ( millis() - tt > 5000 ) {
- // blank the screen
- Serial.println("Clear Screen");
- digitalWrite(OE, HIGH);
- delay(1000);
- digitalWrite ( C, HIGH );
- digitalWrite ( B, HIGH );
- digitalWrite ( A, HIGH );
- delay(1000);
- tt = millis();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement