Beispiel 3
LEDs und Ausgänge faden. Zuerst werden die Ausgänge von 0-100% hochgefadet, dann wird 1 Sekunde gewartet, danach faden die Ausgänge wieder von 100%-0.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
for(i=0; i <= 25; i++)
{
Data.LedPwm[0] = (byte)i;
Data.LedPwm[1] = (byte)i;
Data.LedPwm[2] = (byte)i;
Data.LedPwm[3] = (byte)i;
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);
System.Threading.Thread.Sleep(200);
}
System.Threading.Thread.Sleep(1000);
for(i=0; i <= 25; i++)
{
Data.LedPwm[0] = (byte)(25-i);
Data.LedPwm[1] = (byte)(25-i);
Data.LedPwm[2] = (byte)(25-i);
Data.LedPwm[3] = (byte)(25-i);
WriteToDevice(Data, AquaComputer.TranslationClasses.multiswitch_Rev141.TransferTypeRegister.OUTPUT);
System.Threading.Thread.Sleep(200);
}
|
for(i=0; i <= 25; i++)
Hier wird eine Schleife gestartet. Zuerst wird die Variable "i" als 0 definiert
(i=0); dann wird angeben bis wann die Schleife wiederholt wird, in diesem Fall solang i kleiner als 25 ist oder 25 ist
(i <= 25). Mit
i++ wird definiert, dass die Schleife bei jedem durchlauf i um 1 erhöhen soll.
Wenn man z.B. von 10-20 Faden will, so gibt man hier einfach an
for(i=10; i <= 20; i++), i wird als 10 definiert, und wiederholt, solang i kleiner oder gleich 20 ist…
Data.LedPwm[0] = (byte)i;
Gibt die Ausgänge an die gefadet werden sollen.
System.Threading.Thread.Sleep(200); (innerhalb der Klammer {})
Gibt an, wie lang zwischen den einzelnen Fading Schritten gewartet werden soll.
Für ein schnelles faden muss der Wert möglichst klein sein, für ein langsames Faden hoch.
Beim herunterfaden, also von 100 % auf 0 %, fällt auf dass sich der for Befehl nicht geändert hat, dies ist auch nicht nötig. Eine Umkehrfunktion erreicht man, indem man einfach an den Ausgängen aus dem
(byte)i; ein
(byte)(25-i);
Wenn man z.B. von 20-10 Faden will, wirds etwas komplizierter, da man hier umgekehrt denken muss
Um also von 20 aus 10 zu faden muss man folgendes angeben
for(i=5; i <= 15; i++). Der erste Wert "5" errechnet sich aus 25(max. Wert) - 20(Anfangswert); der zweite Wert "10" errechnet sich aus 25(max. Wert) - 10 (Endwert)
Endlosschleife des Script
Eine Endlosschleife des Scripts erreicht man indem man das komplette Script einfach in eine Klammer {} setzt, und ein
while(true) davor setzt. Also während true=true wird das Script wiederholt - und das ist immer der Fall
So, nun liegts an euch - Viel Spass beim scripten! ;D