| Geschwindigkeitsbestimmung mit einer DoppellichtschrankeDie Firma Cornelsen Experimenta hatte in den 90er Jahren den CVK-fischertechnik Baukasten "Computing Messen-Steuern-Regeln" im Angebot. Er ist auch heute noch in Schulen zu finden. Hier ein Beispiel - transportiert in die heutige Windows Umgebung - : Modellaufbau : Doppellichtschranke unter Nutzung des parallelen Interfaces Die Cornelsen Versuchsbeschreibung dazu lautete : Doppellichtschranke als Geschwindigkeitsmesser Über die beiden Ausgänge M1 und M2 und die beiden Eingänge E1 und E2 werden zwei Lichstschranken angesteuert. Ein Gegenstand (etwa ein Spielzeugauto) durchfährt zuerst die Schranke 1 und dann die Schranke 2. Die Passierzeiten werden gemessen. Über die Gegenstandslänge können die Passiergeschwindigkeiten durch die Schranken und über den Lichtschrankenabstand die Geschwindgkeit zwischen den Schranken bestimmt werden. Der Versuchsablauf sieht dann so aus :
Durchgeführt und ausgewertet wird der Versuch mithilfe des Programms CVKGeschwind :
Das Programm wurde neu mit Visual Basic 6 unter Nutzung der FishFa30.DLL erstellt. Das kompilierte Programm und die Source ist in LichtProg.ZIP enthalten, die zusätzlich erforderliche DLL in vbFish30Setup.EXE. Ich verdanke die Anregung zu dieser Seite Herrn H-J. Maier (Physiklehrer, Erweiterte Realschule). VB2008 Console und ROBO TX ControllerAls Kontrast - 7 Jahre später - eine einfache Lösung, nur mit der Auswertung der Durchfahrtgeschwindigkeit, als VB2008 Console-Programm für den ROBO TX Controller : Imports System.EnvironmentImports FishFaceTX Module GeschwindEins Const AbstandSchranken = 435 Dim tx As New Const Lampen As Const SchrankeL As Const SchrankeR As Sub Main() Dim StartZeit As Dim Fahrzeit, Geschwindms, Geschwindkmh As Single tx.OpenController("COM4") tx.SetLamp(Lampen, Dir.On) tx.Pause(1234) Console.WriteLine("Messung kann gestartet werden") tx.WaitForLow(SchrankeL) StartZeit = TickCount tx.WaitForLow(SchrankeR) Fahrzeit = (TickCount - StartZeit) / 1000 tx.CloseController() Console.WriteLine("Fahrstrecke : {0:000} mm", AbstandSchranken) Console.WriteLine("Fahrzeit : {0:0.00} sec", Fahrzeit) Geschwindms = AbstandSchranken / 1000 / Fahrzeit Console.WriteLine("Geschwindigkeit : {0:0.00} m/s", Geschwindms) Geschwindkmh = Geschwindms * 3.6 Console.WriteLine("Geschwindigkeit : {0:0.00} kmh", Geschwindkmh) Console.ReadLine() End Sub End Module Durchfahrt (mit einem Spielzeugauto) durch die SchrankeL und SchrankeR von links nach rechts, Messung der Zeit zwischen den Lichtschranken und Bestimmung der Geschwindigkeit. - Imports System.Environment für die Zeitmessung mit TickCount in
MilliSekunden. DownloadSources enthalten in DrehzahlD Stand : 21.01.2010 |