Advertisement
seston

Solar panel sun tracker

Mar 13th, 2015
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.73 KB | None | 0 0
  1. int sensorPin0 = A0;
  2. int sensorValue0 = 0;
  3. int sensorPin1 = A1;
  4. int sensorValue1 = 0;
  5. int sensorPin2 = A2;
  6. int sensorValue2 = 0;
  7. int sensorPin3 = A3;
  8. int sensorValue3 = 0;
  9. int left = 0;
  10. int right = 0;
  11. int up = 0;
  12. int down = 0;
  13. int ledPin3 = 10;
  14. int ledPin4 = 11;
  15. int ledPin5 = 8;
  16. int ledPin6 = 9;
  17.  
  18.  
  19. void setup()
  20. {
  21. Serial.begin(9600);
  22. pinMode(ledPin3, OUTPUT);
  23. pinMode(ledPin4, OUTPUT);
  24. pinMode(ledPin5, OUTPUT);
  25. pinMode(ledPin6, OUTPUT);
  26. }
  27.  
  28. void loop() {
  29. ////////////////////////////////////////////////////// Set all relays low
  30. digitalWrite(ledPin3, HIGH);
  31. digitalWrite(ledPin4, HIGH);
  32. digitalWrite(ledPin5, HIGH);
  33. digitalWrite(ledPin6, HIGH);
  34.  
  35. ////////////////////////////////////////////////////// Read Orange Input
  36. sensorValue0 = analogRead(sensorPin0);
  37. delay(1000);
  38.  
  39. // Serial.print ("orange - sensor 0 = ");
  40. // Serial.println (sensorValue0);
  41.  
  42. /////////////////////////////////////////////////////// Read Yellow Input
  43. sensorValue1 = analogRead(sensorPin1);
  44. delay(1000);
  45.  
  46. // Serial.print ("yellow - sensor 1 = ");
  47. sensorValue1 = (sensorValue1 + 26); //////compensation for LDR, tweak as necessary
  48. // Serial.println (sensorValue1);
  49.  
  50. //////////////////////////////////////////////////////// Read Blue Input
  51. sensorValue2 = analogRead(sensorPin2);
  52. delay(1000);
  53.  
  54. // Serial.print ("blue - sensor 2 = "); //////compensation for LDR, tweak as necessary
  55. // Serial.println (sensorValue2);
  56.  
  57. //////////////////////////////////////////////////////// Read Green Input
  58. sensorValue3 = analogRead(sensorPin3);
  59. delay(1000);
  60.  
  61. sensorValue3 = (sensorValue3 + 25);
  62.  
  63. // Serial.print ("green - sensor 3 = "); //////compensation for LDR, tweak as necessary
  64. // Serial.println (sensorValue3);
  65.  
  66. // Serial.println ("");
  67.  
  68. ////////////////////////////////////////////////////////Move Left?
  69. left = (sensorValue1 - sensorValue3);
  70. // Serial.print ("left = ");
  71. // Serial.println (left);
  72.  
  73. if (left > 3) ///// 3 = threshold value. Lower number will cause more movements and increase twitching
  74. {
  75. // Serial.println ("Move Motor Left");
  76. digitalWrite(ledPin3, LOW);
  77. delay(75);
  78. digitalWrite(ledPin3, HIGH);
  79. }
  80.  
  81. delay(1000);
  82.  
  83. ////////////////////////////////////////////////////////Move Right?
  84. right = (sensorValue3 - sensorValue1);
  85. // Serial.print ("right = ");
  86. // Serial.println (right);
  87.  
  88. if (right > 3) ///// 3 = threshold value. Lower number will cause more movements and increase twitching
  89. {
  90. // Serial.println ("Move Motor Right");
  91. digitalWrite(ledPin4, LOW);
  92. delay(75);
  93. digitalWrite(ledPin4, HIGH);
  94. }
  95. delay(1000);
  96. ////////////////////////////////////////////////////////Move Up?
  97. up = (sensorValue0 - sensorValue2);
  98. // Serial.print ("up = ");
  99. // Serial.println (up);
  100.  
  101. if (up > 3) ///// 3 = threshold value. Lower number will cause more movements and increase twitching
  102. {
  103. // Serial.println ("Move Motor Up");
  104. digitalWrite(ledPin5, LOW);
  105. delay(500);
  106. digitalWrite(ledPin5, HIGH);
  107. }
  108. delay(1000);
  109. ////////////////////////////////////////////////////////Move Down?
  110. down = (sensorValue2 - sensorValue0);
  111. // Serial.print ("down = ");
  112. // Serial.println (down);
  113.  
  114. if (down > 3) ///// 3 = threshold value. Lower number will cause more movements and increase twitching
  115. {
  116. // Serial.println ("Move Motor Down");
  117. digitalWrite(ledPin6, LOW);
  118. delay(500);
  119. digitalWrite(ledPin6, HIGH);
  120. }
  121. delay(1000);
  122.  
  123.  
  124.  
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement