Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.10 KB | None | 0 0
  1. //Sensores
  2. #define S1 A0
  3. #define S2 A1
  4. #define S3 A2
  5. #define trig 12
  6. #define echo 11
  7. //Motor
  8. #define H1 5
  9. #define H2 6
  10. #define H3 9
  11. #define H4 10
  12.  
  13. //void
  14. void trigPuls ();
  15.  
  16. //matriz
  17. int VS1 = 0;
  18. int VS2 = 0;
  19. int VS3 = 0;
  20. float pulse;
  21. float dist_cm;
  22.  
  23.  
  24.  
  25. void setup() {    
  26.   //
  27.   pinMode(S1, INPUT);
  28.   pinMode(S2, INPUT);
  29.   pinMode(S3, INPUT);  
  30.   pinMode(trig, OUTPUT);
  31.   pinMode(echo, INPUT);
  32.   //
  33.   pinMode(H1, OUTPUT);
  34.   pinMode(H2, OUTPUT);
  35.   pinMode(H3, OUTPUT);
  36.   pinMode(H4, OUTPUT);
  37.   //
  38.   Serial.begin(9600);
  39.   digitalWrite(trig, LOW);
  40. }
  41. void trigPuls()
  42. {
  43.   digitalWrite(trig, HIGH);
  44.   delayMicroseconds(10);
  45.   digitalWrite(trig, LOW);
  46. }
  47.  
  48. void loop()
  49. {
  50.   trigPuls();
  51.   pulse = pulseIn(echo, HIGH);
  52.   dist_cm = pulse/58.82;
  53.  
  54.   Serial.println(dist_cm);
  55.   delay(500);
  56.  
  57.   VS1 = analogRead(S1);
  58.   VS2 = analogRead(S2);
  59.   VS3 = analogRead(S3);
  60.   //000
  61.     if((VS1 > 500) && (VS2 > 500) && (VS3 > 500)){
  62.     analogWrite(H1, 255);
  63.     analogWrite(H4, 255);
  64.     analogWrite(H2, 0);
  65.     analogWrite(H3, 0);
  66.    
  67.     delay(500);
  68.    
  69.   }
  70.   //Reto 010
  71.   if((VS1 > 500) && (VS2 < 500) && (VS3 > 500)){
  72.     analogWrite(H1, 255);
  73.     analogWrite(H4, 255);
  74.     analogWrite(H2, 0);
  75.     analogWrite(H3, 0);
  76.     delay(500);
  77.   }
  78.   //Direita 011
  79.     if((VS1 > 500) && (VS2 < 500) && (VS3 < 500)){
  80.     analogWrite(H1, 255);
  81.     analogWrite(H4, 63);
  82.     analogWrite(H2, 0);
  83.     analogWrite(H3, 0);
  84.     delay(2000);
  85.   }
  86.   //Esquerda 110
  87.   if((VS1 < 500) && (VS2 < 500) && (VS3 > 500)){
  88.     analogWrite(H1, 0);
  89.     analogWrite(H4, 255);
  90.     analogWrite(H2, 0);
  91.     analogWrite(H3, 0);    
  92.     Serial.println("m");
  93.     delay(2000);
  94.   }
  95.   //Ajustar p/ esquerda 100  
  96.   if((VS1 < 500) && (VS2 > 500) && (VS3 > 500)){
  97.     analogWrite(H1, 63);
  98.     analogWrite(H4, 255);
  99.     analogWrite(H2, 0);
  100.     analogWrite(H3, 0);
  101.     delay(500);
  102.   }
  103.   //Ajustar p/ direita 001
  104.     if((VS1 > 500) && (VS2 > 500) && (VS3 < 500)){
  105.     analogWrite(H1, 255);
  106.     analogWrite(H4, 63);
  107.     analogWrite(H2, 0);
  108.     analogWrite(H3, 0);
  109.     delay(500);
  110.   }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement