Wie sagst du das die Lampe blau sein soll?
Machst du das mit PC, µC, oder sonst irgendwie?
Wie sagst du das die Lampe blau sein soll?
Machst du das mit PC, µC, oder sonst irgendwie?
Egal ob Hardare oder Software, das ist ein Zähler mit einem Überlauf der einenen Reset des Zählers verursacht (ihn zurück auf null setzt).
Kommt wirklich jeder Puls einzeln, ist das kein Problem.
In Software: Ist der Input ein zeitdiskreter Impuls, eine Zählschleife die bei jedem Signal um eins inkrementiert und einen Vergleich bei größer 3 hat.
In Software: Ist der Input eine Zahl, dann muß der aktuelle Zählerstand genommen werden und der Input aufaddiert werden.
Hiervon wird solange, rekursiv 4 subtrahiert, bis das Ergebniss kleiner 4 ist. Das Ergebniss wird dann zum neuen Zählerstand.
In Hardware: Bei einzelnen Impulsen ein CD 4017 mit dem fünften Ausgang (0 bis 3 gleich 4) auf dem Reseteingang und der Eingangsimpuls am Takteingang.
In Hardware: Bei einer Zahl als Input wird es etwas schwieriger, da es auf die Kodierung der Eingangszahl ankommt (Binär, BCD).
Bei einer Softwarelösung, wäre noch interessant welche Plattform (Microcontroller / Board) und welche Programmiersprache / Programmierumgebung genutzt wird. Da nur so konkrete Tips gegeben werden können die sich auf dem Zielsystem dann auch so implementieren lassen.
Geändert von i_make_it (06.02.2016 um 10:04 Uhr)
Das ganze wird mit einem Atmel und einem Relais später realisiert. Es handelt sich um ein Pool Licht, dass durch kurzes ausschalten immer die Farbe wechselt. Wie ich die Hardware hin bekomme ist für mich kein Problem, jedoch scheitere ich derzeit noch daran, wenn ich z.B. 3 Schritte weiter zählen möchte und dabei wieder über 0 weiter muss. Also ein Überlauf. Ich habe keine Möglichkeit die Lampe zu resetten um immer von 0 wegzählen zu können (dann wäre das ganze einfach). Sie "merkt" sich den letzten Zustand immer. Stoße da leider an meine GrenzenWenn mir hier jemand mit einer kleinen "Formel" weiterhelfen kann, wäre ich sehr dankbar.
Welche Programmiersprache verwendest du denn?
In eine Formel gießen kann ich das nicht.
ich programmiere in bascom.
Mit Bascom tu ich mir schwer, mit C könnte ich dir helfen.
Es wird sich hier aber sich jemand finden.
if Zähler=4 then Zähler=0 hilft dir nicht?
Oder meinst du das der µC nicht weiß welche Farbe beim Einschalten leuchtet? Weil die Lampe die Farbe speichert, aber der µC immer bei 0 beginnt. Dann solltest du beim µC ausschalten den aktuellen Farbwert ins EE-Prom schreiben, und beim Programmstart wieder einlesen.
Lesezeichen