방의 데시벨을 측정하기 위해 사운드 측정기를 만들려고하고 있으며, 현재 해당 측정 값을 행에 삽입하고자 할 때 nodemcu 12e를 사용하고 있습니다. mySQL 서버 및 "큰 사운드 모듈"(https://tkkrlab.nl/wiki/Arduino_KY-038_Microphone_sound_sensor_module). 내가 마이크에 나사를 돌려 게인을 조정하려고 노력하고 있지만arduino와 함께 "큰 소리"모듈을 사용하여 데시벨 미터 만들기
지금까지 달성 한 유일한 것은, 그들이 변경하지 않는 것 같이, 센서의 원시 값을 얻을 수 있습니다 , 큰 음악을 연주 할 때조차도 같은 가치를 유지하는 것으로 보이는 결과는 없습니다.
시끄러운 소리에 반응하는 것, 그리고 박수가 스파이크 출력을하게- 내가 그 조명을 제어 할 수 있도록 연결된 주도 :
#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 내가 지속적으로 점점 오전 값은.
시끄러운 음악을 재생할 때 값이 전혀 변하지 않으며 시끄러운 소리 (박수 소리)를 감지했을 때 값이 달라지는 것이 있습니다. 값을 데시벨 단위로 가져 오도록 코드 또는 시스템을 변경하려면 어떻게해야합니까?