Go Down

Topic: Problem bei Ir sender (Read 284 times) previous topic - next topic

Yannes

Hallo
Ich habe bei einem ir empfänger  44bbb847 als Output bekommen, nun möchte ich dieses Ergebnis mit einem Ir Sender senden .Problem diese Formatierung ist irgendwie anders obwohl beide Hex ssind .

Code Empfänger:

Code: [Select]
#include <IRremote.h>

// Hier kann der entsprechende Eingangspin für den Signalausgang
// des KY-022 deklariert werden
int RECV_PIN = 3;
 
// Arduino-IRremote Library wird initialisiert
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Infrarot-Receiver wird gestartet
}
 
// Hauptprogrammschleife
void loop() {
   
  // Es wird geprüft ob am Recveiver ein Signal eingegangen ist
  if (irrecv.decode(&results)) {
    //Bei Signaleingang wird das empfangene und dekodierte Signal in der serriellen Konsole ausgegeben
    Serial.println(results.value,HEX);
    irrecv.resume();
  }
}


Code Sender:

Code: [Select]
//Arduino-IRremote Library wird hinzugefügt...
#include <IRremote.h>
 
//...und hier initialisiert
IRsend irsend;
 
// Die Einstellungen für den Ausgang werden von der Library übernommen
// Die entsprechenden Ausgänge unterscheiden sich je nach verwendeten Arduino
// Arduino UNO:  Ausgang = D3
// Arduino MEGA: Ausgang = D9
// Eine komplette Auflistung der entsprechenden Ausgänge finden Sie unter
// http://z3t0.github.io/Arduino-IRremote/
void setup()
{
}
 
// Hauptprogrammschleife
void loop() {
        // Der Sender verschickt in diesem Beispiel das Signal A90 (in hexdezimaler Form) in der Kodierung "RC5"
        // Dieses wird dreimal hintereinander gesendet und danach eine Pause für 5 Sekunden eingelegt
    for (int i = 0; i < 3; i++) {
        irsend.sendRC5(0xA90, 12); // [0xA90] zu versendetes Signal | [12] Bit-Länge des zu versendeten Signals (hex A90=1010 1001 0000)
        delay(40);
    }
    delay(5000); //Zwischen den Sendeimpulsen gibt es eine Pause von 5 Sekunden
}



HotSystems

Welches Signal wird denn von deinem IR-Sender abgestrahlt ?
Hast du das schon angezeigt ?

Stimmt die Wellenlänge der IR-Diode mit der des Empfängers überein ?
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

38kHz für emPfänger
940 nm für Sender

HotSystems

Nochmal die Frage:

Welches Signal (IR-Code) wird von deinem Sender abgestrahlt ?
Hast du das schon irgendwie anzeigen können ?
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Klaus_ww

Schreibt er doch gleich zu Beginn:

Quote
Ich habe bei einem ir empfänger  44bbb847 als Output bekommen
Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

HotSystems

Schreibt er doch gleich zu Beginn:

Das sagt nicht aus, dass es sein Sender ist.
Das kann auch irgend eine Fernbedienung sein.

Allerdings sind die Aussagen des TO nicht sehr informativ....
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

ich hab jetzt das 44bbb847 Signal mit dem Sender gesendet  und nun bekomm ich beim Sender 847 also die letzten drei stellen als Wert zurück. Muss ich die Bit erhöhen oder wie

HotSystems

#7
Jan 21, 2019, 05:26 pm Last Edit: Jan 21, 2019, 05:33 pm by HotSystems
ich hab jetzt das 44bbb847 Signal mit dem Sender gesendet  und nun bekomm ich beim Sender 847 also die letzten drei stellen als Wert zurück. Muss ich die Bit erhöhen oder wie

Verstehe ich nicht.
Du sendest "44bbb847", aber der Sender bekommt "847" zurück ? Wie geht das ?

Min Tipp: Nimm den Empfangscode als Dezimal und sende auch Dezimal, das macht weniger Probleme.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

Ich habs mit jeweils 12 bit kann man 3 stellen anzeigen lassen ,beginnend von hinten

MIt 32 bit ging es endlich . Danke euch allen für die schnellen Antworten.

HotSystems

Und warum so umständlich ?
Dann zeig doch mal wie du es gelöst hast, das hilft allen anderen auch die ein ähnliches Problem haben.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

Hast ja recht, also bei dem obigen Sender Code stand 0xA90,12 das steht soweit ich es verstanden hab für:  0x = Hexadezimal Codierung 
A90 = der Hex Wert ,der verschickt werden soll
12 = Bit. Das reicht für drei Zeichen .Also 1 Zeichen = 4 Bit

Ich hab dann einfach A90 mit meinem Hex Wert getauscht und die Bit Anzahl auf den jeweiligen wert gesetzt
(Wert = Anzahl der Zeichen * 4)

und dann gings .  Ich habs mit dem Sensor KY-005 probiert.

postmaster-ino

Hi

JEDE 'HEX-Ziffer' besteht aus 4 Bit, nennt sich auch Nibble.
Die Werte der Ziffern reicht so von 0 (Null) bis F (Fünfzehn) - oder 2^4-1
Für BCDwerden nur die Werte 0-9 für ein Nibble benutzt - kostet Platz, man kann den Kram aber 'direkt' lesen.

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

Go Up