Código para el Vehículo

Código para el Vehículo


int IN1 = 11;
int IN2 = 10;
int ENA = 5;
int IN3 = 9;
int IN4 = 8;
int ENB = 4;

int VELOCIDAD;

int TRIG = 12;
int ECHO = 13;
float DURACION;
float DISTANCIA;

void setup() {
  digitalWrite(IN1, OUTPUT);
  digitalWrite(IN2, OUTPUT);
  digitalWrite(ENA, OUTPUT);
  digitalWrite(IN3, OUTPUT);
  digitalWrite(IN4, OUTPUT);
  digitalWrite(ENB, OUTPUT);

  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  Serial.begin(9600);
}

void loop() {

  VELOCIDAD = 0;

  digitalWrite(TRIG, HIGH);
  delay(1);
  digitalWrite(TRIG, LOW);
  DURACION = pulseIn(ECHO, HIGH);
  DISTANCIA = DURACION / 58.2;
  Serial.println(DISTANCIA);
  delay(200);

  aAvance(VELOCIDAD);
  bAvance(VELOCIDAD);

  if(DISTANCIA < 30){

  aParar(VELOCIDAD);
  bParar(VELOCIDAD);
  delay(1000);

  digitalWrite(ENA, HIGH);
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);

  digitalWrite(ENB, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  delay(500);

  digitalWrite(ENA, HIGH);
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);

  digitalWrite(ENB, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  delay(200);
  }
}


void aAvance(int veloc){
  analogWrite(ENA, veloc);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
}

void bAvance(int veloc){
  analogWrite(ENB, veloc);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

void aParar(int veloc){
  digitalWrite(ENA, LOW);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
}

void bParar(int veloc){
  digitalWrite(ENB, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

Comentarios

Publicar un comentario