Licht schal­ten mit einem Sound­sen­sor

Lese­zeit: 4 Minu­ten

Navi­ga­ti­on

Nimmt der Sound­sen­sor ein Geräusch wahr, wird die LED ein­ge­schal­tet. Bei einem wei­te­ren Geräusch schal­tet sie sich wie­der aus.
Lei­der wird das Signal nicht ver­stärkt, des­halb reagiert der Sound­sen­sor am ehes­ten auf vor­sich­ti­ges Klop­fen auf das Mikro­fon oder auf Pus­ten gegen das Mikro­fon.
Wenn der Sound­sen­sor nicht reagiert, musst du die Emp­find­lich­keit erhö­hen.

Zunächst soll der digi­ta­le Aus­gang ver­wen­det wer­den.

Benö­tig­te Bau­tei­le:

  • LED
  • Wider­stand > 100 Ω
  • Sound­sen­sor KY-038
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Set­ze die Varia­blen:

int SOUNDSENSOR = 8;
int Sensorwert; 

// beim Start ist die LED aus
bool Status = false;
int LED = 9;

Ver­wen­de die Kurz­form: der Sta­tus der LED wird jeweils umge­kehrt.

void setup()
{
  pinMode(LED,OUTPUT);
  pinMode (SOUNDSENSOR, INPUT);
}

void loop()
{
  Sensorwert = digitalRead(SOUNDSENSOR);
  
  // solange kein Signal erkannt wird, 
  // ist der ausgelesene Wert HIGH
  if (Sensorwert == LOW)
  {
    delay(200);

    // Zustand von Status umkehren   
    // aus true wird false, aus false wird true
    Status = !Status;
    digitalWrite(LED,Status);
  }
}

Der Sound­sen­sor kann auch am ana­lo­gen Ein­gang auf ein Signal reagie­ren.
Schlie­ße den ana­lo­gen Aus­gang an A0 an.

Anzei­ge beim "Anpus­ten" des Sound­sen­sors im Seri­el­len Plot­ter
int SOUNDSENSOR = A0;

// beim Start ist die LED aus
bool Status = false;

int LED = 6;

void setup ()
{
  pinMode(LED, OUTPUT );
  Serial.begin(9600);
}

void loop ()
{
  int Sensorwert = analogRead(SOUNDSENSOR);
  
  // Grenzwert muss eventuell angepasst werden  
  if (Sensorwert > 200)
  {
    delay(200);
    Status = !Status;
    digitalWrite(LED, Status );
  }
}


Ver­wand­te Auf­ga­ben:


Letzte Aktualisierung: 21. Mrz 2020 @ 13:26