Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. (gelöst)ioBroker mit jeder IR-Fernbedienung (Arduino-USB)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst)ioBroker mit jeder IR-Fernbedienung (Arduino-USB)

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      Einklaus last edited by Einklaus

      Hallo,

      ich versuche einen Arduino (Mega2560) per USB mit ioBroker zum laufen zu bringen.

      Möchte einen IR-Receiver auslesen und diesen Wert weitergeben. Es klappt auch soweit, dass ich mit dem Arduino auf dem seriellen Monitor sehe das ich eine Taste gedrückt habe.
      Ich sehe dieses auch im LOG von ioBroker, also Verbindung ist vorhanden.

      mysensors.0	2020-06-07 20:32:21.798	warn	(11632) Wrong serial data: 735876127
      mysensors.0	2020-06-07 20:32:20.981	warn	(11632) Wrong serial data: 3305246814
      mysensors.0	2020-06-07 20:16:10.654	warn	(11632) Wrong serial data: 3216
      mysensors.0	2020-06-07 20:16:08.181	warn	(11632) Wrong serial data: 544
      mysensors.0	2020-06-07 20:16:07.443	warn	(11632) Wrong serial data: 2592
      

      Kapiere absolut nicht wie ich den Sketch für mysensors ändern muss, dass die Werte in eine Variable abgespeichert werden.

      Hier der Sketch

      
      #include <IRremote.h>
      
      const int RECV_PIN = 11;
      IRrecv irrecv(RECV_PIN);
      decode_results results;
      
      void setup(){
        Serial.begin(115200);
        irrecv.enableIRIn();
      }
      
      void loop(){
        
        if (irrecv.decode(&results)){
            if ( results.value != 4294967295){  
              Serial.println(results.value, DEC);
              
        }
        irrecv.resume();
      }
      }
      

      Möchte damit auslesen wenn eine Taste einer IR Fernbedienung betätigt wird um eine entsprechende Aktion zu starten.
      Hilfe oder ein verständliches Beispiel Sketch wären super. WIe gesagt verstehe das leider aktuell noch nicht wie der Sketch aussehen muss.

      Danke im vorab
      Ein Klaus

      1 Reply Last reply Reply Quote 0
      • E
        Einklaus last edited by Einklaus

        Es funktioniert ohne Probleme
        Es gibt wohl "Wrong serial data" Meldungen,diese können aber über das entfernen der Serial.print Anweisung im Sketch entfernt werden. Nutze sie aktuell nur um nachzuvollziehen welchen Code er empfangen hat.
        Kann jetzt mit der Fernbedienung z.B. das Licht schalten.
        Funktioniert mit einem Arduino Uno über USB + einen IR Receiver an Pin 11.

        Hier der Sketch

        // Enable debug prints to serial monitor
        #define MY_DEBUG 
        
        // Enable serial gateway
        #define MY_GATEWAY_SERIAL
        
        #include <MySensors.h>
        
        #include <IRremote.h>
        
        const int RECV_PIN = 11;
        IRrecv irrecv(RECV_PIN);
        decode_results results;
        
        MyMessage msgIrReceive(RECV_PIN, V_IR_RECEIVE);
        
        
        void setup(){
        
          irrecv.enableIRIn();
        }
        
        void presentation()
        {
        	// Send the sketch version information to the gateway and Controller
        	sendSketchInfo("IR Empfang", "1.0");
        
        	// Register all sensors to gateway (they will be created as child devices)
        	present(RECV_PIN, S_IR);
        }
        
        void loop()
        {  
          if (irrecv.decode(&results)){
            //Taste dauerhaft drücken abfangen
              if ( results.value != 4294967295){   
                Serial.println(results.value, DEC);
                 send(msgIrReceive.set(results.value));
          }
           delay(200);
          irrecv.resume();
        }
        }
        

        Vielleicht bekomme ich es noch schöner hin, aber wie gesagt erstmal geht es.
        Tipp: Wenn man die Fernbedienung nicht genau drauf hält hat er einen anderen Code.
        Diesen habe ich ebenfalls genutzt. So kann ich schalten und walten auch wenn ich die FB nur ungefähr in die Richtung halte.

        Hier ein Beispiel Blockly
        IR.png

        1 Reply Last reply Reply Quote 0
        • E
          Einklaus last edited by

          Noch ein kleiner Tipp

          Die Empfangsleistung kann man deutlich verbessern indem man zwei IR-Receiver parallel schaltet (bei mir beide Eingänge auf Pin11)

          Hier noch ein Bild von den IR-Receivern (KY-022)
          ky-022.png

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          525
          Online

          31.9k
          Users

          80.2k
          Topics

          1.3m
          Posts

          arduino mysensors usb seriell
          1
          3
          555
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo