SEIS

Proyecto Final:



Figura 1.





Código:

const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor
const int Echo = 3;   //Pin digital 3 para el Echo del sensor

int motor1a=13;
int motor1b=12;

int motor1c=11;
int motor1d=10;

int motor2a=9;
int motor2b=8;

int motor2c=7;
int motor2d=6;

void setup() {
  Serial.begin(9600);//iniciailzamos la comunicación
  pinMode(Trigger, OUTPUT); //pin como salida
  pinMode(Echo, INPUT);  //pin como entrada
  digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
   pinMode(motor1a,OUTPUT);
   pinMode(motor1b,OUTPUT);
   pinMode(motor1c,OUTPUT);
   pinMode(motor1d,OUTPUT);
   pinMode(motor2a,OUTPUT);
   pinMode(motor2b,OUTPUT);
   pinMode(motor2c,OUTPUT);
   pinMode(motor2d,OUTPUT);


}

void loop()
{

  long t; //timepo que demora en llegar el eco
  long d; //distancia en centimetros

  digitalWrite(Trigger, HIGH);
  delayMicroseconds(10);          //Enviamos un pulso de 10us
  digitalWrite(Trigger, LOW);

  t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
  d = t/59;             //escalamos el tiempo a una distancia en cm

  Serial.print("Distancia: ");
  Serial.print(d);      //Enviamos serialmente el valor de la distancia
  Serial.print("cm");
  Serial.println();
  delay(100);          //Hacemos una pausa de 100ms

  if(d>60){
    digitalWrite(motor1a,HIGH);
    digitalWrite(motor1b,LOW);
   
    digitalWrite(motor1c,HIGH);
    digitalWrite(motor1d,LOW);
 
    digitalWrite(motor2a,LOW);
    digitalWrite(motor2b,HIGH);
   
    digitalWrite(motor2c,LOW);
    digitalWrite(motor2d,HIGH);
    delay(50);
   
  }

  if(d<60 ){
    digitalWrite(motor1a,LOW);
    digitalWrite(motor1b,LOW);
   
    digitalWrite(motor1c,LOW);
    digitalWrite(motor1d,LOW);
 
    digitalWrite(motor2a,LOW);
    digitalWrite(motor2b,LOW);
   
    digitalWrite(motor2c,LOW);
    digitalWrite(motor2d,LOW);
    delay(500);
 
     digitalWrite(motor1a,LOW);
    digitalWrite(motor1b,HIGH);
   
    digitalWrite(motor1c,LOW);
    digitalWrite(motor1d,HIGH);
 
    digitalWrite(motor2a,HIGH);
    digitalWrite(motor2b,LOW);
   
    digitalWrite(motor2c,HIGH);
    digitalWrite(motor2d,LOW);
    delay(50);
 
    digitalWrite(motor1a,LOW);
    digitalWrite(motor1b,HIGH);
   
    digitalWrite(motor1c,LOW);
    digitalWrite(motor1d,HIGH);
 
    digitalWrite(motor2a,LOW);
    digitalWrite(motor2b,HIGH);
   
    digitalWrite(motor2c,LOW);
    digitalWrite(motor2d,HIGH);
    delay(50);
         
  }



}