Ich habe ein C-Control 1 mit Starterboard. Ich möchte das relais von port 1 schalten, wenn ich port 16 mit einem schalter brücke. ------------ Mit meinen wenigen Programmierkenntnissen habe ich dazu folgenden text geschrieben. define relais port [1] define taster port [16] relais = 0 'ist ja sonst auf dauer von ccontrol wenn man spannung anlegt if taster = 1 then gosub an else gosub aus #an relais = 1 #aus relais = 0 ----------- Wenn ich nun das Programm rüber schiebe und das c-control starte schaltet das programm das relais aus, wenn ich nun port 16 brücke schaltet das relais ein. Allerdings lässt es sich durch erneutes brücken nicht mehr ausschalten. Was mache ich falsch ? Für so ein einfaches Programm habe ich nirgendwo ein passendes Beispiel gefunden. Ich bin für alle Tips dankbar . Grüße Sebastian
Am Ende jedes Unterprogramms muss ein RETURN stehen.
Okay das mit dem return habe ich ausprobiert. Das ergebniss: Wenn ich das C-control starte, geht er für eine sekunde an und dann aus also bleibt garnicht erst im start modus. Wenn ich den Knopf dann gedrückt halte rattert das Relais.
Ohne Ahnung davon zu haben, wie die Programmiersprache aussieht: Fehlt da nicht irgendwo ne Dauerschleife? (Um die Tasterabfrage herum) Gruß Lasse
So sollte Dein Programm eigentlich aussehen:
1 | define relais port [1] |
2 | define taster port [16] |
3 | |
4 | relais = 0 |
5 | |
6 | #loop |
7 | if taster = 0 then tog relais 'Taste gedrückt zieht Eingang auf Masse |
8 | pause 5 '100ms Tastenprellen abwarten |
9 | #wait_taste |
10 | if taster = 0 then goto wait_taste 'warten, bis Taste losgelassen |
11 | pause 5 '100ms Tastenprellen abwarten |
12 | goto loop |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.