Advertisement
Guest User

arduino car

a guest
Sep 20th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1.  
  2. int Startknop = 2;
  3. int start = 0;
  4. int draaital = 0;
  5.  
  6. int MotorL1 = 11;
  7. int MotorL2 = 10;
  8.  
  9. int MotorR1 = 6;
  10. int MotorR2 = 5;
  11.  
  12. int SoundL = 13;
  13. int ListenL = 12;
  14.  
  15. int SoundM = 8;
  16. int ListenM = 7;
  17.  
  18. int SoundR = 4;
  19. int ListenR = 3;
  20.  
  21. float distance;
  22. float duration;
  23.  
  24. void setup() {
  25. // Biggest setup in your life
  26. pinMode (MotorL1, OUTPUT);
  27. pinMode (MotorL2, OUTPUT);
  28. pinMode (MotorR1, OUTPUT);
  29. pinMode (MotorR2, OUTPUT);
  30. pinMode (SoundL, OUTPUT);
  31. pinMode (SoundM, OUTPUT);
  32. pinMode (SoundR, OUTPUT);
  33. pinMode (ListenL, INPUT);
  34. pinMode (ListenM, INPUT);
  35. pinMode (ListenR, INPUT);
  36. pinMode (Startknop, INPUT_PULLUP);
  37.  
  38.  
  39. }
  40.  
  41. void loop() {
  42.  
  43. analogWrite(MotorL1, 255);
  44. analogWrite(MotorR1, 255);
  45.  
  46. while (draaital < 2) {
  47.  
  48.  
  49. //rechts checken.
  50. digitalWrite(SoundR, HIGH);
  51. delay(200);
  52. digitalWrite(SoundR, LOW);
  53. duration = pulseIn(ListenR, HIGH);
  54. distance = (duration / 2) / 29.1;
  55.  
  56. if (distance < 40) { // afstand van muur naar robot
  57. analogWrite(MotorL1, 200);
  58. delay(500);
  59. analogWrite(MotorL1, 255);
  60. }
  61.  
  62. //links checken.
  63. digitalWrite(SoundL, HIGH);
  64. delay(200);
  65. digitalWrite(SoundL, LOW);
  66. duration = pulseIn(ListenL, HIGH);
  67. distance = (duration / 2) / 29.1;
  68.  
  69. if (distance < 40) { // afstand van muur naar robot
  70. analogWrite(MotorR1, 200);
  71. delay(750);
  72. analogWrite(MotorR1, 255);
  73. }
  74.  
  75.  
  76. //Voorkant checken.
  77. digitalWrite(SoundM, HIGH);
  78. delay(200);
  79. digitalWrite(SoundM, LOW);
  80. duration = pulseIn(ListenM, HIGH);
  81. distance = (duration / 2) / 29.1;
  82.  
  83. if (distance < 20) { // afstand van muur naar robot
  84. analogWrite(MotorR1, 0);
  85. analogWrite(MotorL1, 0);
  86. delay(500); //stoptijd
  87. analogWrite(MotorR2, 80);
  88. analogWrite(MotorL2, 80);
  89. delay(500); //achteruit rij tijd
  90. analogWrite(MotorR2, 0);
  91. analogWrite(MotorL2, 0);
  92. delay(300); //tijd voordat hij draait na het achteruitrijden.
  93. analogWrite(MotorR1, 80);
  94. analogWrite(MotorL2, 80);
  95. delay(700); //draai tijd
  96. analogWrite(MotorR1, 0);
  97. analogWrite(MotorL2, 0);
  98. delay(300); //tijd voordat hij weer gaat rijden na het draaien
  99. analogWrite(MotorR1, 255);
  100. analogWrite(MotorL1, 255);
  101. draaital++;
  102. }
  103. }
  104. analogWrite(MotorL1, 0);
  105. analogWrite(MotorR1, 0); draaital = 0;
  106. do {
  107. start = digitalRead(Startknop);
  108. }
  109. while (!start);
  110.  
  111.  
  112.  
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement