Forum: Mikrocontroller und Digitale Elektronik IR LED Arduino how to send signal


von Julius H. (juliushuck)


Lesenswert?

Hallo zusammen
Ich baue gerade an einem Lasertagsystem. Da nicht viel Zeit ist, habe 
ich nur 4 Ziehle (Infrarotsensoren) und eine "Waffe", in die ich eine 
Infrarotled einbauen werde. Ich weiß aber nicht, wie ich gleichzeitig 
scheißen (LED an) und empfangen soll.

Das hier sendet zwar aber ich kann nicht gleichzeitig abfragen, ob was 
empfangen wurde.
1
#include <IRremote.h>
2
3
IRsend irsend;
4
float last;
5
void setup()
6
{
7
  Serial.begin(9600);
8
}
9
10
void loop() {
11
  if (millis() - last >= 1000)
12
  {
13
    last = millis();
14
    irsend.sendSony(0xa90, 12);
15
  }
16
}

Ich habe auch schon versucht die LED einfach ein paar loop durchgänge 
anzumachen dort zu schauen, ob was getroffen wurde und sie dann wieder 
auszumachen.
Allerdings bekomme ich dann nur ein schwaches Signal oder so (Reichweite 
< 2cm). Mit dem obrigen kann ich quer durchs zimmer senden.

Auch habe ich schon überlegt dieses interrupt zeug von arduino zu 
nutzen. Der UNO hat aber nur 2 dafür vorgesehene PINs, geht also nicht.

Wie kann ich also feuern und empfangen?

von Wolfgang (Gast)


Lesenswert?

Julius H. schrieb:
> Der UNO hat aber nur 2 dafür vorgesehene PINs, geht also nicht.

Wieso? Was hast du auf deinem UNO für einen uC drauf?
Zumindest der ATmega328 auf dem Arduino UNO R3 hat doch etliche Pins mit 
Pin-Change-Interrupt Unterstützung.
IMHO wird der für den ganzen PortB, PortC und PortD unterstützt.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Julius H. schrieb:
> Ich weiß aber nicht, wie ich gleichzeitig
> scheißen (LED an) und empfangen soll.

 Autsch.

von Ach Du grüne Neune (Gast)


Lesenswert?

Marc V. schrieb:
> Autsch.

Ich hab auch erst gelacht, aber wie soll er das auch gleichzeitig 
machen? Ist sicher nur ein Schreibfehler.

Es sei den der TO verwendet entweder zwei IR-LED's, oder schaltet 
schnell zwischen Senden und Empfangen hin und her, dann sollte die 
Empfangszeit größer sein als die Sendezeit, damit auch im ungünstigsten 
Fall etwas empfangen wird. Eine Synchronisation kann dann entfallen.

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.