medir distancia con sensor ultrsonico usando arduino  simulado en proteus

medir distancia con sensor ultrsonico usando arduino simulado en proteus

Escrito Por: admin Publicado En: Arduino Fecha de Creación: 2016-08-09 visitas: 665

Sensor de distancia con sensor ultrasónico.

Objetivo:   

Medir distancia usando un sensor ultrasónico

Que muestra la distancia en una lcd usando Arduino.

 

Material:

  • Sensor ultrasónico
  • Tarjeta Arduino
  • LCD

 

Desarrollo:


Un sensor ultrasónico está formado por membranas acústicas una que funciona como emisora y otra como receptora,  el principio de funcionamiento es simple, se debe medir el tiempo que tarda en ir y regresar de una onda sonara al reflejar con objeto a cual se quiere medir la distancia.  Con un microcontrolador arduino  esto se hace fácilmente activando para que emisor mande un pulso de sonido y midiendo el tiempo que llega al receptor. 

La fórmula para calcular la distancia es sencilla

d = (V) *( T /2)  

Donde V = 343 m/s   es la velocidad del sonido y T/2 es la mitad del tiempo que tarda en ir regresar.

 

El tiempo es del orden cm y el tiempo del orden de us, entoces todo se pone en esas unidades

 

d = (1/29 cm/s )   /2 * T(us) 

 

d = 1/29 /2   * T     ( cm) 

 

Software

Librerías:

Libreria de sensor ultrasonico para proteus 

 

https://mega.nz/#!CRoVmCJJ!qOp7ZWdw3VSS1iQMGfbaA7hfyb0S4oqdXULfWAbNCyk

 

Código

const int pingPin = 7;
const int echoPin = 6;

void setup()
{

Serial.begin(9600);

}

void loop()
{
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();

delay(100);
}

long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}

Diagrama

 

Archivos

https://mega.nz/#!awRXgDbC