kramann.info
© Guido Kramann

Login: Passwort:










10.1 Testweise Umsetzung eines vom PC aus ein- und ausschaltbaren Positionslichtes

10.1 (EN google-translate)

10.1 (PL google-translate)

Im späteren Verlauf soll das Ein- und Ausschalten des Positionslichtes über die per Infrarot vom PC an das Fahrzeug übertragenen Daten der seriellen Schnittstelle geschehen.

Als einfache Testanordnung soll aber zunächst ein Positionslicht über eine lange (1,5m) flexible Litze vom Parallelport des PCs aus versorgt, bzw. ein- und ausgechaltet werden. Ersatzweise kann zunächst auch eine vorgefertigte Testplatine mit LEDs am Ausgangsport der parallelen Schnittstelle mit Verlängerungskabel verwendet werden.

Um die Position sauber erfassen zu können soll später ein Frame mit ein- und direkt danach eines mit ausgeschaltetem Positionslicht von der Webcam aufgenommen werden. Durch Differenzbildung beider Bilder soll dann die Lage des Positionslichtes klar hervortreten.

Somit soll im ersten Versuch durch eine entsprechende Ansteuerung durch ein C-Programm erst die Webcam ein Bild erfassen, dann die Positionslampe über den Parallelport einschalten, um dann ein zweites Bild aufzunehmen.

Programmablauf bei der Erfassung der Lage des Positionslichtes.

Bild 10.1-1: Programmablauf bei der Erfassung der Lage des Positionslichtes.

Übung

Bauen Sie eine einfache Anordnung auf, bei der an den Parallelport bei Data 0 (Pin Nr. 2) alternativ eine rote LED (5mm) oder eine Infrarotdiode angeschlossen werden kann (LD274-3).

Schreiben Sie nun eine einfache C-Funktion zum Einschalten der LED und eine zum Ausschalten der LED. Schreiben Sie eine main-Methode, die diese Funktionen testet.

Ergänzen Sie das Programm durch eine Zeitsteuerung in der main-Methode: Ab nun soll die LED immer zyklisch eine Sekunde leuchten und dann wieder eine Sekunde aus sein. Nutzen Sie hierzu die C-Bibliotheks-Funktion clock() aus der Bibliothek time.h.

Hinweise

Orientieren Sie sich beim Aufbau der Hardware an Kapitel 1.1 und beim Schreiben des C-Programms an Kapitel 1.2. Hinweise zu clock() finden Sie in der C++-API unter "Alle C-Funktionen".