Forum: Mikrocontroller und Digitale Elektronik Arduino Infrarot senden unde empfangen


von Julius H. (juliushuck)


Lesenswert?

Hallo,
Ich baue ein Lasertagsystem und habe ein Problem mit meinem Arduino UNO.

Das hier funktioniert nicht:
1
#include <IRremote.h>
2
3
IRsend irsend;
4
5
int RECV_PIN = 11;
6
IRrecv irrecv(RECV_PIN);
7
decode_results results;
8
9
void setup()
10
{
11
  Serial.begin(9600);
12
  Serial.println("Enabling IRin");
13
  irrecv.enableIRIn();
14
  Serial.println("Enabled IRin");
15
}
16
17
void loop() {
18
  if (millis() - last >= 1000)
19
  {
20
    irsend.sendSony(0xa90, 12);
21
  }
22
23
  if (irrecv.decode(&results)) {
24
    irrecv.resume();
25
    Serial.println(results.value, HEX);
26
  }
27
28
  delay(100);
29
}

Ich habe dann mal die zeit gemessen, die der Arduino bracuht, um das 
Signal zu senden: 20 Millisekunden.
Dann habe ich einfach das Senden durch delay(20) ersetzt.

Das hier empfängt IR von Fernbediehnungen aber zuverlässig:
1
#include <IRremote.h>
2
3
IRsend irsend;
4
5
int RECV_PIN = 11;
6
IRrecv irrecv(RECV_PIN);
7
decode_results results;
8
9
void setup()
10
{
11
  Serial.begin(9600);
12
  Serial.println("Enabling IRin");
13
  irrecv.enableIRIn();
14
  Serial.println("Enabled IRin");
15
}
16
17
void loop() {
18
  if (millis() - last >= 1000)
19
  {
20
    delay(20); //Senden braucht auch genau 20 Millisekunden
21
  }
22
23
  if (irrecv.decode(&results)) {
24
    irrecv.resume();
25
    Serial.println(results.value, HEX);
26
  }
27
28
  delay(100);
29
}

Wieso funktioniert es mit einem delay aber nicht mit dem Senden? Obwohl 
die IR-LED wirklich sendet und ich an der LED am Emfänger sehen kann, 
dass es ankommt?

Julius

: Bearbeitet durch User
von Forist (Gast)


Lesenswert?

Julius H. schrieb:
> Ich baue ein Lasertagsystem und habe ein Problem mit meinem Arduino UNO.

Das hatten wir doch gerade
Beitrag "IR LED Arduino how to send signal"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.