ARDUINO UNO: Alarma con sensor ultrasónico HC-SR04 (Taller02)



Presentamos el montaje de un sistema de alarma con el uso del sensor HC-SR04 (sensor de ultrasonido). El rango para este trabajo es de 10 cms.

Materiales
  • Placa Arduino UNO
  • Protoboard 830 pts.
  • Sensor Ultrasonido HC-SR04
  • Led rojo
  • Resistencia 220 Ohm
  • Zumbador
  • Cables (M-M y H-M)
  • Cable alimentador USB
  • Software Arduino


Esquema


Montaje








Código

// definimos los pines y variables a utilizar
const int trigPin = 9;
const int echoPin = 10;
const int buzzer = 11;
const int ledPin = 13;
int i;

// definimos l variable
long duration;
int distance;
int safetyDistance;

void setup() {
pinMode(trigPin, OUTPUT); //  trigPin como Output
pinMode(echoPin, INPUT); //    echoPin como entrada Input
pinMode(buzzer, OUTPUT); //   Buzzer como salida
pinMode(ledPin, OUTPUT); //   Led como salida
Serial.begin(9600); // Iniciamos la comunicación serial
}

void loop() {
// inicializar trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

// trigPin activo por 10 micro segundos
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Leemos echoPin, retornamos el tiempo de viaje de la onda de sonido en microsegundos
duration = pulseIn(echoPin, HIGH);

// Calculamos la distancia
distance= duration*0.034/2;

safetyDistance = distance;
// avaluamos el rango de acercamiento
if (safetyDistance <= 10){
  for (i=0; i<=5; i++) {
   tone(buzzer, 540,3000);
   delay(200);
   tone(buzzer, 740,3000);
   delay(200);
   digitalWrite(ledPin, HIGH);
   delay(30);
   digitalWrite(ledPin, LOW);
  } 

  digitalWrite(ledPin, HIGH);
}
else{
  digitalWrite(buzzer, LOW);
  digitalWrite(ledPin, LOW);
}

// Imprimimos la distancia en el monitor serial
Serial.print("Distance: ");
Serial.println(distance);
}


_________________________
Fuente: ASXLab ASXKids

Comentarios

Publicar un comentario