Forum: Gesperrte Threads Programmierung von Lichtschranke


von Maximilian R. (Gast)


Lesenswert?

hallo ich habe eine Lichtschranke für meinen Arduino zusammen gebaut. 
Jetzt fehlt mir hierzu nur noch der richtige Programmtext. Folgendes 
soll geschehen: Wenn die erste Lichtschranke unterbrochen wird soll die 
Zeitmessung beginnen und wenn die zweite unterbrochen wird soll die 
Zeitmessung enden. Diese Differenz der Zeiten teilt man durch den 
gemessenen Abstand und man erhält die Geschwindigkeit. Meine eigenen 
Versuche waren bisher mit if-Schleifen verbunden, hier gibt es 
allerdings ein Problem: Die Zeitmessung wird erst wieder gestoppt wenn 
die zweite Lichtschranke das letztemal unterbrochen wird. Somit 
entstehen unnötige Ungenauigkeiten. Ich hätte jetzt gern ein Methode mit 
der man mein eigentliches Vorhaben umsetzten kann. Freue mich auf nette 
Antworten :D

: Verschoben durch Moderator
von Wolfgang (Gast)


Lesenswert?

Maximilian Ruderer schrieb:
> Ich hätte jetzt gern ein Methode mit der man mein eigentliches Vorhaben
> umsetzten kann.
Du könntest den Timer verwenden und über Capture die Zählerstände 
festhalten. In der zugehörigen ISR kannst du die Zählerstände dann zur 
Weiterverarbeitung, i.e. Geschwindigkeitsberechnung und Anzeige an dein 
Hauptprogramm melden.

von Maximilian R. (Gast)


Lesenswert?

was ist capture und was ist isr? bin ein Neuling am arduino

von spontan (Gast)


Lesenswert?

Wie sind die Lichtschranken denn am µC angeschlossen?

von Maximilian R. (Gast)


Lesenswert?

Die Lichtschranken geben einen analogen wert an den arduin mit dem 
sollte doch zu arbeiten sein.

von spontan (Gast)


Lesenswert?

>mit dem sollte doch zu arbeiten sein.

Dann tu es.

von Wolfgang (Gast)


Lesenswert?

Maximilian Ruderer schrieb:
> was ist capture und was ist isr?
Über die Input Capture Funktion kannst du im Timer Turorial nachlesen
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR

ISR steht für
http://de.wikipedia.org/wiki/Interrupt_Service_Routine

von Karl H. (kbuchegg)


Lesenswert?

Maximilian Ruderer schrieb:

> gemessenen Abstand und man erhält die Geschwindigkeit. Meine eigenen
> Versuche waren bisher mit if-Schleifen verbunden,

Es gibt keine if-Schleifen.
Ein If ist keine Schleife sondern eine Abfrage.
Das Wesen einer SChleife ist es, dass etwas wiederholt wird. Wo wird 
denn bei einem if etwas wiederholt?

> hier gibt es
> allerdings ein Problem: Die Zeitmessung wird erst wieder gestoppt wenn
> die zweite Lichtschranke das letztemal unterbrochen wird.

Und was hindert dich jetzt daran, bei der zweiten Lichtschranke dieselbe 
Technik einzusetzen, die ich dir bei der ersten Lichtschranke gezeigt 
habe?

Beitrag "Lichtschranke Hilfe"

Ein bischen was musst du schon auch selber machen. Ist ja schliesslich 
dein Projekt.

: Bearbeitet durch User
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.