ArduinoForum.de - Das deutschsprachige Forum rund um den Arduino
Sound Sensor KY-038 - Druckversion

+- ArduinoForum.de - Das deutschsprachige Forum rund um den Arduino (https://www.arduinoforum.de)
+-- Forum: Arduino-Allgemein (/arduino-Forum-Arduino-Allgemein)
+--- Forum: Programmierung (/arduino-Forum-Programmierung)
+--- Thema: Sound Sensor KY-038 (/arduino-Thread-Sound-Sensor-KY-038)



Sound Sensor KY-038 - Jack - 16.05.2018 21:18

Hallo Leute,
Kann mir bitte jemand ein paar Tipps geben?
ich möchte mit meinem Arduino UNO und dem KY-038 eine LED ab einem bestimmten Wert 1 mal blinken lassen. Die LED blinkt aber durchgängig.
WARUM???
Code:
// Die LED wird über den Arduino Pin 2 angeschlossen
int ledPin = 2;
// Der KY-038 wird über den analogen Arduino Pin A0 angeschlossen
int AudioPin = A0;
int DigitalPin = 12;
// Mit dieser Variable wird der Schwellenwert eingestellt
int Schwellenwert = 500;

// Variable für den ermittelten Geräuschpegel
int volume;
void setup() {                
  Serial.begin(9600); // Für den debug Modus
  pinMode(ledPin, OUTPUT);    
}
void loop() {
  
  // Geraeuschsensor auslesen
  volume = analogRead(AudioPin);
  
    //Debug Modus gibt bei Bedarf das Volumen über die serielle Schnittstelle aus
    Serial.println(volume);
    delay(1000);
  
  if(volume<=Schwellenwert){
    digitalWrite(ledPin, HIGH);
    delay(2500);
    digitalWrite(ledPin, LOW);
  }  
  else{
    digitalWrite(ledPin, LOW); // Ist das Geräusch niedriger als der Schwellenwert, wird die LED ausgeschaltet
  }
}



RE: Sound Sensor KY-038 - Tommy56 - 16.05.2018 21:21

Wenn ich mir den Kommentar am Ende anschaue, willst Du wohl eher volume>=Schwellenwert anstelle von <=

Gruß Tommy


RE: Sound Sensor KY-038 - GuaAck - 16.05.2018 21:29

Hallo,

Du scheinst wenig Erfahrung im Programmierem zu haben

Meine Empfehlung:
Drucke dir Loop aus, nimm einen Bleistift und schreibe in ein paar Spalten rechts vom Code draen, welchen Wert jede Variable hat. Dann wirst Du merken, dass Du Dir den aktuellen Zustand (> oder < Schqwellwert speichern mustt.

Gruß GuaAck


(16.05.2018 21:18)Jack schrieb:  Hallo Leute,
Kann mir bitte jemand ein paar Tipps geben?
ich möchte mit meinem Arduino UNO und dem KY-038 eine LED ab einem bestimmten Wert 1 mal blinken lassen. Die LED blinkt aber durchgängig.
WARUM???
Code:
// Die LED wird über den Arduino Pin 2 angeschlossen
int ledPin = 2;
// Der KY-038 wird über den analogen Arduino Pin A0 angeschlossen
int AudioPin = A0;
int DigitalPin = 12;
// Mit dieser Variable wird der Schwellenwert eingestellt
int Schwellenwert = 500;

// Variable für den ermittelten Geräuschpegel
int volume;
void setup() {                
  Serial.begin(9600); // Für den debug Modus
  pinMode(ledPin, OUTPUT);    
}
void loop() {
  
  // Geraeuschsensor auslesen
  volume = analogRead(AudioPin);
  
    //Debug Modus gibt bei Bedarf das Volumen über die serielle Schnittstelle aus
    Serial.println(volume);
    delay(1000);
  
  if(volume<=Schwellenwert){
    digitalWrite(ledPin, HIGH);
    delay(2500);
    digitalWrite(ledPin, LOW);
  }  
  else{
    digitalWrite(ledPin, LOW); // Ist das Geräusch niedriger als der Schwellenwert, wird die LED ausgeschaltet
  }
}



RE: Sound Sensor KY-038 - Jack - 16.05.2018 21:31

Danke
das war schon mal richtig.
Aber jetzt habe ich noch das Problem, dass der Sensor immer nur ein Wert anzeigt.
Ich habe schon an der Empfindlichkeit rumgespielt, aber da tut sich nichts.


RE: Sound Sensor KY-038 - hotsystems - 16.05.2018 21:34

(16.05.2018 21:18)Jack schrieb:  Kann mir bitte jemand ein paar Tipps geben?
ich möchte mit meinem Arduino UNO und dem KY-038 eine LED ab einem bestimmten Wert 1 mal blinken lassen. Die LED blinkt aber durchgängig.

Ich hoffe, du kommst mit dem Teil zurecht.
Die Dinger sind normal viel zu unempfindlich und reagieren erst bei einer sehr großen Lautstärke.

Kannst ja mal schreiben, wie gut das funktioniert.
Meine Erfahrungen damit waren bisher sehr schlecht, also für derartige Dinge kaum zu gebrauchen.

Edit:
Ahh....grad gelesen. Das bestätigt meine Erfahrungen.


RE: Sound Sensor KY-038 - Jack - 16.05.2018 21:35

Ah, Danke.
Jetzt funktioniert es.


RE: Sound Sensor KY-038 - georg01 - 16.05.2018 23:46

Hallo,
habe aus Neugier mir den Schaltplan des KY-038 angeschaut.
Dieter schreibt:
Zitat:Die Dinger sind normal viel zu unempfindlich und reagieren erst bei einer sehr großen Lautstärke.
Eventuellen Grund dafür, kann fehlende Gegenkopplung des OP sein. Die kann man zwar leicht ausrechnen, schließe (eben aus Erfahrung) zwischen den Pins 1 und 2 des OP -> also Pins des LM393! einen 100k Wiederstand. Es wird sich viel! ändern. Für etwas feineren Tuning soll als Gegenkopplung ein Wiederstand- Teiler integriert werden -> sehe OP – Wiki. Die Spanungsversorgung des Micro ist alles anderes als optimal!.
Gruß Georg