Advertisement
Guest User

Untitled

a guest
Oct 14th, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. int datapin = 2;
  2. int clockpin = 3;
  3. int latchpin = 4;
  4.  
  5. uint16_t data = 0;
  6.  
  7. void setup()
  8. {
  9.   pinMode(datapin, OUTPUT);
  10.   pinMode(clockpin, OUTPUT);  
  11.   pinMode(latchpin, OUTPUT);
  12. }
  13.  
  14.  
  15. void loop()
  16. {
  17.   oneOnAtATime();       // Scroll down the line
  18. }
  19.  
  20.  
  21. void shiftWrite(int desiredPin, boolean desiredState)
  22. {
  23.   digitalWrite(latchpin, LOW);
  24.  
  25.   if(desiredState)
  26.     data |= (1<<desiredPin);
  27.   else
  28.     data &= ~(1<<desiredPin);
  29.  
  30.   shiftOut(datapin, clockpin, MSBFIRST, data>>8);
  31.   shiftOut(datapin, clockpin, MSBFIRST, data);
  32.  
  33.   digitalWrite(latchpin, HIGH);
  34. }
  35.  
  36.  
  37.  
  38. void oneOnAtATime()
  39. {
  40.   int i;
  41.   int delayTime = 1000;
  42.   int myArray[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
  43.   for(i=0; i<16; i++)
  44.   {
  45.     shiftWrite(myArray[i], HIGH);   // turn LED on
  46.     delay(delayTime);       // pause to slow down the sequence 
  47.     shiftWrite(myArray[i], LOW);// turn LED off
  48.   }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement