Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Propeller Controller und BlocklyProp

Es wird dringend empfohlen, zunächst das Kapitel Einführung in BlocklyProp durchzuarbeiten, bevor man hier weiter liest.

Folientastatur

Folientastaturen sind kostengünstige Eingabemittel für einen Mikrocontroller. Sie werden häufig in einfachen Taschenrechnern, Mikrowellen oder anderen elektronischen Geräten eingebaut.

Abbildung 1 - Folientastatur der Fa. SimplyTronics

Aufbau einer 4x4 Folientastatur

Die sechzehn Tasten sind in einer Matrix angeordnet und lassen sich über zwei Leitungen jeweils einzeln abfragen (Abb. 2).

Abbildung 2 - Schematischer Aufbau einer 4x4 Folientastatur mit externer Widerstandsbeschaltung.

Insgesamt werden vom Propeller Controller 8 Datenleitungen für die Tastatur benötigt. Vier davon (Ausgänge P4 - P7) werden auf HIGH gezogen, während über die Eingänge P0 - P3 abgefragt werden kann, welcher Pegel (0 oder 1) anliegt.

Beispiel

Annahme: Taste 5 wird gedrückt. Um allgemein zu überprüfen, welche Taste in der zweiten Zeile (4, 5, 6 oder B) gedrückt wurde, muss P6 auf HIGH gezogen werden. Taste 5 ist gedrückt, dann liegt an P2 HIGH an, während an P0, P1 und P3 LOW anliegt.

In einer ersten Übung werden mit Hilfe der Tastatur zwei LEDs per Tastendruck ein- und ausgeschaltet. Diese Übung dient auch dazu, sich erst einmal mit der Beschaltung der Tastatur und dem Controller vertraut zu machen. In einer zweiten Übung soll die auf der Tastatur stehende Zahl bei gedrückter Taste auf einer 7-Segment-LED-Anzeige erscheinen. In beiden Übungen wird das Propeller-FLiP Modul benutzt.

Übung 1 - Zwei Tasten, zwei LEDs

Die Taste A soll die rote LED ein- bzw. ausschalten und Taste 0 entsprechend die grüne. Beide LEDs werden mit einem Vorwiderstand von 470 Ohm versehen.

Zwei Tasten - zwei LEDs
Material
  • 1x  Propeller FLiP Modul
  • 1x  Steckbrett und USB-Anschlusskabel
  • 1x  4x4 Folientastatur
  • 4x  Widerstand, 1 kOhm
  • 4x  Widerstand, 220 Ohm
  • 2x  Widerstand, 470 Ohm
  • 1x  LED rot
  • 1x  LED grün
  • diverse Steckdrähte
Aufgaben
  • Baue die Schaltung nach Schaltskizze auf.
  • Verbinde die Schaltung mit einem PC und logge dich mit deinem Passwort in die BlocklyProp-Site ein.
  • Übertrage die Programmblöcke in den Editor und speichere nach Fertigstellung das Programm ab.
  • Starte den BlocklyProp Client.
  • Starte das Programm und überprüfe, ob die rote LED aufleuchtet, solange Taste "A" und die grüne, solange Taste "0" gedrückt wird.

Schaltungsaufbau

Abbildung 3 - Schaltungsaufbau mit Propeller FLiP Modul und Folientastatur.

Das Programm

Wie arbeitet das Programm?

Mit dem ersten Blockoperator 4x4 Keypad initialize PINS left ... wird dem Controller mitgeteilt, welche Portpins von der Folientastatur benutzt werden.

Der Blockoperator repeat forever leitet eine Endlosschleife ein, in der wiederholt einzelne Aktionen ausgeführt werden.

In der Blockkategorie CONTROL gibt es nur den Blockoperator if ... do. Der Blockoperator if ... do ... else lässt sich darüber aufbauen. Dazu klickt man auf das blau unterlegte Zahnkranz-Symbol links oben im Operatorfeld.

Aus dem linken Fenster lassen sich alternativ zwei Optionen in den if-Block einbauen: else if oder else. Dazu klickt man das entsprechende Symbol mit der linken Maustaste an und zieht es in das rechte Fenster.

Mit einem erneuten Klick auf das Zahnkranz-Symbol gelangt man zurück in die Editoroberfläche von BlocklyProp und das neue erweiterte Blocksymbol erscheint.

Der erste Blockoperator if taste = 0 fragt ab, ob Taste 0 auf der Folientastatur gedrückt worden ist; ist das der Fall, wird die LED an Port 0 auf HIGH gezogen und beginnt zu leuchten. Wurde hingegen Taste 10 gedrückt, beginnt die LED an Port 1 zu leuchten.

