Last Updated on 18. October 2026 by SuffocationLink status: OK
Hier mal eine akustische Anbindung für Microcontroller. Das Modul KY-038 beherbergt ein Mikrofon und einen Schwellwertschalter, welcher über einen veränderlichen Widerstand einstellbar ist. Beide Signale, die des Schwellwertschalters und das invertierte Mikrofon Signal werden an den Pins A0 und D0 bereitgestellt.
ATTENTION I could not operate this module meaningfully!!!
Facts
| KY-038 Mikrofon-Sensormodul | |
|---|---|
| Messgröße | Schallpegel |
| Sensor-Baustein | Komparator LM393 |
| Operating voltage | 3,3–5 V |
| Schnittstellen | Digitalausgang D0 (Schwellwert per Potentiometer), Analogausgang A0 (invertiert) |
| Description | LED für Versorgung und für erreichten Schwellwert; Schwellwert per Potentiometer einstellbar |
Areas of application
- Sound measurement
- Security technology
- Sound level alert
- …
Views
Programming
Libraries
Zur reinen Anbindung sind keine zusätzlichen Bibliotheken notwendig. Es wird nur der analogRead und der digitalRead der Arduino Bibliothek verwendet.
Test programme
Das Programm liest den digitalen Schwellwert und den analogen Pegel aus. Der Analogwert wird zudem noch in Volt umgerechnet.
Pinning
| Arduino | KY-038 |
| D2 | D0 |
| A1 | A0 |
| Ground | Ground |
| +5V | + |
Source code KY038Test.ino (GitHub GistLink status: OK)
/**
* Code snippet to read data from KY-037 / KY-038 sound sensor board
* define ports for digital and analog input
* Fambach.net
*/
// please adapt to your wiring
#define MIC_SIGNAL_PIN A1
#define MIC_THRESHOLD_PIN 2
// factor to calculate voltage
const float VOLTAGE_FACTOR = 5.0f / 1023.0f;
void setup(){
// init serial port
Serial.begin(115200);
// init Pins
pinMode(MIC_SIGNAL_PIN, INPUT);
pinMode(MIC_THRESHOLD_PIN, INPUT);
digitalWrite(MIC_SIGNAL_PIN, LOW);
digitalWrite(MIC_THRESHOLD_PIN, LOW);
analogReference(DEFAULT);
}
void loop(){
bool treshold = false;
long level = 0 ;
String voltage = "";
// get treshhold pin
treshold = digitalRead(MIC_THRESHOLD_PIN);
// get analog pin
level = analogRead(MIC_SIGNAL_PIN);
// calc. average and invert
voltage = String (((float)level)* VOLTAGE_FACTOR);
// doing output
char buffer[255];
sprintf (buffer,"Treshold: %s Level: %4d Voltage: ",treshold?"ON ":"OFF", level);
Serial.print(buffer);
Serial.print(voltage);
Serial.println();
delay(100);
}
https://gist.github.com/sfambach/92f57fef7c21430029afc43df57680df/archive/32f5c32dd272ce5f5baa378f9a3bfc05c57f3477.zipLink status: OK
Problems
It doesn't work properly for me, see conclusion. Others also seem to have the problem that the sensor only works at high volumes.
There is a correction proposal that adds a few additional resistors on the board. Please refer to this https://www.arduinoforum.de/arduino-Thread-Sound-Sensor-KY-038Link status: Broken.
Conclusion
Das Modul wäre eine schöne Erweiterung für den Arduino. Leider konnte ich das Modul nicht sinnvoll betreiben. Trotz mehrfacher Versuche war es mir nicht möglich, mehr als 0.2 Volt Unterschied am analogen Eingang zu erzeugen. Dies hängt damit zusammen, dass das Mikrofonsignal direkt, ohne Verstärkung, auf den analogen Ausgang des Modules gegeben wird. Der Schwellwertschalter funktioniert, ist aber leider nur sehr ungenau einstellbar. Ich habe zwei Module aus Fernost verwendet, evtl. haben diese Fehler oder ein Mikrofon mit falschem Pegel.
Ich habe mir 3 andere Module bestellt, unter anderem den KY-037 mit hoher Empfindlichkeit, evtl. bringt dieser bessere Ergebnisse.
Related Posts
- Arduino VENTUNO QLink status: OK
- Arduino UNO QLink status: OK
- Digispark Rev.3 rettenLink status: OK
- Retro Projekt – FDC USB Floppy Disk ControllerLink status: OK
- Arduino Nano 33 BLELink status: OK
- Arduino Nano 33 IoTLink status: OK
- Preview – Arduino Motor Shield mit L298PLink status: OK
- Preview – Arduino Mega Logger ShieldLink status: OK
- Preview – Prototyp Schild für Arduino Mega Link status: OK
- Preview – Arduino Nano ZusatzplatineLink status: OK
Sources
| Date | Change | Author |
|---|---|---|
| 19.10.2026 | Fakten-Tabelle durch Datenblock aus dem Modell ersetzt | Suffocation |
| 10.10.2026 | Gist-Einbettung durch Code-Block ersetzt (Gist als Quelle verlinkt) | Suffocation |
| 04.10.2026 | Rechtschreibung korrigiert: Tippfehler, Kommas, Grammatik | Suffocation |
| 03.10.2026 | Log-Liste eingefügt | Suffocation |
| 13.01.2020 | Post created | Suffocation |

