Diodenbaustein auf Hutschiene


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Klatschschalter mit ESP32

Was ein Klatschschalter ist, muss sicher nicht weiter erklärt werden. Mit einem Händeklatsch oder ähnlichen Geräuschen kann Licht, eine Steckdose oder ein elektrisches Gerät ein- bzw. ausgeschaltet werden. Da sich hinter der Funktion ein Geräuschsensor (kurz Mikrofon) verbirgt, kann das Klatschen oder Klopfen gleich über Rufe „Licht an“ oder „Licht aus“ erweitert werden. Eine durchaus nützliche Funktion, wenn es z.B. dunkel ist. Noch interessante wird es, wenn ein solcher akustischer Schalter mit einem Bewegungssensor gekoppelt wird. So könnte eine solche Schaltkombination dafür sorgen, dass das Licht automatisch ausgeschaltet wird, wenn man den Raum verlassen hat und das Klatschen vergessen hat. In dem folgenden Versuch konstruieren wird einen einfachen Klatschschalter, der aus lediglich drei Komponenten besteht. Die Schlüsselrolle in der Schaltung übernimmt ein Mikrofonmodul, das das Klatschen erfassen und mit einem digitalen Signal melden kann. Der Mikrocontroller ESP32, die zweite Komponente der Schaltung, wertet das Signal aus und schaltet dem entsprechend die dritte Komponente der Schaltung: Ein Relais.

Mikrofonmodul KY-037

Mikrofonmodul

Das in China hergestellte Mikrofonmodul wird unter verschiedenen Bezeichnungen wie etwa KY-037 oder KY-038 vertrieben. Auf der Rückseite des hier abgebildeten Moduls findet sich Bezeichnung HW-484. Der Aufbau dieser Module ist grundsätzlich gleich. Neben einem Mikrofon befindet sich auf der kleinen Platine ein Potentiometer und der Komparator LM393. Mit dem Potentiometer wird der Schwellwert eingestellt. Der Komparator vergleicht die Schallwellen mit dem eingestellten Schwellenwert und steuert den digitalen Ausgang des Moduls. Darüber hinaus gibt es auf dem Modul zwei Leuchtdioden. Mit der einen LED wird angezeigt, ob die Spannungsversorgung anliegt und das Modul im Betrieb ist. Mit der zweiten LED wird signalisiert, ob der Schwellwert überschritten wurde oder nicht.

Rückseite

Das Modul verfügt über vier Anschlüsse. Zwei dienen dem Anschluss von Spannungsversorgung. Bei dem dritten Anschluss handelt es sich um den digitalen, bei dem vierten um den analogen Ausgang.

Pinbelegung

Das Modul kann mit 3,3 V oder 5V betrieben werden.


ESP32

ESP32

Die Aufgabe des Mikrocontrollers in dieser Schaltung ist alles andere als kompliziert. Er wartet, bis das Mikrofonmodul mit seinem digitalen Ausgang einen Schallschwellenübertritt meldet und schaltet dann das Relais. Andere Aufgaben sind für ihn in der Runde nicht vorgesehen. Seine Eingänge und Ausgänge arbeiten mit einer Spannung von 3,3V. Eine höhere Spannung kann das Modul beschädigen. Damit das nicht geschieht, wird das Mikrofonmodul, dessen Ausgang direkt mit einem Eingang des ESP32 verbunden ist, mit der 3,3V Spannung, die ESP32 zur Verfügung stellt, eingespeist.

Mehr über ESP32


Relais

Relais

Das Relaismodul VMA406 ist mit dem 5V-Relais SRD-05VDC-SL-C ausgestattet. Das Relais verfügt über einen Wechslerkontakt, das mit 10A belastet werden kann. In der Schaltung wird mit dem Relais lediglich eine Leuchtdiode geschaltet. Die Gefahr, dass der Spulenstrom den Mikrocontroller zu stark belastet, besteht nicht. Das Relaismodul wird separat mit 5V eingespeist, zum Schalten des Relais wird lediglich ein digitales Signal benötigt. Da das Modul auch über eine Freilaufdiode verfügt, sind weitere Schutzmaßnahmen gegen induktive Spannungen nicht notwendig.

Relaismodul VMA406


Schaltplan

Schaltplan



Programm (Sketch)

// ********************************************************************************************
// Klatschschalter mit ESP32
// und einem Schallerkennungsmodul mit einem Mikrofon, Komparator LM393 und Einstellpoti
// ESP32-Dev-KitC V4
// Arduino IDE 2.2.1
// ********************************************************************************************

int Relais_Ausgang = 27;     // Am Pin 27 wird Relais-Modul angeschlossen
int Mikrofon = 14;           // Pin 14 wird mit dem digitalen Ausgang des Mikrofons verbunden
bool Digital_Signal;         // Aktueller Zustand des Mikrofonsignals
bool Val = LOW;              // Hilfsvariable (Erkennung der positiven Flanke)

void setup() {

    pinMode(Relais_Ausgang,OUTPUT);                   // Pin 27 ist Ausgang
    pinMode(Mikrofon,INPUT);                          // Pin 14 ist Eingang
}

void loop()  {

    Digital_Signal = digitalRead(Mikrofon);           // Signal von Mikrofon auslesen
    if (Digital_Signal == LOW) {                      // Hilfsvariable zurücksetzen
        Val = 0;
    }

    if ((Digital_Signal == HIGH) && (Val == 0)) {     // Relais Ausschalten
        if (digitalRead(Relais_Ausgang) == HIGH) {
            digitalWrite(Relais_Ausgang, LOW);
            Val = 1;
            delay (1000);                             // Wartezeit
        }
    }

    if ((Digital_Signal == HIGH) && (Val == 0)) {     // Relais Einschalten
        if (digitalRead(Relais_Ausgang) == LOW) {          
            digitalWrite(Relais_Ausgang, HIGH);
            Val = 1;
            delay (1000);                             // Wartezeit
        }
    }

}      
// ********************************************************************************************
        



Kurzvideo

Kurzvideo


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz