GTA Roboter bauen | Roboter programmieren | CALLIOPE | A+B + Reset | Programmieren | Musik | Funktionen | ASCII | Linkliste → mitmachen ← MAKECODE | v4 | GitHub ← Projekt herunter laden | Projekt hoch laden | Aufgaben | Frage stellen → TAFEL | LERNSAX
CALLIOPE im Internet → calliope.cc | 25 Programme | Technische Dokumentation | Schaltplan v3 | Hilfe | Forum ← externe LINKS
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.
Ü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.
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