El sensor de ultrasónico es un magnífico sensor capaz de alcanzar distancias entre 0 a 5 metros, pero ¿Como funciona este sensor?, el sensor envia un sonido fino y pequeño que el oido humano no puede recibir, al hacer un chique con un objeto, se regresa al sensor que a este fenomeno se le llama eco, cuando el emisor del sensor capta el sonido, solo mide la duración del 0 y tiempo que tardo el 1 (que es el sonid), al saber la catidad del tiempo y el número de ceros, el microcontrolador sabrá la distancia recorrida del sonido y el tiempo que tardo en regresar, a este paso se llama "Give up" que en español es rendición.

 

descargar el ping.

descargar el archivo.

 

Sensor de sonido de tres pines(){

Comunmente llamado ping, ya que el mismo pin de señal funciona para entrada y salida, tan solo se debe de tomar en cuenta los microsegundos que estará enviando y recibiendo la señal, ya que puede arruinar tanto el sensor como Arduino.

/*uso del sensor Ultrasonico PING con Arduino.

Creado por Art Banshee*/


unsigned long pulsos; // variable para medir el pulso.

float distancia;//calcularemos la distancia.

int salida = 8; // Donde enviará el sonido.


void setup(){Serial.begin(9600);}

void loop(){

  pinMode(salida,OUTPUT);//declaramos el 8 como salida.

  digitalWrite(salida,HIGH);//escribiremos un 1.

  delayMicroseconds(10);//esperaremos los microsegundos.

  digitalWrite(salida,LOW); // escribiremos un 0.

  pinMode(salida, INPUT);//lo declaramos como salida.

  

  /*Mediremos el ancho de pulso y de espera transmitida 

  del eco del sonido.*/

  pulsos = pulseIn(salida, HIGH);

  Serial.print("Tiempo = ");

  /*Lo transformamos el pulso en tiempo recibido*/

  Serial.print(float(pulsos/1000.0));

  Serial.print("ms, distancia = ");

  //transformamos el pulso en distancia.

  distancia = ((float(pulsos/1000.0))*34.32)/2;

  Serial.print(distancia);

  Serial.println("cm");

  delay(100);

}

  

Ultrasonido de 4 pines

Conocido como sensor HC-SR04, tiene la misma función del otro sensor, pero aquí ya no tienes por preocuparte el tiempo de transmision y emision de un solo pin, este posee los pines por separado, lo unico que te debes de preocupar es el tiempo que se transmitará y el emisor cuento tiempo debe esperar.

/*Sensor de ultrasonido HC-SR04.

Creado por Art Banshee*/


long distancia;

long tiempo;

int transmisor = 9;

int emisor = 8;

void setup(){ Serial.begin(9600);

pinMode(transmisor, OUTPUT);

pinMode(emisor, INPUT);

}


void loop(){

  digitalWrite(transmisor, LOW);

  delayMicroseconds(5);

  digitalWrite(transmisor, HIGH);

  delayMicroseconds(10);

  tiempo = pulseIn( emisor, HIGH);

  /*Lo que hará es, el transmisor estará apagado por 5 

  microsegundos, después enviará un sonido por 10

  microsegundos, cuando se hace el rebote del sonido,

  activará la entrada del emisor y ahí medirá la longitud

  del pulso.*/

  

  distancia = int(0.017*tiempo);

  // convertiremos el tiempo en distancia.

  Serial.print("Distancia = ");

  Serial.print(distancia);

  Serial.println("  cm");

  delay(100);

}

Saber el llenado de un tanque de agua

Para saber el llenado de un tanque de agua, solo se necisita saber la cantidad de litros que llevara y la resta de altura. Por ejemplo, si tenemos que el sensor ya mide distancia y tenemos un tanque de 30 cm, lo que el sensor enviará a Arduino la distancia en 30 cm, pero convertirlo a 2 litros, solo dividimos 30/15 para que marque su límite que será los 2 Lts.


Si tienen problemas con los litros está esta pequeña formula: 


                          distancia cm           30 cm

        LitrosCal  =  ------------      =  -------- = 15

                         Litros deseados        2 Litros

                                                                                           después:

                                                                                                                      distancia      30

                                                                                          Litros calculados =  ----------  = ---- = 2 Litros

                                                                                                                       litrosCal       15

       

Así con esta fórmula sabrán sacar el calculos para sus tanques, por ejemplo si mi tanque está a la mitad que son 15 cm, entonces 15/15 = 1 Litro, y si está a 1/4, 7.5/15 = 0.5 Litros(que son 500 mL).