|
AufgabeDer Händetrockner soll so programmiert werden, daß, sobald die Lichtschranke unterbrochen wird, der Lüfter ein- und nach 5 Sekunden wieder ausgeschaltet wird. So der Text aus "Computing Starter". Dazu wird an M1 der Ventilator (Propeller) und an M2 eine Linsenlampe angeschlossen. An E1 ist der Phototransistor angeschlossen (auf Polung achten). Phototransistor und Lampe bilden eine Lichtschranke AnwendungskonstantenConst mVentilator = 1, mLampe = 2 Beschriftung der Textfelder .lblTitel = "Händetrockner 1" fishMain ftiSetMotor mLampe, ftiEin
' --- Lichtschranke ein Was passiert da? ErweiterungenAnzeige des Betriebszustandes in der Statuszeile : printStatus "trocknet" printStatus gibt einen Text in die Statuszeile aus. Der Text "trocknet" sollte nach Einschalten des Ventilators erscheinen, der Text bereit, wenn die Lichtschranke steht, aber der Ventilator nicht läuft. Variable Zeiten. In die Felder "Steuerwerte" können beliebige numerische Werte eingegeben werden. Den oberen nennen wir Anlaufzeit und den unteren Trockenzeit. Dazu muß die Beschriftung der Textfelder erweitert werden : Const wAnlaufzeit = 1, wTrockenzeit = 2 ' --- bei den
Const und in der Source von fishMain werden dann die entsprechende Zeilen geändert : ftiWaitForTime Werte(wAnlaufzeit) ' Warten Aufgabe 2Modell wie bisher. Der Lüfter soll jetzt aber nicht mehr konstant 5 Sekunden laufen, sondern, wenn die Lichtschranke nicht mehr unterbrochen ist (die Hände sind raus) den Betrieb einstellen.modifiziertes fishMain ftiSetMotor mLampe, ftiEin
' --- Lichtschranke ein Auf den ersten Blick siehts recht ähnlich aus. In der Do ... Loop Schleife ist jetzt ein komplexeres If (mit Else) angesiedelt : wenn die Lichtschranke unterbrochen ist (Not ftiGetInput(ePhototransistor)) wird der Ventilator eingeschaltet, wenn nicht wird er abgeschaltet (bei jedem Durchlauf der Schleife, wäre eigentlich nicht nötig, ist aber einfacher, was könnte man da tun?). Man sollte wieder die printStatus einfügen und bei den Konstanten die nicht mehr benötigten für Trockenzeit entfernen. |