Relaissteuerung per Fernbedienung


Funktionsbeschreibung:

  • Relais- und Leistungssteuerung über Fernbedienung.
  • Das Übertragungsmedium ist eine Infrarotdiode an der Fernbedienung (Sender) und am Empfänger - Modul KY-022.
  • Das empfangene Signal kann decodiert und einer bestimmten Aktion zugewiesen werden, die von Arduino gesteuert wird. Messen Sie die Menge, senden Sie es an den Server. Schalten Sie Ausgang, Beleuchtung, Kessel, Fach auf Anfrage ein, führen Sie Zeitaktion, Reihenfolge durch.
  • Die Verwendung ist einfach und vielseitig. Die Empfangsreichweite beträgt bis zu 10 Meter. Kann für verschiedene Protokolle verwendet werden: NEC, RC5, RC6, SONY, JVC.
  • Verwendete Hardware:

  • Arduino Nano Arduino Nano
  • KY-022 EmpfängerKY-022
  • 8-Kanalrelais 8-Kanalrelais
  • Verwendung:

  • Lichtfernsteuerung
  • Garagen- / Einfahrtstor bei Bedarf öffnen
  • On-Demand-Messung
  • Drahtlose Spielzeugsteuerung (RC-Technik, benutzerdefinierte Projekte ...)
  • Quellcode mit Header-Datei IRremote.h zum Laden des Signals und 1x Relaissteuerung:

  • Die Rückkehrcodes stammen von einer Schaltfläche. Gibt bei wiederholtem Drücken abwechselnd 820, 20 zurück. Derselbe Code, der unter RC5 wiederholt wird, wird wiederholt, wenn Sie die Taste gedrückt halten.
  • /*|----------------------------------------------------------|*/
    /*|SKETCH PRE NACITANIE KODOV Z DIALKOVYCH OVLADACOV         |*/
    /*|VYHOTOVIL: MARTIN CHLEBOVEC                               |*/
    /*|EMAIL: martinius96@gmail.com                              |*/
    /*|DOSKA:  Arduino Uno, Mega, Nano, NEFUNGUJE NA ESP8266     |*/
    /*|WEB: https://arduino.php5.sk                              |*/
    /*|LICENCIA: MIT                                             |*/
    /*|----------------------------------------------------------|*/
    #include <IRremote.h> //kniznica pre senzor KY-022
    int led = 13;
    int ledstate = LOW;
    int RECV_PIN = 8;
    IRrecv irrecv(RECV_PIN); //KY-022 na RECV VYVODE
    decode_results results;
    void setup() {
      pinMode(led, OUTPUT);
      Serial.begin(115200);
      irrecv.enableIRIn(); //prijimaj signaly
    }
    
    void loop() {
      if (irrecv.decode(&results)) {
        Serial.println("Zaznamenany kod: ");
        Serial.println(results.value, HEX);
        String abc = String(results.value, HEX);
        if ((abc == "820") || (abc == "20")) { //hodnoty tlacidla hore na ovladaci
          ledstate = !ledstate;
          digitalWrite(led, ledstate);
        }
        irrecv.resume(); // Povol nacitavanie dalsich hodnot
      }
      delay (100); // kratky delay, odrusenie citania chyb
    }