Sensar con ultrasonido (Arduino)


/*

 * PROGRAMA PARA SENSAR DISTANCIA CON SENSOR DE ULTRASONIDO HC S04 CONECTADO EN EL PUERTO CON3 DEL LADRILLO R8 (PINES DIGITALES 2 Y 4)

 * AUTOR: Erik P. Meuer

 * www.misladrillos.com/ml/

 */

// DEFINIMOS ENTRADAS DIGITALES DEL SENSOR

int trig = 4; // 2 en R8sj

int echo = 2; //3 en R8sj

// DEFINIMOS LA VARIABLE PARA EL RESULTADO FINAL

int Dist_fin = 0 ;

// DEFINIMOS VARIABLE QUE CONTIENE EL RESULTADO DE LA MEDICION DEL SENSOR

int ultrasonido(int trigPin, int echoPin)

{

  long distancia;

  // CONFIGURAR PINES DE ENTRADA Y SALIDA

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  //EMITO Y RECIBO PULSO DE SONIDO

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(20);

  digitalWrite(trigPin, LOW);

  //LEO EL TIEMPO QUE DURO EL REBOTE DE SONIDO

  distancia = pulseIn(echoPin, HIGH);

 // LA VELOCIDAD DEL SONIDO ES DE 340 M/S O 29,5 MICROSEGUNDOS POR CENTIMETRO

  // DIVIDIMOS EL TIEMPO DEL PULSO ENTRE 59, TIEMPO QUE TARDA RECORRER IDA Y VUELTA UN CENTIMETRO LA ONDA SONORA

  distancia = distancia / 59;

  // CUANDO ESTA FUERA DEL RANGO QUE SOPORTA EL SENSOR(DE 2CM A 3M) DEVUELVE DISTANCIA =0

  if ((distancia < 2) || (distancia > 300)) return false;

  return distancia;

}

 

 

void setup()

{

 // APAGO LA SALIDA DIGITAL 

  digitalWrite( trig , LOW );

  digitalWrite( echo , LOW );

 // PREPARAR LA COMUNICACION SERIAL

  Serial.begin(9600);

 

}

 

void loop()

{

 

  // DEFINO LA DISTANCIA FINAL

  Dist_fin =   ultrasonido( trig , echo ) ;

  // ENVIAR EL RESULTADO AL MONITOR SERIAL

  Serial.print(«distancia»);

  Serial.print(» «);

  Serial.print(Dist_fin);

  Serial.print(» «);

  Serial.println();

  delay (500);

}
Categoría:

Información adicional

Plataforma

Arduino

Valoraciones

No hay valoraciones aún.

Sé el primero en valorar “Sensar con ultrasonido (Arduino)”

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *