Calliope mini - Spaß durch Programmieren

Entwicklungsumgebungen

Folientastatur

Ziel: Eine Folientastatur mit 12 Tasten wird an die Anschlüsse C4 bis C10 angeschlossen und über eine Abfrage festgestellt, welche Taste gedrückt ist. Die jeweilige Ziffer wird auf dem 4-Digit-Display angezeigt.

Es wird die Anzeigefunktion genutzt.

Anschluss der Tastatur

Die Folientsatatur besteht aus vier Zeilen (C4 bis C7) und drei Spalten (C8 bis C10). Jede Zeile und Spalte ist eine Leiterbahn. Wird eine Taste gedrückt, werden die elektrischen Leiter unter der Taste miteinander verbunden.

Prinzip der Anfrage: Nacheinander werden die Anschlüsse C8, C9 und C10 auf den digitalen Pegel 1 gelegt. Ansonsten haben sie den Pegel 0.

Nachdem eine Spalte auf den Pegel 1 gelegt wurde, werden alle vier Zeilen abgefragt, ob sie eine 1 registrieren. Ist das der Fall, kann man bestimmen, welche Taste gedrückt ist.

Beispiel: Ist die Taste 6 gedrückt, liefert C5 eine 1, wenn C10 auf 1 gelegt wurde.


Anschlussbelegung

Zeilen abfragen

Im ersten Teil des Programms wird die mittlere Spalte dauerhaft auf 1 gelegt und die Zeilen ununterbrochen auf eine 1 getestet. Liefert ein Anschluss eine 1, leuchtet die RGB-LED in einer bestimmten Farbe auf.

Hinweise:

  1. In der Version 4.1. des OpenRobertaLab lassen sich die Eingänge nicht mehr mit einem PullDown-Widerstand auf einen Pegel ziehen. Diese 4 Programmzeilen müssen weggelassen werden
    Die Anschlüsse C4 bis C7 (Zeilen) sollen auf eine 1 reagieren. Die logische 1 bedeutet, dass dort die Spannung von 3,3 V anliegt.
    Ist aber keine Taste gedrückt, hängt der Anschluss praktisch frei in der Luft. Welchen Pegel hat er dann: 0 oder 1 oder irgendwas dazwischen?
    Solche Unklarheiten können zu ungewünschten Reaktionen der Schaltung führen. Deshalb müssen solche Eingänge auf einen klaren Pegel gezogen werden. In diesem Fall muss der freie Eingang eine 0 liefern. Das erreicht man in der Elektronik durch einen Widerstand, der mit Masse oder Minus verbunden ist. Ein solcher Widerstand heißt Pulldown-Widerstand und wird beim Calliope mini durch erreicht.
  2. Da der Bildschirm durch die gleichen Prozessoranschlüsse wie die digitalen Anschlüsse bedient wird, muss der Bildschirm (LED-Matrix) ausgeschaltet werden.

Im nächsten Schritt wird eine Funktion erzeugt, die die einzelnen Zeilen C4-C7 abfragt und den Wert der Zeile, in der die Taste gedrückt ist, zurückgibt.

Wenn keine Taste gedrückt ist, wird der Wert NULL zurückgegeben. Das bedeutet in der Informatik, dass kein Wert vorhanden ist.

Die Nummer der Zeile wird auf dem 4-Digit-Display angezeigt.

Die Funktion zeile_abfragen wird in der nächsten Funktion hole_ziffer genutzt, um für jede Spalte die Nummer der Zeile zu holen, in der eine Taste gedrückt ist.

Es wird also die 1. Spalte auf 1 gesetzt und die Zeile abgefragt. Falls eine Taste gedrückt ist, erhält die Variable zeile die entsprechende Nummer, ansonsten hat die Variable den Wert null.

Wenn die Variable zeile immer noch den Wert null hat, wird die nächste Spalte abgefragt (C9) und danach noch die Spalte C10.

Nummer der Taste berechnen

Wenn eine Taste gedrückt war, ist der Wert der Variable zeile ungleich null. Aus der Zeilennummer lässt sich dann die Nummer der Taste berechnen, die gedrückt war. Dieser Wert (ziffer) wird von der Funktion zurückgegeben und über die Display-Funktion angezeigt.

Hinweise:

  1. Damit die beiden roten Tasten für irgendwas verwendet werden können, müssen ihnen auch Werte zugeordnet werden. Das können z.B. die 10 und die 11 sein. Damit muss aber die Zeile 4 besonders behandelt werden, denn die mittlere Taste ist die 0.
  2. Es darf nicht vergessen werden, am Ende die Variable zeile wieder auf null zu setzen.

zurück