Advertisement
Guest User

Untitled

a guest
Oct 3rd, 2014
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.10 KB | None | 0 0
  1. void setup () {
  2. pinMode(9, OUTPUT); // LED1
  3. pinMode(8, OUTPUT); // LED2
  4. pinMode(6, OUTPUT); // LED3
  5. pinMode(12, OUTPUT); //LED4
  6. pinMode(1, OUTPUT); // LED5
  7. pinMode(0, OUTPUT); // LED6
  8.  
  9. pinMode(10,OUTPUT);// Motors 1
  10. pinMode(11,OUTPUT);// Motors 2
  11. pinMode(4,OUTPUT);// Direction 1
  12. pinMode(2,OUTPUT);// Direction 2
  13.  
  14. pinMode(5,INPUT);// Button 1
  15. digitalWrite(5,HIGH); // Button 1
  16. pinMode(13,INPUT);// Button 2
  17. digitalWrite(13,HIGH); // Button 2
  18.  
  19. #define led1ON digitalWrite(1,HIGH);
  20. #define led1OFF digitalWrite(1,LOW);
  21. #define led2ON digitalWrite(0,HIGH);
  22. #define led2OFF digitalWrite(0,LOW);
  23. #define led3ON digitalWrite(12,HIGH);
  24. #define led3OFF digitalWrite(12,LOW);
  25. #define led4ON digitalWrite(6,HIGH);
  26. #define led4OFF digitalWrite(6,LOW);
  27. #define led5ON digitalWrite(8,HIGH);
  28. #define led5OFF digitalWrite(8,LOW);
  29. #define led6ON digitalWrite(9,HIGH);
  30. #define led6OFF digitalWrite(9,LOW);
  31.  
  32. #define button1 !digitalRead(5)
  33. #define button2 !digitalRead(13)
  34.  
  35. #define sen1 analogRead(A5) >150
  36. #define sen2 analogRead(A4) >150
  37. #define sen3 analogRead(A3) >150
  38. #define sen4 analogRead(A2) >150
  39. #define sen5 analogRead(A1) >150
  40. #define sen6 analogRead(A0) >150
  41.  
  42.  
  43.  
  44. Serial.begin(9600);
  45. }
  46. void DriveForward (int leftS , int rightS) {
  47. analogWrite(10,abs(leftS-255));// Motors 1 (Kreisais)
  48. analogWrite(11,rightS);// Motors 2 (Labais)
  49. digitalWrite(2,HIGH); // Kreis� Motora Direction
  50. digitalWrite(4,LOW); }// Lab� Motora Direction
  51.  
  52. void DriveBackward (int leftS , int rightS) {
  53. analogWrite(10,leftS);// Motors 1 (Kreisais)
  54. analogWrite(11,abs(rightS-255));// Motors 2 (Labais)
  55. digitalWrite(2,LOW); // Kreis� Motora Direction
  56. digitalWrite(4,HIGH); }// Lab� Motora Direction
  57.  
  58. void DriveLeft (int leftS , int rightS) {
  59. analogWrite(10,leftS);// Motors 1 (Kreisais)
  60. analogWrite(11,rightS);// Motors 2 (Labais)
  61. digitalWrite(2,LOW); // Kreis� Motora Direction
  62. digitalWrite(4,LOW); }// Lab� Motora Direction
  63.  
  64. void DriveRight (int leftS , int rightS) {
  65. analogWrite(10,abs(leftS-255));// Motors 1 (Kreisais)
  66. analogWrite(11,abs(rightS-255));// Motors 2 (Labais)
  67. digitalWrite(2,HIGH); // Kreis� Motora Direction
  68. digitalWrite(4,HIGH); // Lab� Motora Direction
  69. }
  70.  
  71. int senstate = 0;
  72. int prevsenstate = 0;
  73.  
  74.  
  75. void loop(){
  76.  
  77. if(sen1){led1ON;}else{led1OFF;}
  78. if(sen2){led2ON;}else{led2OFF;}
  79. if(sen3){led3ON;}else{led3OFF;}
  80. if(sen4){led4ON;}else{led4OFF;}
  81. if(sen5){led5ON;}else{led5OFF;}
  82. if(sen6){led6ON;}else{led6OFF;}
  83.  
  84. if (button1){
  85. while(1){
  86. if(senstate != 1){prevsenstate = senstate;}
  87.  
  88. if(sen1){led1ON;}else{led1OFF;}
  89. if(sen2){led2ON;}else{led2OFF;}
  90. if(sen3){led3ON;}else{led3OFF;}
  91. if(sen4){led4ON;}else{led4OFF;}
  92. if(sen5){led5ON;}else{led5OFF;}
  93. if(sen6){led6ON;}else{led6OFF;}
  94.  
  95. if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 1;}
  96. if(sen1==1 && sen2==0 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 2;}
  97. if(sen1==0 && sen2==1 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 3;}
  98. if(sen1==0 && sen2==0 && sen3==1 && sen4==0 && sen5==0 && sen6==0){senstate = 4;}
  99. if(sen1==0 && sen2==0 && sen3==0 && sen4==1 && sen5==0 && sen6==0){senstate = 5;}
  100. if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==1 && sen6==0){senstate = 6;}
  101. if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==0 && sen6==1){senstate = 7;}
  102. if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==1 && sen6==1){senstate = 8;}
  103. if(sen1==0 && sen2==0 && sen3==0 && sen4==1 && sen5==1 && sen6==0){senstate = 9;}
  104. if(sen1==0 && sen2==0 && sen3==1 && sen4==1 && sen5==0 && sen6==0){senstate = 10;}
  105. if(sen1==0 && sen2==1 && sen3==1 && sen4==0 && sen5==0 && sen6==0){senstate = 11;}
  106. if(sen1==1 && sen2==1 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 12;}
  107. if(sen1==1 && sen2==1 && sen3==1 && sen4==1 && sen5==1 && sen6==1){senstate = 13;}
  108.  
  109.  
  110. switch(senstate){
  111.  
  112. case 1: DriveForward (230,230); // 000000
  113. break;
  114. case 2: DriveLeft (30,250); // 100000
  115. break;
  116. case 3: DriveLeft (20,250); // 010000
  117. break;
  118. case 4: DriveLeft (10,250); // 001000
  119. break;
  120. case 5: DriveRight (250,10); // 000100
  121. break;
  122. case 6: DriveRight (250,20); // 000010
  123. break;
  124. case 7: DriveRight (250,30); // 000001
  125. break;
  126. case 8: DriveRight (250,20); // 000011
  127. break;
  128. case 9: DriveRight (250,10); // 000110
  129. break;
  130. case 10: DriveForward (230,230); // 001100
  131. break;
  132. case 11: DriveLeft (20,250); // 011000
  133. break;
  134. case 12: DriveLeft(30,250); // 110000
  135. break;
  136. case 13: DriveForward(230,230); // 111111
  137. break;
  138.  
  139. if (button2){
  140.  
  141. if(sen1){led1ON;}else{led1OFF;}
  142. if(sen2){led2ON;}else{led2OFF;}
  143. if(sen3){led3ON;}else{led3OFF;}
  144. if(sen4){led4ON;}else{led4OFF;}
  145. if(sen5){led5ON;}else{led5OFF;}
  146. if(sen6){led6ON;}else{led6OFF;}
  147.  
  148. }
  149. }
  150. }
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement