Forum: PC-Programmierung Digitales Signal messen und berechnen mit PC


von Eugen W. (ewiebe1)


Lesenswert?

Hallo, ich habe folgendes zu tun:
Ich muss die Blinkfrequenz einer LED bestimmen (per PC und C#)

Also:
1.Leucht-Info als digitales Signal erfassen (sagen wir in 1ms Abstand)
2.Information speichern (im Array/Liste)
3.1x pro Sekunde diese Daten durchpflügen und bestimmen, mit welcher
Frequenz die LED leuchtet (dauernd an, dauernd aus, oder
PeriodenDauer 10ms..500ms)

1+2 bekomme ich hin, aber wie mache ich 3. ?

Danke im Voraus

von busche (Gast)


Lesenswert?

du hast die daten in einem array gespeichert. wenn 5 mal low und 5 mal 
high kamen weißt du das bei 10ms pro messung 50ms high und 50ms low 
signal vorhanden war. und ob nun led an oder aus bestimmst du mit dem 
aktuellen wert

von Sharping (Gast)


Lesenswert?

Ich finde deinen Ansatz eher ungünstig. Warum achtest du nicht einfach 
auf die ÄNDERUNGEN im Signal? Du könntest z.B. die Zeit zwischen dem 
Umschalten von high auf low und umgekehrt messen.

Dann hast du schnell Frequenz und Duty Cycle ermittelt, brauchst keinen 
Speicher für große Arrays und musst auch nichts "durchpflügen" ;-)

von asdf (Gast)


Lesenswert?

Eugen W. schrieb:
> 3.1x pro Sekunde diese Daten durchpflügen und bestimmen, mit welcher
> Frequenz die LED leuchtet (dauernd an, dauernd aus, oder
> PeriodenDauer 10ms..500ms)

Was lauft denn sonst noch auf dem pc? Task scheduling zeiten sind auch 
irgendwo im ms bereich, da kann es ganz boese glitches geben, bei deiner 
messung.

von Robert L. (lrlr)


Lesenswert?

>1+2 bekomme ich hin, aber wie mache ich 3. ?


das schwierige am punkt 3, ist ja wohl nicht die Umsetzung, sondern (wie 
so oft) erstmal zu DEFINIEREN was Punkt 3 überhaupt macht

in diesem Fall:
zu definieren was/wann welches Ergebnis liefert

was ist wenn die LED 1/2 sekunde leuchtet, dann 1/4 sekunde blinkt und 
dann  1/4 nicht leuchtet..

usw.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.