9.1.4 Bildschirm drehen


Bei einem Smartphone oder Tablet kann man das Gerät drehen und der Bildschirminhalt dreht sich mit. Das ist praktisch, wenn man z.B. auf dem Smartphone ein Video ansehen möchte, das im Breitformat gedreht wurde, denn der Smartphone-Bildschirm ist wesentlich breiter als hoch. Diese automatische Ausrichtung des Bildschirminhalts kann man einschalten oder ausschalten.

Dieses Verhalten soll dem Calliope beigebracht werden. Dazu werden die Knöpfe A, B und der Beschleunigungssensor als Eingabebauteile, die 5x5 LED Lampe als Ausgabebauteil und Prozessor und Speicher als Verarbeitungsbauteile verwendet:


Vorbereitung: Calliope zeigt die Bildschirmneigung an

Klicke auf die einzelnen Schritte und führe diese mit dem PC und Calliope aus.

  • Packe den Calliope aus und verbinde ihn mit dem PC.

Wenn die Verbindung erfolgreich ist, leuchtet auf dem Calliope oben links eine gelbe LED.

Die Blöcke findest du unter "Grundlagen" und "Eingabe". Ziehe sie in den Editor, setze sie zusammen und klicke die Buchstaben in das LED-Feld.

Hinweis: Der Block "wenn geschüttelt" kann verändert werden, indem man auf "geschüttelt" klickt und dann das gewünschte Verhalten auswählt. Wir brauchen "Logo nach oben", "Logo nach unten", "nach links...", "nach rechts...".

  • Gib im Editor unten in das Eingabefeld einen Namen für dein Programm ein, z.B. "Drehen01" und klicke auf "Herunterladen".

  • Falls eine Meldung angezeigt wird, bestätige diese mit einem Klick auf "Fertig".

  • Klicke in der Taskleiste auf das gelbe Symbol für den Windows-Explorer.

Die Datei "mini-Drehen01.hex" ist im Ordner "Downloads" (z.B. "Schnellzugriff -> Downloads").

  • Ziehe die Datei "mini-Drehen01.hex" auf "MINI (T:)".

Mit Hilfe der Buchstaben O (Oben), U (Unten), L (Links), R (Rechts) zeigt der Calliope an, in welche Richtung er gerade gedreht ist.

Dabei gilt: Der Calliope ist dorthin gedreht, wo sich der USB-Anschluss befindet.


Anwendung: Bildschirminhalt dreht sich mit dem Calliope

Im nächsten Schritt soll der Calliope einen Smiley immer richtig herum anzeigen, auch wenn der Calliope gedreht wird.

  • Überlege dir, wie das Smiley in den anderen Feldern gezeichnet werden muss, damit es immer richtig orientiert angezeigt wird, wenn man den Calliope dreht.

  • Setze im Makecode-Editor dein Programm fertig zusammen und übertrage es auf den Calliope.

  • Drehe den Calliope in alle Richtungen und prüfe, ob das Smiley immer richtig orientiert zu sehen ist. Wenn nicht, korrigiere dein Programm.

Der Code


Das Resultat


Erweiterung: "Bildschirminhalt drehen" ein- und ausschalten

Bei einem Smartphone kann man in den Einstellungen ein- und ausschalten, ob der Bildschirminhalt beim Drehen des Smartphones auch gedreht werden soll. Auch beim Calliope soll es jetzt möglich sein, dass der Benutzer entscheidet, ob der Bildschirminhalt sich mitdreht oder nicht.

Der Calliope soll also zwei Verhaltensweisen haben:

Zustand 1: der Bildschirminhalt soll sich automatisch drehen, wenn der Calliope gedreht wird.

Zustand 2: der Bildschirminhalt soll sich nicht drehen, wenn der Calliope gedreht wird.

Arbeite die folgenden Schritte durch.

Damit der Calliope sich seinen Zustand merken kann, braucht man einen Speicher für diese Information. In der Informatik wird ein Informationsspeicher eine "Variable" genannt (so wie die Variable in der Mathematik).

  • Lösche alle noch vorhandenen Blöcke im MakeCode-Editor.

  • Klicke auf die Kategorie "Variablen" und dort auf "Erstelle eine Variable".

  • Tippe im Eingabefeld den Variablennamen "bildschirmdrehen" ohne Anführungszeichen ein und klicke dann auf "OK".

  • Ziehe aus der Kategorie "Eingabe" die Blöcke "wenn Knopf A geklickt" und "wenn Knopf B geklickt" in den Editor.

  • Ziehe aus der Kategorie "Variablen" zweimal den Block "setze bildschirmdrehen auf 0" in den Editor und stelle folgendes Programm zusammen:

In der Variable "bildschirmdrehen" kann gespeichert werden, ob der Calliope den Bildschirminhalt drehen soll oder nicht. In der Informatik ist es üblich ein solches Verhalten mit "wahr" oder "falsch" festzulegen.

  • Klicke auf "Logik" und ziehe ganz unten die Blöcke "wahr" und "falsch" in den Editor.

  • Ersetze den Wert "0" im Block "setze bildschirmdrehen auf" bei Knopf A mit "wahr" und bei Knopf "B" mit "falsch".

Du solltest folgendes sehen:

Damit kann der Benutzer das Verhalten festlegen:

  • Wenn der Knopf "A" gedrückt wird, soll der Bildschirm gedreht werden.
  • Wenn der Knopf "B" gedrückt wird, soll der Bildschirm nicht gedreht werden.

Damit der Calliope auf den Benutzerwunsch reagieren kann, muss eine Verzweigung in das Programm eingebaut werden:

Das kann mit einem "Wenn-Dann"-Block programmiert werden. Die benötigten Blöcke findest du in der Kategorie "Logik".

  • Setze folgendes Programm zusammen:

  • Erweitere das Programm auch für das Drehen nach links und nach rechts.

  • Übertrage dein Programm auf den Calliope und teste das Verhalten, indem

    • du auf den Knopf A drückst und den Calliope drehst: der Smiley sollte sich auch drehen,
    • du auf den Knopf B drückst und den Calliope drehst: der Smiley sollte sich nicht drehen,


Verändere das Programm frei nach deinen Vorstellungen.