Arduino Tutorial 16: Sensor de sonido

En este tutorial aprendemos que el papel del Arduino ahora es importante ya que se esta utilizando para controlar sistemas de humos, presencia, fuego, etc
 
Por tanto, vamos a ver el sensor de sonido ky-037. Este sensor mide mediante vibraciones producidas en la membrana detecta la cantidad de sonido. La sensibilidad de dicho sensor será controlada por un potenciometro multivuelta. Además se puede programar al estimando sus márgenes con el serial monitor.
sensor de sonido ky-037

También se puede realizar con los cálculos matemáticos pertinentes.
Para ver que funciona el sensor y que se activa el sensor colocamos un servomotor. En caso de que el servo mueva el aspa daremos por hecho que el sensor funciona correctamente, porque se habrá producido una variación en el entorno.

Este tipo de sensores se utiliza para que veáis una aplicación que ya se esta llevando a la moda es la activación de luces y persianas en viviendas dotadas de tecnología.
Servo
Servomotor estándar
Para recrear esto vamos a emplear además un servomotor, y programar su giro en función del sonido. Veámoslo con más detalle. 

Código del sensor de sonido:

#include <Servo.h>

const int DO_pin = 2;    // declarar variables 
const int AO_pin = 0;
int val; 
Servo servo;    //Introducimos la variable servo que vamos a identificar a partir de ahora como el servomotor

void setup() {
  pinMode(DO_pin, INPUT);
  Serial.begin(115200);
  servo.attach(9);   //Declaramos con la funcion attach que el servo se encuentra en el pin digital 2
}

void loop() {
  val=digitalRead(DO_pin);
  Serial.print(val);
  Serial.print("-");
  Serial.println(analogRead(AO_pin));
  delay(50);
  if(val==1){
    Serial.println("activar motor");
    servo.write(0);   //El servomotor se pone en la posición de 0º
    delay(100);        //Tiempo de espera entre coordenadas
    servo.write(90);  //El servomotor se pone en la posición de 90º
    delay(100);        //Retardo entre coordenadas
    servo.write(179); //El servomotor se pone en la posición de 179º
    delay(100);       
    servo.write(90);  //El servomotor se pone en la posición de 90º
    delay(100);       
  }
  else {
    Serial.println("No motor");
  }
}

 

serial
Serial Monitor del Arduino

Espero que os haya gustado. Nos vemos pronto con más tutoriales similares. ¡Hasta otra!

esquema

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *