Wie sagst du das die Lampe blau sein soll?
Machst du das mit PC, µC, oder sonst irgendwie?
Ich möchte gerne eine LED Lampe die beim erneuten einschalten immer die Farbe wechselt gezielt ansteuern können. Wenn diese Lampe also auf weiß steht, möchte ich ihr durch rasches ein und aus schalten sagen können "schalte auf blau".
Beispiel:
0=weiß
1=rot
2=grün
3=blau
steht diese Lampe nun also gerade auf weiß und ich möchte blau ist das sehr einfach.
Istwert=0
Sollwert=3
Sollwert - Istwert = 3
3 Schritte weiterschalten und ich habe blau.
Wie gehe ich jedoch vor wenn ich nun von z.B. grün auf rot schalten möchte? Hier kann ich diese Rechnung leider nicht anwenden.
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 Grenzen Wenn 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.
(Soll+Feldgröße-Ist) Modulo Feldgröße.
Wenn Bascom reines Basic ist, sollte der Modulo als MOD geschrieben werden, wahrscheinlich also:
Distanz = (Soll+4-Ist) MOD 4
Ich kann zwar auch klein Bascom, aber Google hilft ja bekanntlich.
Mal sehen was man da rausbekommt.
Also muß der Amtel das Einschalten mitbekommen.
"Beim Enschalten", heist schon mal "steigende Flanke".
Also einen Interrupt mit Rising.
http://staff.ltam.lu/feljc/electroni...Tutorial_2.pdf
Damit bekommt Bascom dann schon mal mit das es einen Einschaltvorgang gibt.
Dafür braucht es dann den Ausgang der entsprechend getoggelt wird.
Und deine Tabelle, damit Bascom weis um wieviel Schritte es schalten muß.
Da hatte ich ja schon geschrieben, das es ein Zähler mit Überlauf ist und wie die Rechnung funktioniert.
Jetzt muß sich der Amtel aber noch mit der Lampe synchonisieren um die Lampe in die richtige Farbe schalten zu können.
Und ggf. will man ja auch überwachen ob die Lampe nun an ist und in welcher Farbe.
Zum reinen Synchonisieren, reicht ein einzelner Fotosensor (LDR) und ein passender Farbfilter (Man kennt ja noch die 3D-Brillen mit einer roten und einer grünen Folie).
Zum bestimmen der aktuellen Farbe braucht es drei Sensoren mit den entsprechenden Filtern.
Lesezeichen