Wie kann ich erkennen, wenn eine LED die Farbe von rot nach grün ändert, und schnell eine Nachricht an einen PC senden, um ein Bild von einer Kamera aufzunehmen?

Ich arbeite mit einem IR-Vorhangsystem eines Drittanbieters, und die einzige Möglichkeit, in Echtzeit festzustellen, dass etwas den Vorhang durchbohrt hat, ist eine LED oben am Sensorstab, die von grün auf rot wechselt, wenn sich ein Objekt darin befindet Weg.

Mein Ziel ist es, ein Bild von einer 60-fps-Kamera in dem Moment aufzunehmen, in dem der Vorhang von einem Objekt durchbohrt wird (in diesem Fall ein Hund, der mit voller Geschwindigkeit durch den IR-Vorhang rennt).

Es wurde vorgeschlagen, einen Fototransistor (mit einem Filter, der nur rotes Licht durchlässt) zu verwenden, um schnell zu erkennen, wann die LED ihre Farbe auf Rot ändert.

Darüber hinaus vermute ich, dass ein Arduino oder Netduino verwendet werden könnte, um die Änderung des Fototransistors zu erfassen und dann eine Nachricht an einen PC/Mac zu senden, um ihn darüber zu informieren, dass er das Bild erfassen soll (oder höchstwahrscheinlich ein Bild aus einem Ringpuffer abrufen). das sind 50-100 ms in der Vergangenheit, also nähert es sich dem genauen Moment, in dem das Objekt den IR-Vorhang passiert hat).

Meine Fragen an diesen StackExchange lauten also:

  • Ist das generell ein guter Ansatz?
  • Irgendwelche Vorschläge, welchen Fototransistor zu verwenden?
  • Irgendwelche Vorschläge, wo man einen Filter findet, der nur rotes oder grünes Licht zum Fototransistor durchlässt?
  • Was ist der beste Weg, um rechtzeitig eine Nachricht von einem Arduino / Netduino an einen Host-PC / Mac zu senden (ich vermute, RS232 ist aus Geschwindigkeitsgründen nicht verfügbar - und es scheint, dass USB problematisch sein kann)

BEARBEITEN:

Es stellt sich heraus, dass die Gelfilter nicht benötigt werden. Da die Reaktionskurve des Fotowiderstands ihren Höhepunkt bei etwa der grünen Wellenlänge hat und sich in der Nähe der roten Wellenlänge verjüngt, kann ich den Unterschied zwischen Aus, Grün und Rot nur anhand des vom Fotowiderstand angezeigten Widerstands zuverlässig erkennen.

Haben Sie Zugang zu den Kabeln, die zur LED führen, z. B. einen Stecker?
Nein, und es wäre mir nicht gestattet, die Innenteile der Stangen des Lichtvorhangs zu modifizieren. Ich darf jedoch eine Halterung über der LED anbringen.
Ganz beiseite: Alter, bist du mein Stackexchange-Doppelgänger?

Antworten (1)

•Ist das im Allgemeinen ein guter Ansatz?

Ja, obwohl ich weiter gehen würde. Verwenden Sie zwei Sensoren, einen mit Rotfilter und einen mit Grünfilter.

• Irgendwelche Vorschläge, welchen Fototransistor man verwenden sollte?

Nein. Was Sie brauchen, hängt von einer Reihe von Dingen ab, z. B. welche Art von Halterung Sie für Ihre Sensoren herstellen können, wie hell die LED ist, wie weit Ihre Sensoren von der LED entfernt sind usw. Eine Fotodiode kann in Ordnung oder sogar funktionieren ein Fotowiderstand.

• Irgendwelche Vorschläge, wo man einen Filter findet, der nur rotes oder grünes Licht zum Fototransistor durchlässt?

Ebay.

• Was ist der beste Weg, um rechtzeitig eine Nachricht von einem Arduino / Netduino an einen Host-PC / Mac zu senden (ich vermute, RS232 ist aus Geschwindigkeitsgründen nicht verfügbar - und es scheint, dass USB problematisch ist)

Wenn Sie 60 Bilder / Sek. aufnehmen, sollten Sie grundsätzlich alles tun, was in weniger als 1/60 Sekunde reagiert. Ein einzelnes Zeichen bei 9600 Baud dauert 1 ms, das ist also kaum ein Problem.

Wenn Sie zwei Detektoren verwenden, treten Probleme auf, wenn beide feuern. Einer sollte reichen. Warum auch 60 Samples nehmen, wenn Sie Interrupts verwenden könnten? Weniger Energieverbrauch, schnellere und asynchrone Reaktion.
Sie werden feststellen, dass ich angegeben habe, dass ein Detektor einen roten Filter hat, der andere einen grünen. Wenn beide leuchten, wissen Sie, dass der Eingang einem hohen Maß an weißem Licht ausgesetzt war, anstatt dass die LED entweder rot oder grün war, und der Zustand sollte ignoriert oder eine Fehlermeldung ausgegeben werden. Deshalb habe ich es vorgeschlagen. Lies dir bitte nochmal die OP durch. Die Kamera läuft asynchron mit 60 Hz.
Sollte ein Gelfilter ausreichen? Oder muss ich mich für einen teureren Bandpassfilter entscheiden? Ich habe einige Gelfilter zum Experimentieren bestellt, also werde ich es wohl in Kürze selbst herausfinden.
Vermutlich sind Gelfilter ausreichend. Seien Sie jedoch auf Frustration gefasst. Eine Anzeige-LED ist nicht allzu hell, daher kann es schwierig sein, den Zustand der LED zu bestimmen. Sie müssen besonders darauf achten, das Hintergrundlicht zu eliminieren. Tatsächlich müssen Sie möglicherweise ein Gehäuse herstellen, das die LED vollständig umschließt. Leistungsstarke Filter mit schmaler Bandbreite werden helfen, aber natürlich müssen sie genau dieselbe Wellenlänge wie die LED haben.
Ich sollte in der Lage sein, ein Gehäuse zu schaffen, das das gesamte Umgebungslicht eliminiert (dh eine undurchsichtige Tasse, die bündig über der LED montiert wird).
Gut auf dich. Jetzt zum Einkoppeln des LED-Ausgangs in Ihre Detektoren. Wenn Sie nur einen Detektor hätten, wäre dies einfach - montieren Sie ihn einfach direkt über der LED, oder? Aber Sie haben 2. Möglicherweise können Sie beide in einem Winkel von 45 Grad so nah wie möglich an der LED montieren (und wenn Sie ein Gehäuse herstellen, sollte dies Teil des Designs sein).