Ich versuche, einen Schallmesser zu erstellen, um die Dezibel in einem Raum zu messen, und ich verwende derzeit ein nodemcu 12e, wie ich diese Maße in eine Zeile einfügen möchte in einem mySQL-Server und einem "großen Sound-Modul" (https://tkkrlab.nl/wiki/Arduino_KY-038_Microphone_sound_sensor_module).Verwenden eines "großen Klang" -Moduls mit Arduino zum Erstellen eines Dezibelmessers
Das einzige, was ich bisher erreicht haben, ist die Rohwerte des Sensors zu erhalten, da sie nicht zu ändern scheinen, obwohl ich die Verstärkung Drehen der Schraube in das Mikrofon einzustellen versucht haben, , ohne Ergebnis, wie es scheint, in den gleichen Werten zu bleiben, auch wenn laute Musik gespielt wird.
Es auf laute Geräusche zu reagieren scheint, und Klatschen macht die Ausgabe von bis zu Spike - erlaubt mir, dass die Beleuchtung zu steuern führte die Verbindung:
#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);
}
}
ich den Analogwert des Sensors lese und ich versuchte, die niedrigeren Werte zu erhalten, wie gesehen, versuchte ich das Mikrofon zu kalibrieren. Die Werte, die ich ständig bin immer zwischen 19 und 20:
Wie Sie sehen können, auf Klatschen ich eine Spitze des Wertes erhalten.
Die Sache ist, dass die Werte überhaupt nicht ändern, wenn laute Musik spielt, nur unterschiedliche Werte zu erhalten, wenn es ein lautes Geräusch (wie Klatschen) erkennt. Wie kann ich den Code oder das System ändern, um die Werte in Dezibel zu erhalten?