Advertisement
iyera20

Two Shift Registers

Jun 23rd, 2017
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. /*
  2. * Atiriya Iyer
  3. * Shift Register
  4. */
  5.  
  6. const int SER= 8; //sends data
  7. const int LATCH=9; //activates register
  8. int CLK= 10; //clock
  9. unsigned int lights [8]= {1,2,4,8,16,32,64,128};
  10. int delaytime= 500;
  11. //, 64, 32,16,8,4,2};
  12. //,256,512, 1024, 2048, 4096,8192,16384, 32768, 16384,8192, 4096,2048, 1024, 512, 256, 128,
  13. int bar[15] = {0,1,3,7,15,31,63,127,255};
  14.  
  15. void setup()
  16. {
  17. // put your setup code here, to run once:
  18. pinMode (SER, OUTPUT);
  19. pinMode (LATCH, OUTPUT);
  20. pinMode (CLK, OUTPUT);
  21. digitalWrite (LATCH, LOW);
  22. shiftOut (SER, CLK, MSBFIRST, 0);
  23. digitalWrite (LATCH, HIGH);
  24.  
  25. }
  26. void loop()
  27. {
  28.  
  29. for (int i=0; i< 8; i++)
  30. {
  31. digitalWrite (LATCH, LOW);
  32. shiftOut (SER, CLK, MSBFIRST, 0);
  33. shiftOut (SER, CLK, MSBFIRST, lights[i]);
  34. digitalWrite (LATCH, HIGH);
  35. delay(delaytime);
  36. }
  37. for (int i=0; i< 8; i++)
  38. {
  39. digitalWrite (LATCH, LOW);
  40. shiftOut (SER, CLK, MSBFIRST, lights[i]);
  41. shiftOut (SER, CLK, MSBFIRST, 0);
  42. digitalWrite (LATCH, HIGH);
  43. delay(delaytime);
  44. }
  45.  
  46.  
  47. for (int i=6; i>=0; i--)
  48. {
  49. digitalWrite (LATCH, LOW);
  50. shiftOut (SER, CLK, MSBFIRST, lights[i]);
  51. shiftOut (SER, CLK, MSBFIRST, 0);
  52. digitalWrite (LATCH, HIGH);
  53. delay(delaytime);
  54. }
  55.  
  56. for (int i=7; i>0; i--)
  57. {
  58. digitalWrite (LATCH, LOW);
  59. shiftOut (SER, CLK, MSBFIRST, 0);
  60. shiftOut (SER, CLK, MSBFIRST, lights[i]);
  61. digitalWrite (LATCH, HIGH);
  62. delay(delaytime);
  63. }
  64.  
  65. for (int j=0; j< 9; j++)
  66. {
  67. digitalWrite (LATCH, LOW);
  68. shiftOut (SER, CLK, MSBFIRST, 0);
  69. shiftOut (SER, CLK, MSBFIRST, bar[j]);
  70. digitalWrite (LATCH, HIGH);
  71. delay(delaytime);
  72. }
  73.  
  74. for (int j=0; j< 9; j++)
  75. {
  76. digitalWrite (LATCH, LOW);
  77. shiftOut (SER, CLK, MSBFIRST, bar[j]);
  78. shiftOut (SER, CLK, MSBFIRST, 255);
  79. digitalWrite (LATCH, HIGH);
  80. delay(delaytime);
  81. }
  82.  
  83. for (int j=7; j>=0; j--)
  84. {
  85. digitalWrite (LATCH, LOW);
  86. shiftOut (SER, CLK, MSBFIRST, bar[j]);
  87. shiftOut (SER, CLK, MSBFIRST, 255);
  88. digitalWrite (LATCH, HIGH);
  89. delay(delaytime);
  90. }
  91.  
  92. for (int j=8; j>=0; j--)
  93. {
  94. digitalWrite (LATCH, LOW);
  95. shiftOut (SER, CLK, MSBFIRST, 0);
  96. shiftOut (SER, CLK, MSBFIRST, bar[j]);
  97. digitalWrite (LATCH, HIGH);
  98. delay(delaytime);
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement