部屋のデシベルを測定するサウンドメーターを作成しようとしていますが、現在、それらのメジャーを行に挿入するためにnodemcu 12eを使用していますmySQLサーバと「大きなサウンドモジュール」(https://tkkrlab.nl/wiki/Arduino_KY-038_Microphone_sound_sensor_module)にあります。私はマイクでネジを回しゲインを調整しようとしているがarduinoで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は、センサのアナログ値を読み取り、Iています私がマイクをキャリブレーションしようとしていたのを見て、より低い値を可能にしようとしました。あなたが見ることができるように、拍手に私は価値のスパイクを取得
:19の間と20私は常に取得しています値です。
大音量の音楽が再生されているときは値がまったく変更されず、大きな音(拍手のような音)が検出されたときにのみ値が変化することです。どのようにコードやシステムを変更して値をデシベル単位で得ることができますか?