Vorkenntnisse über eine 7-Segment-LED-Anzeige, ihre Beschaltung und den Aufbau sollten vorhanden sein. Informationen dazu findet man hier:

Übung 2 - Folientastatur und 7-Segment Anzeige

In dieser Übung soll es darum gehen, dass auf einer 7-Segment-LED-Anzeige die Ziffer der Taste angezeigt wird, die gedrückt ist. Insgesamt gibt es 16 Tastenfelder auf der Folientastatur; die Zifferntasten 0 bis 9 werden als Zahl so auch auf der 7-Segment-Anzeige erscheinen. Den Buchstaben A - D und den beiden Symboltasten * und # sind ebenfalls Zahlen zugeordnet.

Folientastatur und 7-Segment-LED Anzeige
Material
  • 1x  Propeller FLiP Modul
  • 1x  Steckbrett und USB-Anschlusskabel
  • 1x  4x4 Folientastatur
  • 12x  Widerstand, 1 kOhm
  • 4x  Widerstand, 220 Ohm
  • 1x  7-Segment-LED Anzeige
  • diverse Steckdrähte
Aufgaben
  • Baue die Schaltung nach Schaltskizze auf.
  • Verbinde die Schaltung mit einem PC und logge dich mit deinem Passwort in die BlocklyProp-Site ein.
  • Übertrage die Programmblöcke in den Editor und speichere nach Fertigstellung das Programm ab.
  • Starte den BlocklyProp Client.
  • Starte das Programm und überprüfe, ob die 7-Segment-Anzeige die Zahl der gedrückten Taste anzeigt. Was zeigt die Anzeige an, wenn auf der Tastatur die Symbole * bzw. # gedrückt werden?

Der Versuchsaufbau

Bei diesem Versuchsaufbau habe ich eine selbst hergestellte Experimentierplatine mit drei Einzelschaltungen (LDR-Schaltung, 7-Segment-Anzeige und Potenziometerschaltung) benutzt. Die Datenleitungen sind über einen 20-poligen Wannenstecker verfügbar.

Abbildung 4 - 7-Segment-Anzeige auf einem selbst erstellten Übungsboard. Die Datenleitungen vom Propeller FLiP Modul zur 7-Segment-Anzeige werden über einen Wannenstecker hergestellt.

Das Programm

Wie arbeitet das Programm?

Der erste Blockbefehl 4x4 keypad initialize ... initialisiert die Folientastatur über die dort eingetragenen Pins.

Die Pins 0 bis 7 werden mit dem Blockbefehl set the directions from lowest PIN ... auf HIGH und damit auf Ausgang gesetzt.

In der nachfolgenden Endlosschleife erfolgt über tief verschachtelte "Wenn ... dann" Abfragen die entsprechende Bitzuweisung an die 7-Segment-Anzeige.

Der Blockbefehl set the states from lowest PIN ... using bits from ... binary setzt die angegebenen Pin 0 bis 7 (sie sind mit der 7-Segment-Anzeige verbunden) auf LOW bzw. HIGH. Als Folge davon erscheint auf dem Display die entsprechende Ziffer/ das entsprechende Symbol der gedrückten Taste.

Beim *-Symbol erscheint das Zeichen

Beim #-Symbol erscheint das Zeichen

Übung 3 - Einfache Ampelsteuerung

Die Ansteuerung einer Ampelschaltung und eines Tasters unter BlocklyProp haben wir bereits an einer anderen Stelle ausführlich besprochen. In dieser Übung geht es darum, eine komplette Straßenkreuzung mit insgesamt vier Ampelanlagen zu simulieren. In dieser vereinfachten Version sind jeweils zwei Ampeln parallel geschaltet. Und dies sind die Vorgaben:

  • Die sich wiederholende Lichtfolge für alle Ampeln ist: rot - rot/gelb - grün - gelb.
  • Die Rot- und Grünphase sollen je 10s, die Rot-Gelb und  Gelbphase jeweils 1,5s dauern.

Schaltungsplatine

Abbildung 5 - Eigener Entwurf einer Straßenkreuzung mit 4 Ampeln und zwei Tastern. Auf Wunsch kann ich eine Eagle-pdf-Datei zur Verfügung stellen.

Schaltungsaufbau

Abbildung 6 - Ampelanlage ohne Beschaltung der beiden Taster.

Schaltskizze

Belegung der Pins im Wannenstecker

Das Programm

Druckversion | Sitemap
© Reinhard Rahner - Gettorf