Advertisement
kaitiness

Using 2 Shift Registers

Jun 25th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. /*Kaiti Ness
  2. * 6/22/17
  3. * Using 2 Shift Registers
  4. */
  5.  
  6.  
  7. const int SER = 8;
  8. const int LATCH = 9;
  9. const int CLK = 10;
  10. int lights[9] = {0, 1, 2, 4, 8, 16, 32, 64, 128};
  11. int bar[17] = {0, 1, 3, 7, 15, 31, 63, 127, 255, 127, 63, 31, 15, 7, 3, 1, 0};
  12.  
  13.  
  14. void setup()
  15. {
  16. pinMode(SER, OUTPUT);
  17. pinMode(LATCH, OUTPUT);
  18. pinMode(CLK, OUTPUT);
  19.  
  20. digitalWrite(LATCH, LOW);
  21. shiftOut(SER, CLK, MSBFIRST, B00000001); //1 light of each shift register is on
  22. shiftOut(SER, CLK, MSBFIRST, B00000001);
  23. digitalWrite(LATCH, HIGH);
  24. delay(1000);
  25. lightUp(B00000001, B00000001);
  26. delay(1000);
  27. }
  28.  
  29. void loop()
  30. {
  31.  
  32. for (int i= 0; i < 9; i++)
  33. {
  34. digitalWrite(LATCH, LOW);
  35. shiftOut(SER, CLK, MSBFIRST, lights[i]);
  36. digitalWrite(LATCH, HIGH);
  37. delay(100);
  38. }
  39.  
  40. for (int j= 0; j < 17; j++)
  41. {
  42. digitalWrite(LATCH, LOW);
  43. shiftOut(SER, CLK, MSBFIRST, bar[j]);
  44. digitalWrite(LATCH, HIGH);
  45. delay(100);
  46. }
  47.  
  48.  
  49.  
  50. for(int i=0; i<8; i++)
  51. {
  52. lightUp(
  53. }
  54.  
  55.  
  56.  
  57. for (int i=0; i<9; i++)
  58. {
  59. digitalWrite(LATCH, LOW);
  60. shiftOut(SER, CLK, MSBFIRST, lights[i]);
  61. shiftOut(SER, CLK, MSBFIRST, B00000000);
  62. digitalWrite(LATCH, HIGH);
  63. delay(100);
  64. }
  65.  
  66. void lightUp(int byte1, int byte2)
  67. {
  68. digitalWrite(LATCH, LOW);
  69. shiftOut(SER, CLK, MSBFIRST, byte1);
  70. shiftOut(SER, CLK, MSBFIRST, byte2);
  71. digitalWrite(LATCH, HIGH);
  72. }
  73.  
  74.  
  75.  
  76.  
  77. }
  78. //didn't get the whole code that Oliver showed us
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement