aha
also
5400/54=100cm/s (->x3600) =360000cm/h (-> / 10000) = 36km/h
ist das so richtig?
Hallo TobiasBlome,
ja, 18000 mal pro Sekunde wird Timer1 um 1 erhöht. Wenn Timer1 2^16 erreicht hat, ist er wieder 0 (Überlauf).aber... ist 18000Hz nicht = 18000 mal pro Sekunde
Ich würde 1 Word Variable deklarieren, "Bla"
Bei Int0 schreibst du Timer1 = 0.
Bei Int1 schreibst du Bla = Timer1.
Das Ergebnis steht nun in Bla.
Kein Timer1 starten oder stoppen.
Bei Überlauf sind 3,6 Sekunden um, das ist mehr als die angepeilte Zeit.
dazu können wir später kommen.
In der Hauptschleife (dazu ist sie da) berechnest du den Geschwindigkeitswert mit Hilfe von Bla.
Deine Strecke hat 30cm. Dein Ereignis dauert (angenommen) 0,3 Sekunden. (Geschwindigkeit 1m/s) Dein Bla hat dann den Wert 5400. (18000/s*0,3s) Wenn du jetzt durch 54 teilst, erhältst du das Ergebnis in cm/s.
Klar?
Gruß, Michael
aha
also
5400/54=100cm/s (->x3600) =360000cm/h (-> / 10000) = 36km/h
ist das so richtig?
...
mmhh
weiß nicht so das so richtig ist - ich bekomm nur noch 1 bis max 6 km/h wenn ich meine Hand an den 2 Drähten zum testen dran vorbei ziehe.
do
Zeit1 = Zeit / 54
Zeit2 = Zeit1 * 3600
Zeit3 = Zeit2 / 10000
Loop
...
kann man es irgendwie hinbekommen, dass der INT nur einen Impuls bekommt? Weil: wenn INT1 auf high ist wird schon der Wert angezeigt und wenn INT1 auf LOW geht ändert sich der Wert. Problem also wenn etwas beide Lichtschranken gleichzeitig belegt... kann man INT als Impuls benutzen, der erst nach einem "Flanknwechsel" wieder arbeitet?
Tobias
...
Hallo TobiasBlome,
Zeit1 = Zeit / 54 (angenommen 1m/s, dann hat Zeit = 5400)
>Zeit1 hat jetzt 100 (cm/s)
Zeit2 = Zeit1 * 3600
>Zeit2 hat jetzt 360000**
Zeit3 = Zeit2 / 10000
>Zeit3 hat jetzt den Wert 36 (3,6 wäre richtig)
** Eine Word Variable hat einen Wertebereich bis 2^16 = max 65535, hast du das bedacht?
Wenn ich eine Word Variable durch 10000 teile können also nur noch Werte von 0 bis 6 rauskommen (die Nachkommastellen werden abgeschnitten).
Gruß, Michael
Hallo,nein daran habe ich nicht gedacht - so einfachman muss es nur sehen...
...
warum eigendlich durch 54 teilen?
...
Warum willst du überhaupt teilen? Lass doch den Wert und setze bei Ausgabe nur das Komma entsprechend.
Außerdem müsstest du durch 100.000 teilen, wenn du von cm auf km umrechnen willst.
Gruß
Rolf
moment etwas langsamer...
also ich habe eine Messstrecke von 30cm und eine Zeit die ich in Km/h umrechnen muss oder?
...
also die Rechnung ist falsch weil:
30cm 0,3sec -> 5529,6 (18432/s*0,3s) -> 5529,6 / 54 = 102,4cm/s
30cm 0,1sec -> 1843,2 (18432/s*0,1s) -> 1843,2 / 54 = 34,1cm/s
also wenn es 0,3s dauer ist es länger als bei 0,1s also langsamer trozdem schafft er bei 0,3s 100cm/s und bei den schnelleren 0,1s nur 34cm/s
...
Lesezeichen