Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int column[16]={13,12,11,10,9,8,7,6,5,4,3,2,1,0,A5,A4}; //Column pins
- int layer[4]={A3,A2,A1,A0}; //Layer pins
- void setup() {
- for(int I = 0; I < 16; I++)
- {
- pinMode(column[I], OUTPUT);
- }
- for(int I = 0; I < 4; I++)
- {
- pinMode(layer[I], OUTPUT);
- }
- randomSeed(analogRead(10));
- }
- void turnOffEverything() {
- for(int I = 0; I < 16; I++) {
- digitalWrite(column[I],1);
- }
- for(int I = 0; I < 4; I++) {
- digitalWrite(layer[I], 0);
- }
- }
- void turnOnEverything() {
- for(int I = 0; I < 16; I++) {
- digitalWrite(column[I], 0);
- }
- for(int I = 0; I < 4; I++) {
- digitalWrite(layer[I], 1);
- }
- }
- void randomLed() {
- turnOffEverything();
- int x = 10;
- for(int I = 0; I != 750; I+=2) {
- int randomLayer = random(0,4);
- int randomColumn = random(0,16);
- digitalWrite(layer[randomLayer], 1);
- digitalWrite(column[randomColumn], 0);
- delay(x);
- digitalWrite(layer[randomLayer], 0);
- digitalWrite(column[randomColumn], 1);
- delay(x);
- }
- }
- void swipeOnOff() {
- turnOnEverything();
- int x = 50;
- for(int I = 0; I < 6; I++) {
- for(int I = 0; I < 16; I++) {
- digitalWrite(column[I], 1);
- delay(x);
- }
- for(int I = 0; I < 16; I++) {
- digitalWrite(column[I], 0);
- delay(x);
- }
- for(int I = 0; I < 16; I++) {
- digitalWrite(column[I], 1);
- delay(x);
- }
- for(int I = 0; I < 16; I++) {
- digitalWrite(column[I], 0);
- delay(x);
- }
- }
- }
- void stairs() {
- turnOffEverything();
- int x = 100;
- int dir = 0;
- while(x < 105) {
- digitalWrite(layer[0], 1);
- digitalWrite(column[0], 0);
- digitalWrite(column[4], 0);
- digitalWrite(column[8], 0);
- digitalWrite(column[12], 0);
- delay(x);
- digitalWrite(layer[1], 1);
- digitalWrite(column[1], 0);
- digitalWrite(column[5], 0);
- digitalWrite(column[9], 0);
- digitalWrite(column[13], 0);
- delay(x);
- digitalWrite(layer[2], 1);
- digitalWrite(column[2], 0);
- digitalWrite(column[6], 0);
- digitalWrite(column[10], 0);
- digitalWrite(column[14], 0);
- delay(x);
- digitalWrite(layer[3], 1);
- digitalWrite(column[3], 0);
- digitalWrite(column[7], 0);
- digitalWrite(column[11], 0);
- digitalWrite(column[15], 0);
- delay(x);
- digitalWrite(layer[0], 0);
- digitalWrite(column[0], 1);
- digitalWrite(column[4], 1);
- digitalWrite(column[8], 1);
- digitalWrite(column[12], 1);
- delay(x);
- digitalWrite(layer[1], 0);
- digitalWrite(column[1], 1);
- digitalWrite(column[5], 1);
- digitalWrite(column[9], 1);
- digitalWrite(column[13], 1);
- delay(x);
- digitalWrite(layer[2],0);
- digitalWrite(column[2], 1);
- digitalWrite(column[6], 1);
- digitalWrite(column[10], 1);
- digitalWrite(column[14], 1);
- delay(x);
- digitalWrite(layer[3], 0);
- digitalWrite(column[3], 1);
- digitalWrite(column[7], 1);
- digitalWrite(column[11], 1);
- digitalWrite(column[15], 1);
- delay(x);
- digitalWrite(layer[3], 1);
- digitalWrite(column[3], 0);
- digitalWrite(column[7], 0);
- digitalWrite(column[11], 0);
- digitalWrite(column[15], 0);
- delay(x);
- digitalWrite(layer[2], 1);
- digitalWrite(column[2], 0);
- digitalWrite(column[6], 0);
- digitalWrite(column[10], 0);
- digitalWrite(column[14], 0);
- delay(x);
- digitalWrite(layer[1], 1);
- digitalWrite(column[1], 0);
- digitalWrite(column[5], 0);
- digitalWrite(column[9], 0);
- digitalWrite(column[13], 0);
- delay(x);
- digitalWrite(layer[0], 1);
- digitalWrite(column[0], 0);
- digitalWrite(column[4], 0);
- digitalWrite(column[8], 0);
- digitalWrite(column[12], 0);
- delay(x);
- digitalWrite(layer[3], 0);
- digitalWrite(column[3], 1);
- digitalWrite(column[7], 1);
- digitalWrite(column[11], 1);
- digitalWrite(column[15], 1);
- delay(x);
- digitalWrite(layer[2],0);
- digitalWrite(column[2], 1);
- digitalWrite(column[6], 1);
- digitalWrite(column[10], 1);
- digitalWrite(column[14], 1);
- delay(x);
- digitalWrite(layer[1],0);
- digitalWrite(column[1], 1);
- digitalWrite(column[5], 1);
- digitalWrite(column[9], 1);
- digitalWrite(column[13], 1);
- delay(x);
- digitalWrite(layer[0], 0);
- digitalWrite(column[0], 1);
- digitalWrite(column[4], 1);
- digitalWrite(column[8], 1);
- digitalWrite(column[12], 1);
- delay(x);
- if(x < 5) {
- dir = 1;
- }
- if(dir == 0) {
- x-=5;
- } else {
- x+=5;
- }
- }
- }
- void loop() {
- //randomLed();
- //swipeOnOff();
- stairs();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement