Guest User

Untitled

a guest
Oct 16th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. //**************************************************************//
  2. // Name : shiftOutCode, Hello World
  3. // Author : Carlyn Maw,Tom Igoe, David A. Mellis
  4. // Date : 25 Oct, 2006
  5. // Modified: 23 Mar 2010
  6. // Version : 2.0
  7. // Notes : Code for using a 74HC595 Shift Register //
  8. // : to count from 0 to 255
  9. //****************************************************************
  10. //adapted by Sam Prestwood, 03 Jun 2012
  11.  
  12. //Pin connected to ST_CP (12) of 74HC595
  13. int latchPin1 = 12, latchPin2 = 9;
  14. //Pin connected to SH_CP (11) of 74HC595
  15. int clockPin1 = 11, clockPin2 = 8;
  16. ////Pin connected to DS (14) of 74HC595
  17. int dataPin1 = 13, dataPin2 = 10;
  18. int timeDelay = 500;
  19.  
  20. /*
  21. Shift Register 1:
  22. 1: col4, red, 2
  23. 2: col4, green, 4
  24. 3: col4, blue, 8
  25. 4: col3, red, 16
  26. 5: col3, green, 32
  27. 6: col3, blue, 64
  28. 7: col2, red, 128
  29. 8: row4, gnd, 256
  30.  
  31. Shift Register 2:
  32. 1: col2, green, 2
  33. 2: col2, blue, 4
  34. 3: col1, red, 8
  35. 4: col1, green, 16
  36. 5: col1, blue, 32
  37. 6: row2, gnd, 64
  38. 7: row1, gnd, 128
  39. 8: row3, gnd, 256
  40. */
  41. int allRed1 = 2+16+128, allRed2 = 8;
  42. int allGreen1 = 4+32, allGreen2 = 2+16;
  43. int allBlue1 = 8+64, allBlue2 = 4+32;
  44.  
  45.  
  46. void setup() {
  47. pinMode(latchPin1, OUTPUT);
  48. pinMode(clockPin1, OUTPUT);
  49. pinMode(dataPin1, OUTPUT);
  50. pinMode(latchPin2, OUTPUT);
  51. pinMode(clockPin2, OUTPUT);
  52. pinMode(dataPin2, OUTPUT);
  53. }
  54.  
  55. void loop() {
  56.  
  57. //first shift register:
  58. digitalWrite(latchPin1, LOW);
  59. shiftOut(dataPin1, clockPin1, MSBFIRST, allRed1);
  60. digitalWrite(latchPin1, HIGH);
  61. //second shift register:
  62. digitalWrite(latchPin2, LOW);
  63. shiftOut(dataPin2, clockPin2, MSBFIRST, allRed2);
  64. digitalWrite(latchPin2, HIGH);
  65. delay(timeDelay);
  66. //first shift register:
  67. digitalWrite(latchPin1, LOW);
  68. shiftOut(dataPin1, clockPin1, MSBFIRST, 255);
  69. digitalWrite(latchPin1, HIGH);
  70. //second shift register:
  71. digitalWrite(latchPin2, LOW);
  72. shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
  73. digitalWrite(latchPin2, HIGH);
  74. delay(timeDelay);
  75.  
  76. //first shift register:
  77. digitalWrite(latchPin1, LOW);
  78. shiftOut(dataPin1, clockPin1, MSBFIRST, allBlue1);
  79. digitalWrite(latchPin1, HIGH);
  80. //second shift register:
  81. digitalWrite(latchPin2, LOW);
  82. shiftOut(dataPin2, clockPin2, MSBFIRST, allBlue2);
  83. digitalWrite(latchPin2, HIGH);
  84. delay(timeDelay);
  85. //first shift register:
  86. digitalWrite(latchPin1, LOW);
  87. shiftOut(dataPin1, clockPin1, MSBFIRST, 255);
  88. digitalWrite(latchPin1, HIGH);
  89. //second shift register:
  90. digitalWrite(latchPin2, LOW);
  91. shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
  92. digitalWrite(latchPin2, HIGH);
  93. delay(timeDelay);
  94.  
  95. //first shift register:
  96. digitalWrite(latchPin1, LOW);
  97. shiftOut(dataPin1, clockPin1, MSBFIRST, allGreen1);
  98. digitalWrite(latchPin1, HIGH);
  99. //second shift register:
  100. digitalWrite(latchPin2, LOW);
  101. shiftOut(dataPin2, clockPin2, MSBFIRST, allGreen2);
  102. digitalWrite(latchPin2, HIGH);
  103. delay(timeDelay);
  104. //first shift register:
  105. digitalWrite(latchPin1, LOW);
  106. shiftOut(dataPin1, clockPin1, MSBFIRST, 255);
  107. digitalWrite(latchPin1, HIGH);
  108. //second shift register:
  109. digitalWrite(latchPin2, LOW);
  110. shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
  111. digitalWrite(latchPin2, HIGH);
  112. delay(timeDelay);
  113.  
  114. }
Add Comment
Please, Sign In to add comment