#define echoPin 7 #define trigPin 8 int IN1 = 10; //IRA CONECTADO EL MOTOR A int IN2 = 11; //IRA CONECTADO EL MOTOR A int IN3 = 9; //IRA CONECTADO EL MOTOR B int IN4 = 6; //IRA CONECTADO EL MOTOR B int pwma; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pwma = 90; //Valor de voltaje inyectado para control de velocidad delay(2000); } void loop() { int distancia, duracion; digitalWrite(trigPin, HIGH); delay(200); digitalWrite(trigPin, LOW); duracion = pulseIn(echoPin, HIGH); distancia = (duracion / 2) / 29.1; if (distancia > 15) { //Avanzamos analogWrite(IN1, pwma); analogWrite(IN2, 0); analogWrite(IN3, pwma); analogWrite(IN4, 0); } else { //Avanzamos hacia atras y despues giramos analogWrite(IN1, 0); analogWrite(IN2, pwma); analogWrite(IN3, 0); analogWrite(IN4, pwma); delay(500); analogWrite(IN1, 0); analogWrite(IN2, pwma + 30); analogWrite(IN3, pwma + 30); analogWrite(IN4, 0); delay(500); //Se encontro obstaculo } }