Blinken mit Komfort

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail
 

Blinken mit Komfort

Lampen mit gelber Kappe, platziert in tranparenten Röhren (wie sie z.B. beim Geldautomaten des Profi Computings von 1991 verwendet wurden). Der Reihe nach angeschlossen an M1 - M4

Lampen an und aus in Form einer Ampel ist ein alter Hut. Hier eine schicke Stehlampe mit vier gelben Birnen, die auf mancherlei Art zum Blinken gebracht werden (Quellen in Blinker.ZIP, zusätzlich erforderlich vbFish30Setup.EXE) :

Die EinerTour 

Jeweils eine Lampe wird der Reihe nach eingeschaltet :

Private Sub EinerTour()
Const Tour = 100
  Do
    ft.SetMotor ftiM1, ftiEin
    ft.Pause Tour
    ft.SetMotor ftiM1, ftiAus
    ft.SetMotor ftiM2, ftiEin
    ft.Pause Tour
    ft.SetMotor ftiM2, ftiAus
    ft.SetMotor ftiM3, ftiEin
    ft.Pause Tour
    ft.SetMotor ftiM3, ftiAus
    ft.SetMotor ftiM4, ftiEin
    ft.Pause Tour
    ft.SetMotor ftiM4, ftiAus
  Loop Until ft.Finish()
End Sub

Läuft ab im Rahmen im Rahmen eines Template ftcomputing30 Programms. Hier gehts schön der Reihe nach eine Lampe ein, warten und wieder aus.

Die ZweierTour

Jeweils zwei Lampen werden der Reihe nach eingeschaltet. Die Besonderheit hier : es geschieht mit einem Befehl 

Const mL1 = &H1, mL2 = &H4, mL3 = &H10, mL4 = &H40
ft.SetMotors mL1 + mL2

Dazu wird mit SetMotors ein "Output-Statusword", das jeweils in zwei bit den Status der M-Ausgänge enthält, übertragen. Das Statusword wird bei jedem SteMotors neu zusammengestellt.

00 00 00 00 00 00 00 00 heißt die Ausgänge M8 - M1 sind ausgeschaltet

00 00 00 00 00 00 00 01  (mL1)
00 00 00 00 00 00 01 00 + (mL1) 
-----------------------
00 00 00 00 00 00 01 01 die Eingänge M1 und M2 sind eingeschaltet (links)

So geht die Angelegenheit deutlich einfacher.

Die DreierTour

Diesmal werden umlaufend immer drei Lampen eingeschaltet (oder auch immer eine aus). z.B. mit

ft.SetMotors mL4 + mL1 + mL2

AlleTour

Hier werden nacheinander alle Lampen ein und wieder aus geschaltet.

In Programm BlinkerPoor sind diese Routinen alle versammelt, sie können in Sub cmdAction_Click nach Bedarf aufgerufen werden.

Mit BlinkerComfort kommt dann der Luxus :

Die Routinen können über eine KomboBox ausgewählt werden und die Pausenzeiten können während des Ablauf über einen Slider laufend verändert werden. Als Zugabe dann noch

Der Zufall

Private Sub Zufall(ByVal Frequenz&)
Dim OutputStatus&
  OutputStatus = 0
  If Rnd > 0.4 Then OutputStatus = OutputStatus + mL1
  If Rnd > 0.4 Then OutputStatus = OutputStatus + mL2
  If Rnd > 0.4 Then OutputStatus = OutputStatus + mL3
  If Rnd > 0.4 Then OutputStatus = OutputStatus + mL4
  ft.SetMotors OutputStatus
  ft.Pause (Int(Rnd * 10) + 1) * Frequenz
End Sub

Hier werden in OutputStatus die Lampen zusammengestellt, die "dran" sind, geschaltet wird mit ft.SetMotors OutputStatus. Die Funktion Rnd liefert als Ergebnis einen Single Wert im Bereich 0.0 - 1.0, wenn der Wert > als 0.4 ist wird die Lampe eingeschaltet (also mit ca. 60% Wahrscheinlichkeit). Die Pausenzeiten werden im Bereich 1 - 10 variiert.