Introduction: Sensor De Proximidad Con Sonido

Este es un experimento sencillo con arduino, las conexiones son básicas (no utiliza resistencias) y el código se divide en dos partes, una para medir la distancia con los datos recopilados por un sensor ultrasónico y la segunda para generar sonidos según el dato de distancia obtenido.

Step 1: Materiales

- Arduino Uno (con su respectivo cable USB)

- Sensor de Ultrasonido HC-SR04

- Buzzer

- Cables/Jumpers (6 macho/hembra, 2 normales)

- Breadboard


Step 2: Conexiones

5V en el arduino ----> Al "+" en el "breadboard" (cable rojo)

GRD en el arduino ----> Al "-" en el "breadboard" (cale negro)

Sensor de Ultrasonido:

- Vcc ---> "+" en el breadboard

- Trg ---> Pin Digital 9 - Echo ---> Pin Digital 8

- Gnd ---> "-" en el breadboard

Buzzer:

- "+" al pin Digital 10

- "-" al "-" en el breadboard

Step 3: Código

/*Modificado de http://elcajondeardu.blogspot.com/2014/03/tutoria...

long distancia;
long tiempo;

int buzzerPin = 10;

void setup()

{

Serial.begin(9600);

pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/

pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/

pinMode(10, OUTPUT);

}

void loop()

{

digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/

delayMicroseconds(5);

digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/

delayMicroseconds(10);

tiempo=pulseIn(8, HIGH); /* recibe el pulso ultrasónico y calcula la duración de ida y vuelta del pulso*/

distancia= int(0.017*tiempo); /*fórmula para calcular la distancia, se genera de la velocidad del pulso ultrasónico en el aire, 0,034 cm/microseg*/

Serial.println("Distancia ");

Serial.println(distancia); //

Serial.println(" cm");

delay(1000);

/*El siguiente código utiliza el valor de distancia para activar el sonido del buzzer*/

if (distancia < 20)

{

tone(buzzerPin, 440);

delay(300/distancia);

noTone(buzzerPin); } // cierro if distancia

else

{

digitalWrite(buzzerPin, LOW);

delay(1000);

}// cierra else }