2016-07-23 5 views
3

Я пытаюсь создать звуковой измеритель для измерения децибел в комнате, и в настоящее время я использую nodemcu 12e, поскольку я хочу вставить эти меры в ряд на сервере mySQL и «большом звуковом модуле» (https://tkkrlab.nl/wiki/Arduino_KY-038_Microphone_sound_sensor_module).Использование модуля «большого звука» с ардуино для создания децибельного счетчика

Sound detection schematics

Единственное, что я достиг до сих пор, чтобы получить исходные значения датчика, так как они, кажется, не меняются, хотя я пытался настроить усиление поворачивая винт в микрофон , без результата, поскольку он, кажется, остается в одинаковых значениях даже при воспроизведении громкой музыки.

кажется, реагирует на громкие звуки, и хлопали делает вывод шип - позволяет мне контролировать, что освещение на подсоединенный привело:

#include <ESP8266WiFi.h> 
#include <WiFiClient.h> 
#include <ESP8266WebServer.h> 
#include <ESP8266mDNS.h> 

const char* ssid = "yourssid"; 
const char* password = "yourpass"; 

ESP8266WebServer server(80); 

const int led = 13; 

int sensorPin = A0; // select the input pin for the potentiometer 
int ledPin = D7; // select the pin for the LED 
int sensorValue = 0; // variable to store the value coming from the sensor 

void setup(void){ 
    pinMode(led, OUTPUT); 
    digitalWrite(led, 0); 
    Serial.begin(115200); 
    WiFi.begin(ssid, password); 
    Serial.println(""); 

    // Wait for connection 
    while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
    } 
    Serial.println(""); 
    Serial.print("Connected to "); 
    Serial.println(ssid); 
    Serial.print("IP address: "); 
    Serial.println(WiFi.localIP()); 

    if (MDNS.begin("esp8266")) { 
    Serial.println("MDNS responder started"); 
    } 

    }); 

    //SETUP SOUND SENSOR 
    pinMode (ledPin, OUTPUT); 
} 

void loop(void){ 
    sensorValue = analogRead (sensorPin); 
    Serial.println (sensorValue);//, DEC); 
    if (sensorValue > 100){ 
    digitalWrite (ledPin, HIGH); 
    delay (1000); 
    digitalWrite (ledPin, LOW); 
    } 
} 

Я читаю аналоговое значение датчика и I попытался получить более низкие значения, поскольку я пытался откалибровать микрофон. Значения Я постоянно получаю находятся между 19 и 20:

Obtained values

Как вы можете видеть, на хлопая я получаю всплеск стоимости.

Дело в том, что значения не изменяются вообще при воспроизведении громкой музыки, но получаются разные значения при обнаружении громкого шума (например, clapping). Как я могу изменить код или систему, чтобы получить значения в децибелах?

ответ

1

Возможно, вы не можете работать с этим микрофонным модулем.

Расписание действует как переключатель. Порог переключения устанавливается потенциометром на плате микрофонного модуля.

Что вам понадобится, это микрофон с низким уровнем усиления. Затем вы получите диапазон ввода от 0 (без шума) до 1023 (громкий шум). Это значение затем может быть отображено на децибел. Но опять же - не с этим модулем.

С уважением Harry