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 }