Ports 0-12 durch Zählvariable ansprechen

Hallo,

ich arbeite im Unterricht Klasse 9/10 mit Calliope und der 2x13 Steckleiste und arbeite zu Beginn viel mit Lauflichtern. Gibt es eine Möglichkeit mit OpenRoberta die Ports 0 bis 12 (bei ausgeschalteter LED Matrix natürlich) durch eine Zählvariable anzusprechen.

Z.B.
for i = 0 to 12 do
{
schalte Port i ein
warte 500ms
schalte Port i aus
i = i+1
}

Das würde vieles eleganter machen.

Vielen Dank
Sascha

Ich würde eine Funktion erstellen mit einer Zahl und evt. einem Booleanwert (an/aus) als Parameter. Dort halt per IF-Abfrage die Ports ansprechen. Das wäre das was mir so spontan einfällt.
Viel Erfolg!
Michael

1 „Gefällt mir“

Da denke ich mich mal rein und probiere es aus, danke. Ich habe da ein zwei Ideen was du meinen könntest. Mal sehen ob es dann für 9./10. Klässler ohne Programmiererfahrung dann auch gangbar ist.

Danke.

Tut. Danke für den Tipp.

Falls es wen interessiert, habe es in die OpenRoberta Gallerie gestellt:
Lauflicht
von: schule@swigon.de

Es ist exemplarisch für 8 LED programmiert und zeigt das Knight Rider Lauflicht.

Wenn man es eleganter machen kann, gerne Bescheid geben.

1 „Gefällt mir“

Solange es läuft ist es doch gut. Ich dachte eher so:

Besser wäre es noch mit einer Funktion LEDan und einer mit LEDaus statt immer alle LEDs zu löschen. Da könnte man noch mehr Effekte machen.

Hallo klmi,
ich nehme an, du meinst es so.

sehe ich das richtig, du bist Lehrer an einer GMS? Ich habe so meine Zweifel, dass ich mehr als 2 meiner 16 RS-Technikschüler auf so ein Niveau bekomme. Hast du da andere Erfahrungen?

Bei unserer Vorgänger-MCU-Programmierumgebung waren die Funktionen schon implementiert und da bin ich mit vielen relativ weit gekommen.

Grüße

Nun, mal sehen wenn es soweit ist. Dann gebe ich die Funktionen ggf. vor.

Ja, das ist bei schwächeren Klassen so ungefähr der Schnitt. Aber ich arbeite gerne mit Lernkarten und gebe Tipps wie beim Rückwärtszählen der Schleife. Zudem kann man, wenn man Makecode verwendet, eigene Blöcke für die LEDs erstellen. Die Frage ist ja auch, ob der Schüler das Problem lösen kann. Es wird in der Regel nicht so elegant sein weil einfach die Erfahrung fehlt und die Schüler froh sind, dass sie nicht alles aus der Stunde davor vergessen haben.