SENSOR DE ULTRASONIDO EN ARDUINO

SENSOR DE ULTRASONIDOS EN ARDUINO





¿QUÉ ES UN SENSOR DE ULTRASONIDOS?

 Este sensor de ultrasonidos es un dispositivo que nos permite medir distancias aproximadas.
Su funcionamiento básicamente se basa en el envio de un pulso de alta frecuencia el cual el ser humano no puede llegar a reconocerlo, no es audible para nosotros. Esta frecuencia alta rebota en objetos que se encuentran cerca y así el sensor lo refleja, ya que posee un microfono adecuado para esta frecuencia. 

Se mide el tiempo entre los pulsos así nos permite conocer la velocidad del sonido y se puede llegar a estimar la distancia que hay entre el objeto contra la superficie que fue impactada por el impulso de ultrasonidos




¿CÓMO FUNCIONA UN SENSOR DE ULTRASONIDOS?

El sensor se basa en medir el tiempo entre el envio y la recepción de un pulso sonoro.

La velocidad del sonido es 343m/s en condiciones de temperatura 20 ºC,  50% de humedad, presión atmosférica a nivel del mar:

343 \frac{m}{s} \cdot{} 100 \frac{cm}{m} \cdot{} \frac{1}{1000000} \frac{s}{\mu s} = \frac{1}{29.2} \frac{cm}{\mu s}


El sonido tarda 29,2 microsegundos en recorrer un centrimetro.

Distancia(cm)= \frac {Tiempo(\mu s)}{29.2 \cdot 2}

sensor-ultrasonico-explicacion








MONTAJE DEL SENSOR ULTRASONIDO CON PROTOBOARD



arduino-ultrasonidos-montaje








CÓDIGO


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const int EchoPin = 5;
const int TriggerPin = 6;
void setup() {
   Serial.begin(9600);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}
void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia: ");
   Serial.println(cm);
   delay(1000);
}
int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
   
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
   
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
   
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}

#include <NewPing.h>
const int UltrasonicPin = 5;
const int MaxDistance = 200;
NewPing sonar(UltrasonicPin, UltrasonicPin, MaxDistance);
void setup() {
  Serial.begin(9600);
}
void loop() {
  delay(50);                      // esperar 50ms entre pings (29ms como minimo)
  Serial.print(sonar.ping_cm()); // obtener el valor en cm (0 = fuera de rango)
  Serial.println("cm");
}


Luego de terminar el codigo procedemos a verificar las distancias aproximadas que arroja el sensor se ultrasonido y puede notarse que cuando esta abajo su distancia disminuye, cuando se encuentra arriba su distancia aumenta y cuando se encuentra quieto y se tapa con los dedos su distancia es de 0cm. 
















S.O.S CODIGO MORSE "J" EN ARDUINO 






JENNIFER TATIANA LÓPEZ CONTRERAS
11-1
































Comentarios