ich möchte eine Infrarot-Übertragung von Arduino zu Arduino realisieren. Dabei benutze ich die <IRremote.h>
Empfang der IR-Codes mit Aduino-Platine 1 durch die entsprechenden Aufrufe:
Code: Alles auswählen
irrecv.enableIRIn(); // Eingang auf Pin 10 aktivieren
irrecv.resume(); // Messung durchführen
irrecv.decode(&results) // Wenn die IR Bibliothek ein decodiertes Signal liefert ...
Nun möcht ich gern Codes senden. Dazu gibt es in der IRremote-Sammlung ein Beispielprogramm:
Code: Alles auswählen
/*
* IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
* An IR LED must be connected to Arduino PWM pin 3.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(40);
}
}
}
Serielle Schnittstelle wird nicht benötigt.
Dazu habe ich einige Fragen.
1. Wird durch die <IRremote.h> automatisch Pin 3 als Anschluss für die IR-Diode festgelegt oder kann man das ändern ?
Im Prog-Code kann ich das nicht erkennen.
2. 36 kHz bzw. 38 kHz für die IR-Diode wird auch von Arduino bzw. <IRremote.h> erzeugt ?
3. Was bedeute der Befehlscode IRsend irsend; ?
4. Dann wird 4 x der Code gesendet mit.: irsend.sendSony(0xa90, 12);
Welche Bedeutung haben in diesem Fall die Argumente 0xa90, 12 ?
Ich möchte auch nicht einen Code speziell auf ein bestimmtes Gerät ( in diesem Fall Sony ) übertragen, sondern z.Bsp.
über
irsend.sendRC5(unsigned long data, int nbits);
in diesem Fall den RC5-Code mit 14 Bit übertragen, wobei eigentlich nur die letzten 6 Bit (Kommando) von Bedeutung wären.
Ist das mit irsend.sendRC5(unsigned long data, int nbits); möglich und welche Bedeutung haben die Argumente
unsigned long data und int nbits bzw. welche Werte müssen diese haben ?
Im Voraus vielen Dank
Ludwig