Advertisement
RuiViana

Cubo8x8x8_Teste

Mar 13th, 2017
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1.    
  2.  
  3.     //Test an 8x8x8 LED cube
  4.      
  5.     int dataPin = 11;    
  6.     int latchPin = 10;
  7.     int clockPin = 13;
  8.  
  9.      
  10.     byte pinVals[8];
  11.      int zLayer = 0;
  12.      int xc = 0;
  13.      int yc = 0;
  14.      
  15.     void setup(){
  16.         //layer pins
  17.       for(int i = 2; i < 10; i++)
  18.       {
  19.         pinMode(i, OUTPUT);
  20.         digitalWrite(i, LOW);
  21.       }
  22.      
  23.       pinMode(latchPin, OUTPUT);
  24.       pinMode(clockPin, OUTPUT);
  25.       pinMode(dataPin, OUTPUT);
  26.      
  27.       digitalWrite(latchPin,LOW);
  28.       digitalWrite(dataPin,LOW);
  29.       digitalWrite(clockPin,LOW);
  30.      
  31.       bitSet(pinVals[0], 0);
  32.       digitalWrite(zLayer + 2, HIGH);
  33.     }
  34.      
  35.     void loop(){
  36.       digitalWrite(latchPin, LOW);
  37.       for(int i = 0; i < 8; i++){
  38.        shiftOut(dataPin, clockPin, MSBFIRST, pinVals[i]);
  39.       }
  40.       digitalWrite(latchPin, HIGH);
  41.      
  42.       //Increase for slower effect
  43.       delay(50);
  44.      
  45.       //Set the display bits
  46.       bitClear(pinVals[yc], xc);
  47.       xc++;
  48.       if(xc == 8){
  49.         xc = 0;
  50.         yc++;
  51.         if(yc == 8){
  52.           yc = 0;
  53.           //next z layer
  54.             digitalWrite(zLayer + 2, LOW);
  55.             zLayer++;
  56.             if(zLayer >= 8){
  57.               zLayer = 0;
  58.             }
  59.             digitalWrite(zLayer + 2, HIGH);
  60.         }
  61.       }
  62.       bitSet(pinVals[yc], xc);
  63.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement