lunes, 23 de abril de 2018

codigo del coche esquivaobstaculos

const int EchoPin = 5;
const int TriggerPin = 6;

void setup() {
   Serial.begin(9600);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}

void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia: ");
   Serial.println(cm);
adelante();
if(cm<20){
izquierda();
}
}

int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
  
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
  
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
  
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}

void izquierda(){
  digitalWrite(8,LOW);
  delay(400);
    digitalWrite(9,LOW);
   delay(400);
    digitalWrite(10,LOW);
 delay(400);
    digitalWrite(11,LOW);
   delay(400                    
                                                           );
}
    void derecha(){
      digitalWrite(11,HIGH);
  
    digitalWrite(10,HIGH);

    digitalWrite(9,HIGH);

    digitalWrite(8,HIGH);
 
    }
    void adelante() {
     digitalWrite(8,LOW);

    digitalWrite(9,HIGH);
   
    digitalWrite(10,LOW);

    digitalWrite(11,HIGH);
   
    }
    void atras (){
    digitalWrite(11,LOW);
   
    digitalWrite(10,HIGH);
   
    digitalWrite(9,LOW);

    digitalWrite(8,HIGH);
   
    }

No hay comentarios:

Publicar un comentario