• ComputerBase erhält eine Provision für Käufe über eBay-Links.

C# USB-Bewegungsmelder selber bauen

Maxim H

Cadet 3rd Year
Registriert
Mai 2014
Beiträge
58
Guten Tag miteinander,
vorab: ja ich weiß, das Thema ist hier vielleicht nicht ganz so richtig. Aber ich fand keine Kategorie die so wirklich dazu passt, aber irgendwo hat das Thema schon was mit Computer & Programmierung zu tun.

Meine Problemstellung, ich würde gern ein Programm schreiben, welches Ausgaben tätigt, wenn ein Objekt oder eine Person eine Lichtschranke durchquert, um das Ganze umzusetzen fällt mir nur ein per USB angeschlossener Bewegungsmelder ein. Habe mal danach gegoogelt und die Dinger kostet ja mehr als 200 Euro und dafür, dass ich dies nur Privat nutzen will ist mir das eindeutig zu teuer.

Da ist meine Frage: Kann ich einen USB-Bewegungsmelder nicht selber bauen?
Ich will ja keine bestimmten Codes senden oder den Melder ein- und ausschalten, sondern einfach nur einen USB-Impuls erhalten, wenn jemand die Infrarotschranke durchquert.

Habe mich nun also etwas bei Conrad umgesehen und herausgefunden, dass ich auf jeden Fall einen IR-Emitter und IR-Empfänger brauche.

Soweit ich weiß noch einen digitalen Signalverstärker. Doch: wie kriege ich dann ein USB-Signal?

Meine Kentnisse auf diesem Gebiet sind da recht beschränkt.

LG
Maxim H.
 
Arduino oder anderer Microcontroller.
 
Andere Möglichkeit wäre ne Webcam zu benutzen und halt gucken ob sich was im Bild bewegt hat. Kommt dann aber auf die genaue Situation an denn eine Lichtschranke deckt einen ganz anderen Bereich ab als ne Webcam.
 
Frazer1 schrieb:
Andere Möglichkeit wäre ne Webcam zu benutzen und halt gucken ob sich was im Bild bewegt hat. Kommt dann aber auf die genaue Situation an denn eine Lichtschranke deckt einen ganz anderen Bereich ab als ne Webcam.

Ich denke wenn ich per Programmcode das Bild einer Webcam überprüfe wäre das zu ungenau. Ich möchte ja nur eine ganz bestimmte - sozusagen - Linie überprüfen.
 
Schau dich trotzdem bei überwachungskamerasoftware um. Wenn du nur eine "Linie" checken willst, kannst du den Aufnahmebereich auf 1px reduzieren.
 
Maxim H schrieb:
wie kriege ich dann ein USB-Signal?

Mach das anders. USB ist doof, dafür müsstest du Treiber programmieren können. Das mit dem IR-Sender und -Empfanger ist schon mal gut. Die bekommst du für wenige Cent. Nimm sowelche wie sie auch in Fernbedienungen sind. Die Empfänger reagieren nur auf 38kHz-Signale und sind dadurch unempfindlich. Natürlich musst du auch mit 38kHz senden. Wenn du die an einen µC wie z.B. Arduino anschließt hast du dort ein digitales Signal (also 1 oder 0). Das kannst du vom Arduino per (virtueller) serieller Schnittstelle rausschicken und im C# empfangen und darauf reagieren. Wenn du das nicht per Kabel verbinden willst kannst du auch BlueTooth nehmen. BT Module kosten keine 5€. Das kommt dann auch an einer virtuellen seriellen Schnittstelle an. Wenn du von all dem keine Ahnung hast ist es wohl günstiger, du gibst die 200€ aus. Materialkosten sind 10 - 20€ aber wenn du die Zeit mitrechnest, dann kommst du wohl über die 200€.
 
Quick and Dirty:

Sowas als Sensor

12V Steckernetzteil um die Lichtschranke zu versorgen.

Mit dem Schaltkontakt der Lichtschranke CTS und RTS von einem USB-Seriell Wandler brücken.

Dann musst du mit deinem Programm nur dauerhaft RTS der Seriellen Schnittstelle setzen und bekommst auf CTS signalisiert wenn jemand die Lichtschranke unterbricht.
 
Okay, werde ich so probieren. Die Kentnisse der Programmierung sind vorhanden, es harperte Einfach nur an der Hardware.
 
http://www.adafruit.com/products/189 - das hier ist ein PIR Sensor, wie er in normalen Bewegungsmeldern für Lichtschalter genutzt wird.

Diesen musst Du nun noch auf irgendeine Art und Weise an deinen Computer anbinden. Bei einem Raspberry PI könntest Du GPIO nutzen, für einen normalen Computer würde ich noch einen kleinen Arduino o.ä. empfehlen (1 Digital Input ist ausreichend!), dann kannst Du dir das Signal auf einen seriellen Anschluss ausgeben lassen.

Würde mich freuen, wenn Du über den weiteren Fortschritt deines Projektes hier berichten würdest :-)
 
Wenn du den Microcontroller mit C# programmieren willst, dann solltest du die .NET Gadgeteer-Plattform verwenden. Arduino hat seine eigene Programmiersprache und basiert auf C++.

(Werden die eigentlich überhaupt noch hergestellt?)
 
Kanibal schrieb:
Bei einem Raspberry PI könntest Du GPIO nutzen, für einen normalen Computer würde ich noch einen kleinen Arduino o.ä. empfehlen (1 Digital Input ist ausreichend!), dann kannst Du dir das Signal auf einen seriellen Anschluss ausgeben lassen.

Wenn nur 1 o 2 IO´s gebraucht werden ist ein rPi oder Arduino Overkill, jeder USB-Seriell Wandler hat 2 Ein und Ausgänge in Form von CTS/RTS DTR/DSR onboard. Die sind sauber mit nem 9 pol SUBD anschliessbar und ohne speziellem Treiber mit fast jeder Programmiersprache ansprechbar. Wenn kein Ausgang benötigt wird kann dieser zur 5V Versorgung zB. der Eingänge benutzt werden.
 
Zurück
Oben