Schleifbremse


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


ESP32 schaltet Funksteckdose

Zwei Taster, der Mikrocontroller ESP32, ein Funksender und eine Funksteckdose sind die Hauptwirkenden in der folgenden Schaltung. Mit einem Taster, der für EIN steht, soll via Funk eine Funksteckdose eingeschaltet werden. Mit dem zweiten Taster, der für AUS steht, soll sie wieder ausgeschaltet werden können.
Doch bevor die Schaltung aufgebaut und in Betrieb genommen werden kann, müssen einige Vorarbeiten geleistet werden. Vor allem muss der Funk-Code, auf den die Steckdose reagiert, in Erfahrung gebracht werden. Deswegen kommen im Vorfeld eine Funkfernbedienung, die auf die Funksteckdose abgestimmt ist und ein Funkempfänger zum Einsatz. Als ergänzende Komponente kommt noch ein Level Converter (Pegelwandler) hinzu.

Funkfernbedienung

Funkfernbedienung

Mit der Fernbedienung von deleyCON, Typ MK2402, können vier Funksteckdosen geschaltet werden.


Funksteckdose

Die zu der Funkfernbedienung passende Funksteckdose von deleyCON (MK2401). Die Steckdose ist für 230V ausgelegt und kann Abnehmer bis 1100 W schalten. Funkfrequenz beträgt 433 (433,05 – 434,79) MHz.

Infoschild

Verpackungsinfoschild

Kanalschalter

Am Gehäuse der Steckdose befindet sich ein Wahlschalter mit vier Positionen. Mit ihm kann bestimmt werden, mit welchem Kanal der Funkfernbedienung die Steckdose geschaltet werden soll.


Funkempfänger

Funkempfänger

Mit dem Funkempfänger (MX-RM-5V) werden die Signale der Funkfernbedienung ausgelesen. Solche Module sind kostengünstig so ziemlich überall erhältlich. Sie arbeiten im Bereich von 433 MHz.


Funksender

Funksender

Der Funksender FS1000A wird meist mit dem oben abgebildeten Empfänger als Set angeboten. Der Sender arbeitet mit einer Betriebsspannung von 3,5 bis 12 V DC. Seine Reichweite ist von der Betriebsspannung abhängig. Sie kann weiterhin durch Anlöten einer Antenne erweitert werden. Pinbelegung von links nach rechts: Data, VCC, Masse.


Level Converter

Level Converter

Mit dem Level Converter werden die Signale des Funksenders, die 5V betragen, an den Mikrocontroller ESP32 angepasst. ESP32 arbeitet mit 3,3V. Höhere Spannungen können den Mikrocontroller beschädigen.


ESP32

ESP32

Der Mikrocontroller ESP32

Funk Code der Fernbedienung ermitteln

Bei dem Versuch greifen wir auf die Hilfe der Bibliothek RCSwitch.h, die wir in beiden Fällen einsetzen, zurück. Sie ist unter der Adresse
https://github.com/sui77/rc-switch
zu finden. Es werden hier auch Hilfsprogramme, die man bei Experimenten mit Funkgeräten nutzen kann, zur Verfügung gestellt.

Schaltplan zum Auslesen des Funkcodes

Schaltplan zum Auslesen des Funkcodes mit ESP32.

Testschaltung

Testschaltung mit Funkempfänger zum Auslesen des Funkcodes.

// ***********************************************************
// Programm zum Auslesen des Funkcodes
// ESP32
// Arduino IDE 1.8.19
// ***********************************************************
    
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
    Serial.begin(9600);
    mySwitch.enableReceive(0); 
}

void loop() {
    if (mySwitch.available()) {    
        Serial.print("Received ");
        Serial.print( mySwitch.getReceivedValue() );
        Serial.print(" / ");
        Serial.print( mySwitch.getReceivedBitlength() );
        Serial.print(" bit / ");
        Serial.print( mySwitch.getReceivedDelay() );
        Serial.print(" microseconds / ");    
        Serial.print("Protocol: ");
        Serial.println( mySwitch.getReceivedProtocol() );
        mySwitch.resetAvailable();
    }
}  
// ***********************************************************

Nachdem die Schaltung aufgebaut und das Programm hochgeladen wurde, kann der Funkcode der Fernbedienung ermittelt werden. Man startet den seriellen Monitor und betätigt mehrmals die Fernbedienung. Beim Betätigen jeder Taste an der Fernbedienung erhalten wir andere Ergebnisse. Sie könnten auf dem seriellen Monitor wie folgt aussehen:

Ergebnisse des Auslesens

Ergebnisse auf dem seriellen Monitor

ESP32 schaltet die Funksteckdose

Da die Funk-Codes für die einzelnen Tasten der Funkfernbedienung ermittelt wurden, kann man sich jetzt der eigentlichen Schaltung widmen. In dem Beispiel verwenden wir Code-Schlüssel für die zwei ersten Tasten (ON und OFF) der Fernbedienung. Den Kanalschalter auf der Steckdose stellen wir in dem Fall entsprechend auf den ersten Kanal. Die Schaltung ist äußerst simpel. Sie besteht lediglich aus vier Komponenten: ESP32, den Funksender und zwei Tastern. In dem Beispiel wird die Steckdose mit den zwei Tastern einfach nur ein- und ausgeschaltet. Man kann jedoch die Aufgabe erweitern und mit einem neuen Sketch das Schalten der Steckdose (oder Steckdosen) automatisieren und sie in Abhängigkeit von Zeit, Helligkeit oder anderen Größen automatisch ein- bzw. ausschalten.

Der Schaltplan

Schaltplan

Der Schaltplan

Die Testschaltung

Testschaltung

Die Testschaltung

Das Programm

// ****************************************************************
// Programm zum Senden des Funkcodes
// ESP32-Dev-KitC V4
// Arduino IDE 1.8.19
// ****************************************************************

#include <RCSwitch.h>                       // Bibliothek einbinden

RCSwitch mySwitch = RCSwitch();     
int Sende_GPIO = 23;                        // GPIO 23 = Pin 23
int Taster_EIN = 32;                        // GPIO 32 = Pin 32
int Taster_AUS = 33;                        // GPIO 33 = Pin 33

void setup() {

    mySwitch.enableTransmit(Sende_GPIO);    // Senden initieren
    pinMode (Taster_EIN, INPUT_PULLUP);     // Eingang Taster EIN
    pinMode (Taster_AUS, INPUT_PULLUP);     // Eingang Taster AUS
}

void loop() {
  
    if (digitalRead(Taster_EIN) == LOW) {   // Taster EIN betätigt?
        mySwitch.send (83029, 24);          // Funksteckdose EIN
    } 
    if (digitalRead(Taster_AUS) == LOW) {   // Taster AUS betätigt?
        mySwitch.send (83028, 24);          // Funksteckdose AUS
    }    
}    
  

Es synchron gedimmt.


Kurzvideo

Kurzvideo


Weitere Themen:



Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz