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

Seeeduino Nano und Grove

1 - Das Grove 4-Digit Display

 

 

 

Abb. 1

Das Grove 4-Digit Display mit einem Treiberbaustein TM1637.

Das Grove 4-Digit Display besteht aus vier 7-Segment LED Anzeigen; wie wir an anderer Stelle bereits gesehen haben, benötigt man zum Ansteuern einer 7-Segment Anzeige bereits neun Anschlussdrähte. Bei vier dieser Bausteine kommt man schon auf 36 Anschlusspins. Das übersteigt die Kapazitäten eines Seeeduino Nano bei weitem.

 

Der vorliegende Baustein ist mit einem Treiberbaustein vom Typ TM1637 ausgerüstet, der über acht Datenausgänge verfügt, die über nur zwei Eingänge, DIO (Data input/output) und CLK (Takteingang) – ein sog. Serielles Zwei-Draht-Interface - die Daten weiterleitet.

 

Mit Hilfe dieses Bausteins lässt sich das vierstellige Display über einen Grove-Stecker betreiben.

Didaktisch methodische Einordnung

Die Schülerinnen und Schüler lernen in diesen Übungen ...

  • ... eine Schaltung nach Vorgabe aufzubauen und so zu modifizieren, dass ein stabiler Messaufbau vorliegt.
  • ... ein 4-Digit Display, seine Wirkungsweise und Beschaltung kennen.
  • ... Zahlen, Texte und Zeichen so zu programmieren, dass sie auf dem Display dargestellt werden.
  • ... einem Datenblatt schaltungsspezifische Informationen zu entnehmen.
  • ... einen Vorwärts- und Rückwärtszähler zu programmieren.
  • ... Ziffernanzeigen auf einem 4-stelligen Display zu steuern.
  • ... einfache Änderungen im Programm vorzunehmen und neuen Anforderungen anzupassen.
  • ... Versuchsergebnisse zu bewerten und Fehlerquellen zu benennen.

Übung 1 – Zahlen auf dem Display ausgeben  (MO)

Für den Einstieg wird eine vierstellige Zahl auf dem Display auf verschiedene Weisen ausgegeben. Dazu wird auf eine Bibliotheksdatei TM1637Display zurückgegriffen, die erst einmal in die Arduino IDE eingebunden werden muss. Diese Übung kann auch auf einem Seeeduino V4 mit Base Shield durchgeführt werden.

Die Bibliothek TM1637Display.h

  1. Gehe auf https://github.com und gib als Suchbegriff „TM1637“ ein.
  2. Es werden mehr als 200 Ergebnisse angezeigt.
  1. Ein Klick auf „avishorp/TM1637“ bringt dich in den Downloadbereich.
  2. Mit einem Klick auf den Button „Clone or Download“ und „Download ZIP“ wird die Datei „TM1637-Master.zip“ heruntergeladen. Lege sie in einem Verzeichnis deiner Wahl ab.
  3. Starte die Arduino-IDE. Gehe im Hauptmenü auf „Sketch – Bibliothek einbinden - .ZIP Bibliothek hinzufügen“.
  4. Wechsle in das Verzeichnis der gerade heruntergeladenen Datei und öffne sie. Alles weitere macht das Arduino Programm. Die Installation der Bibliotheksdatei ist abgeschlossen.
Übung 1 - Zahlen auf dem Display ausgeben (MO)

Aufgaben

  • Baue die Schaltung nach Schaltungsaufbau auf. Verbinde das Display mit Slot D2.
  • Übertrage das Programm 4DigitDispl_01.py in die Arduino IDE und speichere es ab.
  • Starte das Programm. Es werden nacheinander gezeigt:
    a) ein Aufwärtszähler bis 1100
    b) nacheinander 4 Ziffern auf je einem Displaysegment

    c) eine vierziffrige Zahl.
    Überprüfe diese Ablauffolge.
  • Versuche herauszufinden, welche Programmzeilen für jede der drei Phasen a), b) und c) verantwortlich ist.
  • Versuche jede Programmzeile mit eigenen Worten zu erklären.
  • Schreibe ein Programm ...
    a) für einen
    Abwärtszähler von 1000 auf 0.
    b) das die Ziffer 8 auf dem Segment 2 ausgibt.

Material

  • 1x  Seeeduino Nano + Grove Shield
  • 1x  Grove 4-digit Display mit Kabel

Schaltungsaufbau

Abb. 2 - Schaltungsaufbau zu Übung 1 und 2

Das Programm 4DigitDispl_01.py

Die benutzten Befehle aus der Bibliothek TM1637Display.h

  • display.setBrightness(byte zahl)
    Zahl darf zwischen 0 und 15 liegen. 15 bedeutet größte Helligkeit, 0 geringste Helligkeit der Digits.


     
  • display.showNumberDec(wert, auffüllen, segment, transl)
  1. byte wert     auszugebende Ziffer oder Zahl
  2. bool auffüllen true – mit Nullen auffüllen; false – keine Nullen auffüllen
  3. byte segment  niederwertigste Ziffer steht im Segment 1, 2, 3 oder 4. 1 entspricht Segment links, 4 entspricht Segment rechts.
  4. byte transl verschiebt die Zahldarstellung auf dem Display von <segment> um <transl> nach rechts (0 – Position bleibt bis maximal 3 Einheiten nach rechts)

     
  • display.clear()
    löscht die 4-digit-Anzeige.

Wie arbeitet das Programm 4DigitDispl_01.py ?

Die Programmzeilen 18 – 24 bilden den Aufwärtszähler über eine FOR-Schleife mit Laufparameter n. In den Zeilen 20-23 wird die Ausgabe gesteuert.

  • Programmzeile 20 stellt alle einstelligen Zahlen linksbündig auf dem Display dar ohne die freien Stellen mit Nullen aufzufüllen.
  • Programmzeile 21 gibt alle zweistelligen Zahlen mittig aus.
  • Programmzeile 22 gibt alle dreistelligen Zahlen rechtsbündig aus.
  • Programmzeile 23 gibt alle vierstelligen Zahlen aus.

 

Die Programmzeilen 42, 44, 46 und 48 steuern die Ziffernausgabe auf verschiedenen Displaysegmenten.

Übung 2 – Text und Zeichen auf dem Display ausgeben  (MO)

Die Bibliothek TM1637Display enthält auch Funktionen zur Textausgabe auf einem 4-digit Display. Die in dieser Übung benutzte Funktion überträgt beliebige Daten an das Display:

  • void setSegments(segments[], length = 4, pos = 0);
  1. unit8_t length gibt die Anzahl der Stellen an, die verändert werden sollen.
  2. unit8_t pos  beschreibt die Position, ab der die Veränderungen gelten sollen (0 – ganz links, 3 – ganz rechts)
  3. const segments[] Die Daten pro Segment werden in einem byte array der größe length, das die Rohdaten für jedes Segment enthält, abgelegt. Jedes Byte bezieht sich auf genau ein Segment. Innerhalb jedes Bytes gilt: Bit0 entspricht Segment A, Bit 1 Segment B in einer 7-Segment-Anzeige etc.
Übung 2 - Text und Zeichen auf dem Display ausgeben (MO)

Aufgaben

  • Baue die Schaltung nach Schaltungsaufbau (Abb. 2) auf. Verbinde das Display mit Slot D2.
  • Übertrage das Programm 4DigitDispl_02.py in die Arduino IDE und speichere es ab.
  • Starte das Programm. Es werden verschieden Muster gezeigt und ein Text.
  • Versuche jede Programmzeile mit eigenen Worten zu erklären.
  • Schreibe ein Programm, das ein neues Muster ausgibt und einen anderen Text auf dem 4-digit-Display ausgibt.

Material

  • 1x  Seeeduino Nano + Grove Shield
  • 1x  Grove 4-digit Display mit Kabel

Das Programm 4DigitDispl_02.py

Druckversion | Sitemap
© Reinhard Rahner - Gettorf