Das lernst du heute
- Knopf öffnet, Timer schließt
- Verriegelung zweier Türen
- Statuslampen
Diese Woche hast du Flanken, Timer, Abläufe und Verriegelung gebaut. Jetzt kommt alles zusammen: eine Türsteuerung für den Vorraum zwischen Wohnbereich und Garage.
Der Aufbau
| Gerät | Prefab | Name |
|---|---|---|
| Tür innen | StructureCompositeDoor | Innentuer |
| Tür außen | StructureCompositeDoor | Aussentuer |
| Knopf innen | StructureLogicButton | TasterInnen |
| Knopf außen | StructureLogicButton | TasterAussen |
| Statuslampe innen | StructureWallLight | SperreInnen |
| Statuslampe außen | StructureWallLight | SperreAussen |
Ein Knopfdruck öffnet „seine“ Tür. Nach OFFENZEIT Takten schließt sie von selbst. Solange eine Tür offen ist, bleibt die andere zu und gesperrt, und ihre Statuslampe leuchtet.
Teilziele
- Knopf öffnet, Timer schließt: Ein Druck auf „TasterInnen“ öffnet die Innentür. Nach
OFFENZEITTakten ist sie wieder zu. - Verriegelung: Ist die Innentür offen, bewirkt „TasterAussen“ nichts. Umgekehrt genauso.
- Statuslampen: Die Lampe einer Tür leuchtet, solange diese Tür gesperrt ist, weil die andere offen steht.
- Ausfall: Fehlt eine Tür, öffnet die andere nicht mehr.
Bausteine
Pro Tür brauchst du eine Flanke und einen Timer, der beim Öffnen auf OFFENZEIT gesetzt wird und dann herunterläuft:
sgt flanke knopfI altI # Druck innen?
move altI knopfI
and flanke flanke zuA # nur, wenn aussen zu ist
select zeitI flanke OFFENZEIT zeitI
sub zeitI zeitI 1
max zeitI zeitI 0
sgtz offenI zeitI
Für die Außentür kommt noch der Vorrang dazu: Sie öffnet nur, wenn die Innentür weder offen ist noch im selben Takt öffnet. Rechne deshalb die Innentür zuerst und prüf danach offenI.
Die Statuslampe ist einfach der Zustand der anderen Tür: Ist die Innentür offen, leuchtet „SperreAussen“.
Eine Tür, deren Wert NaN ist, gilt als offen. seqz liefert dann 0, und die andere Tür bleibt zu. Genau das prüft das letzte Teilziel.
Projektaufgabe
Aufgabe
Baue die Türsteuerung für den Vorraum mit den Geräten und Namen aus der Tabelle. OFFENZEIT ist 8 Takte (4 s). Die Teilziele stehen über dem Editor.
Teilziele
- Teilziel 1: Knopf öffnet, Timer schließt
- Teilziel 2: Verriegelung in beide Richtungen
- Teilziel 3: Statuslampen
- Teilziel 4: Außentür fehlt
Hinweise
Hinweis 1
Lies beide Knöpfe und den Zustand beider Türen (seqz für „zu“).
Hinweis 2
Innentür: Flanke, and mit zuA, Timer mit select, herunterzählen, sgtz.
Hinweis 3
Außentür genauso, zusätzlich and mit zuI und mit seqz tmp offenI. Lampen: SperreInnen = offenA, SperreAussen = offenI.
Quiz
2 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Alle Teilziele des Projekts bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden