Descrición:

Funciona enviando un sinal de ultrasóns (frecuencias sonoras que os humanos non podemos detectar) e espera a que ese sinal regrese despois de chocar contra un obxecto. O tempo transcorrido entre o envío e a recepción do sinal depende da distancia á que se atopa o obxecto detectado.

Montaxe:

- VCC: conectado á 5V
- Trig: conectado ao pin dixital da placa encargado de enviar o pulso ultrasónico. Hai que configuralo como saída.
- Echo: conectado ao pin de entrada dixital que recibirá o eco de dito pulso. Hai que configuralo como entrada.
- GND: conectado a terra.
Práctica:
Imos facer unha práctica na que medimos distancias. Debemos conectar o trig ao pin 9 e configuralo como saída e o Echo ao pin 8 e configuralo como entrada.
Creamos dúas variables: tempo e distancia. No canto de usar int (enteiro de 16 bits) utilizaremos long, de 32 bits.
As seguintes instrucións van medir a distancia á que se atopa o ultrasónico.
tempo=pulseIn(echo, HIGH); Mide o tempo transcorrido entre o envío do pulso e a recepción do rebote
distancia= int(0.017*tempo); Fórmula para calcular la distancia obtendo un valor enteiro
// Declaración de variables:
int trig = 9; // trig conectado ao pin 9
int echo = 8; // echo conectado ao pin 8
long tempo; // variable para expresar o tempo
long distancia; // variable para expresar a distancia.
// Configuración:
void setup(){
Serial.begin(9600);
pinMode(trig, OUTPUT); // trig como saída
pinMode(echo, INPUT); // echo como entrada
}
// Programa:
void loop(){
digitalWrite(trig,LOW);
delayMicroseconds(5);
digitalWrite(trig, HIGH); // envío do pulso ultrasónico
delayMicroseconds(10);
tempo=pulseIn(echo, HIGH); // tempo transcorrido entre o envío do pulso e a recepción
distancia= int(0.017*tempo); // fórmula para calcular la distancia
Serial.print("Distancia: "); // imprimimos os valores na consola
Serial.print(distancia);
Serial.println(" cm");
delay(200);
}
Limitacións:
- Non ten moita precisión. As distancias verás que non se corresponderán coas reais, así que deberás facer probas de funcionamento.
- Non detecta obxectos de pequeno tamaño.
- O ángulo de visión é limitado (+/- 15º)
- A detección de obxectos planos soe ser eficaz, pero se os obxectos son curvos as medidas soen ser erróneas. Por exemplo, unha lata de refresco.
Propostas:
- Ultrasónico e LED. Fai que cando a distancia sexa menor que 5 cm se acenda un LED, e cando sexa maior de 5 cm se apague.
- Sinalización por Leds. Fai que a unha distancia maior de 15 cm se acenda un LED verde, entre 8 e 15 cm un LED amarelo, e a unha distancia menor de 8 cm un LED vermello.
- Axuda de aparcamento. Conecta un zumbador e fai que o zumbador emita sons cunha periodicidade proporcional á distancia medida (a menor distancia, tempo máis curto entre sons). Fai ademais que soe un ton máis agudo canto máis cerca estea.