Select Page

En esta entrada les traemos el sensor de Sonido KY-038, el cual nos permitirá saber si hay sonido dentro del radio de detección del sensor.

Descripción: 

Este es un sensor de sonido muy simple. El mismo esta compuesto por un micrófono, un amplificador LM393 y un preset. Cuenta con dos salidas, una digital y la otra analógica.

Resultado de imagen para ky-038

Pinout:

El pinout de este sensor es muy simple. Cuenta con cuatro terminales, los cuales estan serigrafiados en la placa. Estos son:

AO = Analog Output
GND = Ground
VCC = Alimentación de 3.3V a 12V
DO = Digital Output

sensor sonido elementos

Lo interesante de este sensor, es que la señal que nos entrega es digital y analógica, lo cual nos permite decidir cual utilizar segun nuestras necesidades. Si necesitamos saber el valor del sensor, podremos utilizar directamente la salida analógica para conseguir los datos crudos. Sino, podemos utilizar la salida digital, la cual se activa o se desactiva según si el sensor llega a medir la intensidad del sonido que le configuremos, mediante la definición de la sensibilidad del sensor. Esta misma, se programa con el preset que se ve en la imagen de la descripción.

Materiales necesarios:

->Arduino UNO
->Sensor de sonido KY-038
->Led y resistencia de 220 Ohms
->Cables Macho macho
->Proto 400

Programa:

En este caso, no se necesita ninguna librería en especial, ya que en esencia, se esta leyendo una entrada analógica o digital.

El programa es el siguiente:

/*
Analog input, analog output, serial output

Reads an analog input pin, maps the result to a range from 0 to 255
and uses the result to set the pulsewidth modulation (PWM) of an output pin.
Also prints the results to the serial monitor.

The circuit:
* potentiometer connected to analog pin 0.
Center pin of the potentiometer goes to the analog pin.
side pins of the potentiometer go to +5V and ground
* LED connected from digital pin 9 to ground

created 29 Dec. 2008
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.

*/

// These constants won’t change. They’re used to give names
// to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)

void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}

void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);

// print the results to the serial monitor:
Serial.print(“sensor = “);
Serial.print(sensorValue);
Serial.print(“\t output = “);
Serial.println(outputValue);

// wait 2 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:
delay(2);
}

Share This