Hallo liebe Fs20 Fans,
Ich möchte einem Universal-Empfänger FS20 UE1 den Stundenschlag einer
Westminster Uhr (Regulator oder Kuckucksuhr) beibringen.
Das Relais soll also zur jeden vollen Stunde die Uhrzeit im Sekundentakt anzeigen.
Wenn es nicht zu kompliziert ist, auch jede viertel Stunde takten.(1x,2x,3x)
Wie muss das Makro aussehen ?
Für eine Idee danke ich.
Gruß
Rainer
Relais mit Stundenschlag
Moderator: Co-Administratoren
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Relais mit Stundenschlag
Hallo Rainer
Um die verschiedenen Melodien des Westminsterschlages generieren zu können, brauchst du aber 3 UE1:
- Viertel-Stunde: Erster
- Halbe-Stunde: Zweiter
- Dreiviertel-Stunde: Zweiter + Erster
- Volle-Stunde: 2 x Zweiter
- Stundenschlag: Dritter
Ich mache es mir mal einfach und verwende "UE1" für die Viertelstunden und "UE2" für den Stundenschlag! Beim Makro gebe ich mir etwas mehr Mühe: Die aktuelle Stunde in PHP zu ermitteln wäre einfacher. In Homeputer gibt's dafür keine Funktion. Man muss das über einen Umweg machen!
Ich hoffe, dass der UE1 Timerzeiten von weniger als 1 Sekunde verarbeiten kann! - Verlange jetzt nicht von mir, dass der letzte Stundenschlag genau auf die volle Stunde fällt (wie es - glaube ich - richtig wäre)! - Liesse sich zwar auch machen, aber...
Übrigens: Ich habe versucht, das Ganze mit LAUT() - statt UE1 und UE2 - nachzuspielen und für die Viertelstunden und den Stundenschlag verschiedene Zahlen zu verwenden. Aber bei mir (Vista Home) tönt alles gleich... Wie ist das bei andern?
Viele Grüsse
Bümpi
Um die verschiedenen Melodien des Westminsterschlages generieren zu können, brauchst du aber 3 UE1:
- Viertel-Stunde: Erster
- Halbe-Stunde: Zweiter
- Dreiviertel-Stunde: Zweiter + Erster
- Volle-Stunde: 2 x Zweiter
- Stundenschlag: Dritter
Ich mache es mir mal einfach und verwende "UE1" für die Viertelstunden und "UE2" für den Stundenschlag! Beim Makro gebe ich mir etwas mehr Mühe: Die aktuelle Stunde in PHP zu ermitteln wäre einfacher. In Homeputer gibt's dafür keine Funktion. Man muss das über einen Umweg machen!
Code: Alles auswählen
** Makro mit Ausführungsintervall jede Minute
** Variablen:
** HalbeSekunde Typ Zahl Startwert 0,0
** Stunde Typ Zahl Startwert 0
** Anfang Typ Zeichen
** Ende Typ Zeichen
** Der Tag hat 86400 Sekunden, eine halbe also:
HalbeSekunde := 1 / 172800
wenn Uhrzeit =# "**:15:**" dann
UE1 einschalten für Halbesekunde
endewenn
wenn Uhrzeit =# "**:30:**" dann
UE1 einschalten für Halbesekunde
warte("00:00:01")
UE1 einschalten für Halbesekunde
endewenn
wenn Uhrzeit =# "**:45:**" dann
UE1 einschalten für Halbesekunde
warte("00:00:01")
UE1 einschalten für Halbesekunde
warte("00:00:01")
UE1 einschalten für Halbesekunde
endewenn
wenn Uhrzeit =# "**:00:**" dann
UE1 einschalten für Halbesekunde
warte("00:00:01")
UE1 einschalten für Halbesekunde
warte("00:00:01")
UE1 einschalten für Halbesekunde
warte("00:00:01")
UE1 einschalten für Halbesekunde
warte("00:00:02")
Stunde := 0
Nochmals:
wenn Stunde < 10 dann
Anfang := "0" + Stunde + ":00:00"
Ende := "0" + Stunde + ":59:59"
sonst
Anfang := Stunde + ":00:00"
Ende := Stunde + ":59:59"
endewenn
wenn nicht Uhrzeit zwischen Anfang und Ende dann
Stunde := Stunde + 1
** Sicherheitshalber, damit keine Endlosschleife entstehen kann:
wenn Stunde > 23 dann
verlassen
endewenn
gehezu Nochmals
endewenn
wenn Stunde = 0 dann
Stunde := 12
endewenn
wenn Stunde > 12 dann
Stunde := Stunde - 12
endewenn
Wiederholen:
UE2 einschalten für Halbesekunde
Stunde := Stunde - 1
wenn Stunde > 0 dann
warte("00:00:01")
gehezu Wiederholen
endewenn
endewenn
Übrigens: Ich habe versucht, das Ganze mit LAUT() - statt UE1 und UE2 - nachzuspielen und für die Viertelstunden und den Stundenschlag verschiedene Zahlen zu verwenden. Aber bei mir (Vista Home) tönt alles gleich... Wie ist das bei andern?
Viele Grüsse
Bümpi