Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. const byte av_ga_pin = 2 ;
  2. const byte ar_ga_pin = 1 ;
  3. const byte av_dr_pin = 3 ;
  4. const byte ar_dr_pin = 4 ;
  5. const byte pwm_ga_pin = 9 ;
  6. const byte pwm_dr_pin = 10 ;
  7. const byte trig_pin = 11 ;
  8. const byte echo_pin = 12 ;
  9. const long TIMEOUT = 25000UL;
  10. const float son = 340.0 / 1000 ;
  11. int distance = 0 ;
  12.  
  13. void setup() {
  14. pinMode (av_ga_pin, OUTPUT) ;
  15. pinMode (ar_ga_pin, OUTPUT) ;
  16. pinMode (av_dr_pin, OUTPUT) ;
  17. pinMode (ar_dr_pin, OUTPUT) ;
  18. pinMode (pwm_ga_pin, OUTPUT) ;
  19. pinMode (pwm_dr_pin, OUTPUT) ;
  20. pinMode(trig_pin, OUTPUT) ;
  21. pinMode(echo_pin, INPUT) ;
  22. analogWrite (pwm_ga_pin, 0) ;
  23. analogWrite (pwm_dr_pin, 0) ;
  24. Serial.begin(9600);
  25.  
  26. }
  27.  
  28. void loop() {
  29. distance = mesurer();
  30. Serial.println(distance);
  31.  
  32. avancer();
  33. }
  34.  
  35.  
  36.  
  37.  
  38. int mesurer(){
  39. int mesure = 0 ;
  40. float distance_mm_1 = 0 ;
  41. float distance_mm_2 = 0 ;
  42. float distance_mm_3 = 0 ;
  43. float distance_mm_m = 0 ;
  44. digitalWrite(trig_pin, HIGH) ;
  45. delayMicroseconds(10) ;
  46. digitalWrite(trig_pin, LOW) ;
  47. mesure = pulseIn(echo_pin, HIGH, TIMEOUT) ;
  48. distance_mm_1 = mesure / 2.0 * son ;
  49. delay (5);
  50. digitalWrite(trig_pin, HIGH) ;
  51. delayMicroseconds(10) ;
  52. digitalWrite(trig_pin, LOW) ;
  53. mesure = pulseIn(echo_pin, HIGH, TIMEOUT) ;
  54. distance_mm_2 = mesure / 2.0 * son ;
  55. delay (5);
  56. digitalWrite(trig_pin, HIGH) ;
  57. delayMicroseconds(10) ;
  58. digitalWrite(trig_pin, LOW) ;
  59. mesure = pulseIn(echo_pin, HIGH, TIMEOUT) ;
  60. distance_mm_3 = mesure / 2.0 * son ;
  61.  
  62.  
  63.  
  64. distance_mm_m = (distance_mm_1 + distance_mm_2 + distance_mm_3 ) / 3 ;
  65. return (distance_mm_m);
  66. }
  67.  
  68.  
  69. void avancer(){
  70. analogWrite (pwm_ga_pin, 255) ;
  71. analogWrite (pwm_dr_pin, 255) ;
  72. digitalWrite (av_ga_pin, HIGH) ;
  73. digitalWrite (ar_ga_pin, LOW) ;
  74. digitalWrite (av_dr_pin, HIGH) ;
  75. digitalWrite (ar_dr_pin, LOW) ;
  76. delay (100);
  77. arreter();
  78. }
  79.  
  80.  
  81. void reculer(){
  82. analogWrite (pwm_ga_pin, 220) ;
  83. analogWrite (pwm_dr_pin, 220) ;
  84. digitalWrite (av_ga_pin, LOW) ;
  85. digitalWrite (ar_ga_pin, HIGH) ;
  86. digitalWrite (av_dr_pin, LOW) ;
  87. digitalWrite (ar_dr_pin, HIGH) ;
  88. delay (250);
  89. arreter();
  90. delay (250);
  91.  
  92. }
  93. void tourner(){
  94.  
  95. analogWrite (pwm_ga_pin, 220) ;
  96. analogWrite (pwm_dr_pin, 220) ;
  97. digitalWrite (av_ga_pin, HIGH) ;
  98. digitalWrite (ar_ga_pin, LOW) ;
  99. digitalWrite (av_dr_pin, LOW) ;
  100. digitalWrite (ar_dr_pin, HIGH) ;
  101. delay (100);
  102. arreter();
  103. delay (50);
  104.  
  105. }
  106.  
  107. void arreter(){
  108. analogWrite (pwm_ga_pin, 0) ;
  109. analogWrite (pwm_dr_pin, 0) ;
  110. digitalWrite (av_ga_pin, LOW) ;
  111. digitalWrite (ar_ga_pin, LOW) ;
  112. digitalWrite (av_dr_pin, LOW) ;
  113. digitalWrite (ar_dr_pin, LOW) ;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement