Advertisement
Guest User

Untitled

a guest
May 30th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #define MLF 2
  2. #define MLB 3
  3. #define MRF 5
  4. #define MRB 6
  5.  
  6. #define SL A6
  7. #define SR A7
  8. #define LED 13
  9.  
  10. void setup() {
  11. pinMode(MLF,OUTPUT);
  12. pinMode(MLB,OUTPUT);
  13. pinMode(MRF,OUTPUT);
  14. pinMode(MRB,OUTPUT);
  15.  
  16. /*pinMode(M1,OUTPUT);
  17. pinMode(M2,OUTPUT);
  18. pinMode(M3,OUTPUT);
  19. pinMode(M4,OUTPUT);
  20. pinMode(SL,INPUT);
  21. pinMode(SR,INPUT);
  22. Serial.begin(9600);
  23. sensorCalibrate();*/
  24. }
  25.  
  26. int lightest, darkest, i;
  27.  
  28. void loop() {
  29. //detectionAlgo();
  30. //delay(10);
  31. turnRight();
  32. delay(5000);
  33. turnLeft();
  34. delay(5000);
  35. }
  36.  
  37. void turnOff(){
  38. digitalWrite(MLF,LOW);
  39. digitalWrite(MLB,LOW);
  40. digitalWrite(MRF,LOW);
  41. digitalWrite(MRB,LOW);
  42. }
  43.  
  44. void turnRight(){
  45. turnOff();
  46. digitalWrite(MLF,HIGH);
  47. digitalWrite(MLB,LOW);
  48. digitalWrite(MRF,LOW);
  49. digitalWrite(MRB,HIGH);
  50. }
  51.  
  52. void turnLeft(){
  53. turnOff();
  54. digitalWrite(MLF,LOW);
  55. digitalWrite(MLB,HIGH);
  56. digitalWrite(MRF,HIGH);
  57. digitalWrite(MRB,LOW);
  58. }
  59.  
  60. void driveForward(){
  61. turnOff();
  62. digitalWrite(MLF,HIGH);
  63. digitalWrite(MLB,LOW);
  64. digitalWrite(MRF,HIGH);
  65. digitalWrite(MRB,LOW);
  66. }
  67.  
  68. void driveBack(){
  69. turnOff();
  70. digitalWrite(MLF,LOW);
  71. digitalWrite(MLB,HIGH);
  72. digitalWrite(MRF,LOW);
  73. digitalWrite(MRB,HIGH);
  74. }
  75.  
  76.  
  77. void sensorCalibrate(){
  78. int leftRead, rightRead;
  79. i=0;
  80. lightest=1024;
  81. darkest=0;
  82. while(i<100){
  83. leftRead = analogRead(SL);
  84. rightRead = analogRead(SR);
  85. if(leftRead > darkest)
  86. darkest = leftRead;
  87. if(rightRead > darkest)
  88. darkest = rightRead;
  89. if(leftRead < lightest)
  90. lightest = leftRead;
  91. if(rightRead < lightest)
  92. lightest = rightRead;
  93. if(i % 10 == 0)
  94. digitalWrite(LED,HIGH);
  95. if(i % 10 == 5)
  96. digitalWrite(LED,LOW);
  97. delay(50);
  98. i++;
  99. }
  100. digitalWrite(LED,LOW);
  101. }
  102.  
  103. bool blackLine(char sensor){
  104. if(analogRead(sensor) > 0.7 * darkest)
  105. return true;
  106. else
  107. return false;
  108. }
  109.  
  110. void detectionAlgo(){
  111. if(blackLine(SL) && blackLine(SR)){
  112. turnOff();
  113. digitalWrite(LED,HIGH);
  114. }
  115. else
  116. if(blackLine(SL))
  117. turnLeft();
  118. else
  119. if(blackLine(SR))
  120. turnRight();
  121. else
  122. driveForward();
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement