Das lernst du heute
- Werte über Distanz übertragen
- Sender und Empfänger
- Grenzen der Fernsteuerung
Der Außenposten liegt weit von der Basis entfernt. Ein Datenkabel dorthin zu ziehen, ist mühsam. Der Logic Transmitter (StructureLogicTransmitter) überträgt Werte ohne Kabel.
Zwei Betriebsarten
Ein Logic Transmitter hat zwei Modi, die du am Gerät umschaltest:
| Modus | Wert | Aufgabe |
|---|---|---|
| Active | TransmitterMode.Active = 1 | Sender: hält einen eigenen Wert in Setting |
| Passive | TransmitterMode.Passive = 0 | Empfänger: wird mit dem Schraubendreher mit einem aktiven Sender verbunden |
So steht es im Spielcode: Ein aktiver Sender trägt sich in eine Liste aller Sender ein. Am passiven Empfänger wählst du mit dem Schraubendreher einen davon aus. Eine Entfernungsgrenze prüft der Code dabei nicht.
Spiegeln
Der passive Empfänger spiegelt seine Gegenstelle: Jeder Wert, den du am Empfänger liest, kommt in Wahrheit von dort. Liest ein Chip am Außenposten den Empfänger, bekommt er das Setting des Senders an der Basis. Schreibt er etwas hinein, landet es beim Sender:
sbn FUNK HASH("Funk Basis") Setting ladung # Basis: in den Sender
l wert funk Setting # Posten: Empfaenger lesen
Strom braucht dabei nur der Empfänger (laut Spieldaten 50 W). Der Code prüft beim Lesen und Schreiben allein, ob der Empfänger Strom hat. Das Setting eines aktiven Senders geht auch dann durch, wenn der Sender selbst keinen Strom hat.
Grenzen der Fernsteuerung
Ein Sender trägt einen Wert. Für mehr Werte brauchst du mehr Senderpaare oder du packst mehrere Werte in eine Zahl, das kommt später im Kurs. Wichtiger sind die Ausfälle:
- Ohne Strom liefert der Empfänger 0 und meldet sich als nicht lesbar. Ein
loderlbndarauf hält dann mitIncorrectLogicTypean. Was du ohne Strom hineinschreibst, verwirft das Spiel still. - Ohne verbundenen Sender ist der Empfänger ebenfalls nicht lesbar.
- Schaltest du den Modus am Gerät um, ist die Verbindung weg und
Settingsteht auf 0. Auch beim Verbinden mit dem Schraubendreher setzt das Spiel dasSettingdes Senders auf 0.
Deshalb gehört der Empfänger an einen Pin, und vor jedem Lesen prüfst du ihn:
bdns funk kein_funk # Geraet weg?
bdnvl funk Setting kein_funk # nicht lesbar? (Strom, Verbindung)
l wert funk Setting
Ein Funkwert kann alt sein, ohne dass du es merkst. Steht der Chip an der Basis, bleibt das letzte Setting im Sender stehen. Für Wichtiges lässt du den Sender einen Zähler mitschicken, den der Empfänger auf Veränderung prüft. Das kommt beim Watchdog wieder.
Steuer über Funk nur, was auch ohne Funk sicher bleibt. Der Außenposten muss mit seinem eigenen Chip in einen sicheren Zustand gehen, wenn die Verbindung abreißt.
Schaubild
Übung
Aufgabe
Am Außenposten hängt ein passiver Logic Transmitter an d0. Er spiegelt den Ladestand der Basis in Prozent.
- Prüf den Empfänger vor dem Lesen mit
bdnsundbdnvl. - Wandleuchten „Postenlicht“ nur an, wenn die Basis über 30 % hat.
- LED „Basisladung“ zeigt den Wert, ohne Funk −999. Ohne Funk ist das Licht aus.
Hinweise
Hinweis 1
Setz ladung zuerst auf KEINWERT – dann stimmt der Wert, wenn eine Prüfung springt.
Hinweis 2
bdns funk kein_funk und bdnvl funk Setting kein_funk vor dem l.
Hinweis 3
−999 ist nicht größer als 30, das Licht bleibt ohne Funk also von selbst aus.
Quiz
5 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator 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