Guest User

Untitled

a guest
Nov 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. const int decpin = 6;
  2.  
  3. int latchPin = 8;
  4. int clockPin = 12;
  5. int dataPin1 = 9;
  6. int dataPin2 = 11;
  7. byte data;
  8. byte dataArray[10];
  9. int X=0;
  10.  
  11. void setup()
  12. {
  13. pinMode(latchPin, OUTPUT);
  14. pinMode(decpin, INPUT);
  15. Serial.begin(9600);
  16. }
  17.  
  18. void loop() {
  19.  
  20. if(decpin>3.3)
  21. {
  22. dataArray[0] = 0x00;
  23. dataArray[1] = 0x00;
  24. dataArray[2] = 0x80;
  25. dataArray[3] = 0xC0;
  26. dataArray[4] = 0xE0;
  27. dataArray[5] = 0xF0;
  28. dataArray[6] = 0xF8;
  29. dataArray[7] = 0xFC;
  30. dataArray[8] = 0xFE;
  31. dataArray[9] = 0xFF;
  32. delay(500);
  33. for (int j = 0; j < 10; j++)
  34. {
  35. data = dataArray[j];
  36. digitalWrite(latchPin, 0);
  37. shiftOut(dataPin2, clockPin, data);
  38. shiftOut(dataPin1, X,X);
  39. digitalWrite(latchPin, 1);
  40. delay(100);
  41. }
  42. }
  43. else if(decpin<3.3)
  44. //LEFT
  45. {
  46. dataArray[0] = 0x00;
  47. dataArray[1] = 0x00;
  48. dataArray[2] = 0x01;
  49. dataArray[3] = 0x03;
  50. dataArray[4] = 0x07;
  51. dataArray[5] = 0x0F;
  52. dataArray[6] = 0x1F;
  53. dataArray[7] = 0x3F;
  54. dataArray[8] = 0x7F;
  55. dataArray[9] = 0xFF;
  56. delay(500);
  57. for (int K = 0; K < 10; K++)
  58. {
  59. data = dataArray[K];
  60. digitalWrite(latchPin, 0);
  61. shiftOut(dataPin1, clockPin, data);
  62. shiftOut(dataPin2, X,X);
  63. digitalWrite(latchPin, 1);
  64. delay(100);
  65. }
  66. }
  67. }
  68. void shiftOut(int myDataPin1, int myClockPin, byte myDataOut) {
  69. int i=0;
  70. int pinState;
  71. pinMode(myClockPin, OUTPUT);
  72. pinMode(myDataPin1, OUTPUT);
  73. digitalWrite(myDataPin1, 0);
  74. digitalWrite(myClockPin, 0);
  75.  
  76. for (i=8; i>=0; i--) {
  77. digitalWrite(myClockPin, 0);
  78. if ( myDataOut & (1<<i) ) {
  79. pinState= 1;
  80. }
  81. else {
  82. pinState= 0;
  83. }
  84. digitalWrite(myDataPin1, pinState);
  85. digitalWrite(myClockPin, 1);
  86. //digitalWrite(myDataPin1, 0);
  87. }
  88. digitalWrite(myClockPin, 0);
  89. }
Add Comment
Please, Sign In to add comment