05-03-2021, 21:59 
		
	
	
		Saludos....
En esta ocasión vamos a realizar un sistema para medir distancias, le asignamos unas distancias y cuando estemos cada vez mas cerca del sistema la intermitencia del pitido será cada vez mas rápida..
Materiales utilizados
![[Imagen: hcsr04.jpg]](http://chujalt.com/1/imagenes/hcsr04.jpg) 
![[Imagen: buzzer.jpg]](http://chujalt.com/1/imagenes/buzzer.jpg) 
Conexiones
Código Arduino:
Con este script lo que conseguimos es que cuando estamos entre 2 y 1 metro del sensor el buzzer empieza a pitar pausadamente.
Cuando estamos entre 1 metro y 50 cms. los pitidos serán mas cortos y rápidos que el anterior bloque de distancias.
Cuando estamos entre y 50 cms. y 25 cms. los pitidos serán mas cortos y rápidos que el anterior bloque de distancias.
Cuando la distancia sea menor de 25 cms. los pitidos serán muy cortos y rápidos.
También por el monitor serial nos imprimirá la distancia exacta a la que el objeto se encuentra del módulo.
Bueno... ya está... espero que le sirva a alguien.
Saludos.
.
	
	
	
	
	
En esta ocasión vamos a realizar un sistema para medir distancias, le asignamos unas distancias y cuando estemos cada vez mas cerca del sistema la intermitencia del pitido será cada vez mas rápida..
Materiales utilizados
- Una placa Arduino (yo he utilizado la Uno).
 
- 6 Cables dupont.
 
- Un módulo para medir distancias por ultrasonidos HC-SR04.
 
- Un buzzer.
 
![[Imagen: hcsr04.jpg]](http://chujalt.com/1/imagenes/hcsr04.jpg)
![[Imagen: buzzer.jpg]](http://chujalt.com/1/imagenes/buzzer.jpg)
Conexiones
- Pin Vcc del módulo HC-SR04 al pin 5v de arduino.
 
- Pin Trig del módulo HC-SR04 al pin 9 de arduino.
 
- Pin Echo del módulo HC-SR04 al pin 8 de arduino.
 
- Pin GND del módulo HC-SR04 al pin GND de arduino.
 
- Pin positivo del buzzer al pin 10 de arduino.
 
- Pin negativo del buzzer al pin GND de arduino.
 
Código Arduino:
Código:
long distancia;
long tiempo;
int pinSpeaker = 10;
void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT);
  pinMode(8, INPUT);
  pinMode(pinSpeaker, OUTPUT);
}
void loop(){
  digitalWrite(9,LOW);
  delayMicroseconds(5);
  digitalWrite(9, HIGH);
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH);
  distancia= int(0.017*tiempo);
  Serial.print("Distancia ");
  Serial.print(distancia);
  Serial.println(" cm");
  if (distancia <= 200 && distancia > 100)
  {
     playTone(500, 500);
    delay(500);    
  }
  else if (distancia <= 100 && distancia > 50)
  {
     playTone(250, 500);
    delay(250);    
  }
  else if (distancia <= 50 && distancia > 25)
  {
     playTone(200, 500);
    delay(100);    
  }
else if (distancia <= 25)
  {
     playTone(100, 500);
    delay(50);    
  }
  delay(500);
}
void playTone(long duration, int freq) {
    duration *= 1000;
    int period = (1.0 / freq) * 1000000;
    long elapsed_time = 0;
    while (elapsed_time < duration) {
        digitalWrite(pinSpeaker,HIGH);
        delayMicroseconds(period / 2);
        digitalWrite(pinSpeaker, LOW);
        delayMicroseconds(period / 2);
        elapsed_time += (period);
    }
}Con este script lo que conseguimos es que cuando estamos entre 2 y 1 metro del sensor el buzzer empieza a pitar pausadamente.
Cuando estamos entre 1 metro y 50 cms. los pitidos serán mas cortos y rápidos que el anterior bloque de distancias.
Cuando estamos entre y 50 cms. y 25 cms. los pitidos serán mas cortos y rápidos que el anterior bloque de distancias.
Cuando la distancia sea menor de 25 cms. los pitidos serán muy cortos y rápidos.
También por el monitor serial nos imprimirá la distancia exacta a la que el objeto se encuentra del módulo.
Bueno... ya está... espero que le sirva a alguien.
Saludos.
.


