CALLIOPE Aufgaben

Programm Dampflok fernsteuern

Aufgabe Motoren

Im Programmbeispiel auf dem Bild wird ein CALLIOPE als Sender und ein zweiter als Empfänger benötigt. Damit kannst du ferngesteuert die Lok vorwärts und rückwärts fahren lassen und anhalten.

1. Ändere das Programm so, dass nur ein CALLIOPE benötigt wird. Schiebe die Blöcke 'Motor an mit -100%' und 'Motor an mit 100%' direkt in die Ereignisse 'wenn Knopf A gedrückt' und 'wenn Knopf B gedrückt'. Mache das auch mit 'Motor bremsen'.

2. Lösche alle Blöcke, die zum Funk (senden und empfangen) gehören. Lösche auch die nicht mehr benötigten Bedingungen und Variablen.

3. Kopiere das Programm auf den CALLIOPE und probiere es aus. Der Motor muss im Single-Motor-Modus angeklemmt sein, damit er vorwärts und rückwärts dreht.

4. Speichere das Programm auf dem PC als .hex-Datei, um es später weiter zu bearbeiten. Du kannst das Programm auch hier auf die Internetseite hoch laden, um es anderen zu zeigen.

Wissenschaft (über Funk eine Antwort bekommen)

Über Funk ruft ein Computer eine Funktion auf einem anderen Computer auf. Das nennt man Remote Procedure Call (RPC). Dabei werden Parameter übergeben, hier ist es eine Zahl. Meistens bekommt der Sender auch eine Rückmeldung (Response) vom Empfänger, mit dem Ergebnis der Funktion (Funktionswert).

1. Sende vom Empfänger zurück, welche Bedingung erfüllt war. Der Empfänger 'wenn Datenpaket empfangen' zeigt die LED Grün, Gelb und Rot an. Die LED soll auch beim Sender ihre Farbe ändern, wenn der Empfänger sich zurück meldet. So kann der Sender erkennen, ob der Empfänger aus war oder zu weit entfernt ist.

Wissenschaft (lokale Funktion aufrufen)

1. Für diese Aufgabe wird nur ein CALLIOPE benötigt. Erstelle eine lokale Funktion (unter Fortgeschritten - Funktionen) und verschiebe den gesamten Inhalt aus 'wenn Datenpaket empfangen' in diese Funktion. Rufe aus den Ereignissen 'wenn Knopf gedrückt' jeweils die neue Funktion auf. Lösche alle Blöcke, die zum Funk (senden und empfangen) gehören.

Im Editor MakeCode kann an die Funktion kein Parameter übergeben werden. Verwende deshalb in der Funktion die selben (globalen) Variablen wie außerhalb der Funktion. Beim Aufruf einer Funktion über Funk geht das natürlich nicht, weil der Empfänger nicht die Variablen auf dem Sender kennt.

Kontakt und Impressum