Página 1
ARDUINO ®
Proyecto de Aplicación
Nombre del Proyecto:
SENSOR DE APARCAMIENTO CON ARDUINO ®
1) Descripción del proyecto: PROYECTO SENSOR DE APARCAMIENTO
Página 2 EL PROYECTO PERMITIRÁ SENSAR LA APROXIMIDAD DE CUALQUIER OBJETO, EN CUANTO SE ACERQUE AL SENSOR ESTE ACCIONARA EL SONIDO. LA FRECUENCIA DE LA SEÑAL ACÚSTICA IRÁ EN AUMENTO A MEDIDA QUE SE REDUCE LA DISTANCIA CON EL OBJETO Y A UNA MÍNIMA DISTANCIA, LA SEÑAL ACÚSTICA ES CONTINUA. SI LA DISTANCIA AUMENTA, LA FRECUENCIA DE LA SEÑAL ACÚSTICA AUMENTARÁ HASTA UNA DISTANCIA MÁXIMA.
2) MATERIALES EMPLEADOS:
ITEM DESCRIPCIÓN CANTIDAD
1 Resistencias 10 kOhms 3
2 Cables macho-macho de distintos colores 10
3 Buser 1
4 Sensor HC-SR04 1
5 Placa ARDUINO UNO 1
3) MONTAJE Y CONECIONES DE ENTRADAS Y SALIDAS USEN (FRITZING) Y (PROTEUS)
Página 3
MATERIALES:
1-Placa Arduino
2- Sensor ultrasónico HC-SR04
Página 4 3- Buzzer
4-Protoboard
5- Jumpers (cables para las conexiones)
Página 5 La idea de un sensor de proximidad es que detecte a cierta distancia un objeto para tomar una decisión en consecuencia.
El sensor ultrasónico HC-SR04 funciona más o menos así:
Emite un pulso o ráfaga de ultrasonido y recibe el eco de esta ráfaga cuando rebota contra un objeto, y mediante un cálculo podemos saber a qué distancia está el objeto.
Diagrama de conexión:
4) Código:
Página 6 /* Programa que simula el funcionamiento de un sensor de aparcamiento,
pitando con una frecuencia mayor conforme nos aproximamos al objeto */
int speakerPin = 8;
long distancia;
long tiempo;
int j;
void setup(){
Serial.begin(9600);
pinMode(6, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
pinMode(7, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}
void loop(){
digitalWrite(6,LOW); /* Por cuestión de estabilización del sensor*/
delayMicroseconds(5);
digitalWrite(6, HIGH); /* envío del pulso ultrasónico*/
delayMicroseconds(10);
tiempo=pulseIn(7, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
deja de hacerlo, LOW, la longitud del pulso entrante*/
distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
/*Monitorización en centímetros por el monitor serial*/
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
//delay(1000);
if(distancia<=40) {
if(distancia >=0 && distancia<=3) j = 1;
Página 7 if(distancia >3 && distancia<=8)
j = 50;
if(distancia >8 && distancia<=20) j = 300;
if(distancia >20 && distancia<=30) j = 600;
if(distancia >30 && distancia<=40) j = 900;
if(distancia >40) j = 1200;
tone(speakerPin,349);
delay(j);
noTone(speakerPin);
delay(100);
} else {
noTone(speakerPin);
}
}
Página 8