• Keine Ergebnisse gefunden

Interface – 7-Segmentanzeige

Im Dokument Das 8-Bit-Waffeleisen (Seite 68-82)

6.5.1 Dokumentation und Arbeitsentwicklung

Die Funktion der Gruppe Die Untergruppe Anzeige ist f¨ur den Entwurf einer Spielanzeige zust¨andig. Diese Anzeige soll den tempor¨aren und endg¨ultigen Spielstand von bis zu zwei Spielern wiedergeben k¨onnen. Zur Realisierung dieser Anzeige hat sich die Gruppe auf eine Darstellung mit 7-Segmentanzeigen geeinigt. Es werden insgesamt vier 7-7-Segmentanzeigen verbaut. Dies erm¨oglicht eine gleichzeitige Wiedergabe des Punktestandes im Multiplayermodus und eine Darstellung der Punktewertung im zweistelligen Bereich. Die Signale f¨ur die Anzeigen wird von einem STM32 -Mikrocontroller via GPIO6 ¨ubertragen. Die Abbildung 39 zeigt einen beispielhaften Spielstand.7

6engl. general-purpose input/output; Programmierbare Ein- und Ausg¨ange f¨ur frei bestimmbare Zwecke.

GPIOs dienen als Schnittstelle zu anderen Systeme oder Schaltungen (hier ein STM32). siehe: Elek-tronik Kompendium, https://www.elekElek-tronik-kompendium.de/sites/raspberry-pi/2002191.htm, Januar 2010, Accessed on 20.01.2020.

7Abbildung erstellt von Kim Eschenbach mitMicrosoft-Paint.

Abbildung 39: Darstellung des Spielstandes von Spieler 1

Da das8-Bit-Waffeleisenmit einem Handheldcontroller bedient werden soll und somit ein gewisser Abstand zur Spieloberfl¨ache besteht, haben wir uns f¨ur dieSA 15-11 Anzeigen der FirmaKingbright entschieden. Eine Anzeige ist 47 mm hoch und ca. 33 mm breit, wobei die Bilder selbst 38,1 mm x 22 mm messen. [42] Diese Maße sollten eine gute Spielverfolgung f¨ur Spieler und Zuschauer erm¨oglichen. Die einzelnen Segmente des Bauteils bestehen aus jeweils zwei in Reihe geschalteten Leuchtdioden, welche ¨uber eine gemeinsame Anode verbunden sind und ¨uber diesen Pin an die Spannungsversorgung angeschlossen werden. Die Kathoden werden ¨uber Schieberegister mit dem STM32 verbunden.

Kim Eschenbach

Uberlegungen¨ Die Punktestandanzeige f¨ur zwei Spieler soll den Bereich bis einschließlich 99 Punkte anzeigen k¨onnen, dementsprechend werden insgesamt vier Ziffern ben¨otigt. In vielen An-wendungen werden 7-Segmentanzeigen zur Darstellung von Ziffern verwendet, bekannt sind sie auch durch die h¨aufige Verwendung in Digitalweckern. Der genannte Anzeigentyp stellt eine Ziffer mit Hilfe von sieben einzelnen Segmenten dar. In dem vorliegenden Fall wird jedes Segment einzeln

¨uber die dazugeh¨orige Kathode an-und ausgeschaltet, um so viele Symbolen wie m¨oglich darstel-len zu k¨onnen. Das Kontrollieren der einzelnen Kathoden erfordert 28(vier mal sieben) einzelne Anschl¨usse. Da der STM32 nur eine begrenzte Anzahl an Pins hat, wird durch die Verwendung

von Schieberegistern die am STM32 ben¨otigte Pinanzahl auf drei reduziert. Wie in Abbildung 40 dargestellt, wird ein Schieberegister pro Anzeige verwendet.

Lucian

Theorie Die Untergruppe bekommt drei Signale f¨ur die Steuerung der Anzeigen. Die haben folgende Funktionsweise; das erste Signal wird f¨ur die Eingangsdaten verwendet, das Zweite als ein Takt und das Dritte wird zum Latchen8 genutzt. Die Eingangsdaten werden vom seriellen Ausgang eines Schieberegisters9 zum seriellen Eingang eines Anderen ¨ubertragen. Dabei werden die Daten erst durch den seriellen Eingang des obigen Schieberegisters erhalten. Ein Blockschaltbild ist in Abbildung 40 zu sehen. Da erh¨alt das obige Schieberegister die Eingangsdaten und ¨ubertr¨agt diese an die anderen Register, die auf Grund dessen nur 2 Signale vom STM32-Mikrocontroller zur Verf¨ugung haben. Jedes Register ist f¨ur 7 Signale zust¨andig. Mit dem bin¨aren Wert dieser Signale werden die Segmente der Anzeigen an- und ausgeschaltet.

Die Steuerung der Anzeige erfolgt durch die Programmierung von drei Pins desSTM32-Mikrocontrollers.

Dieser sendet ein Bitmuster, welches von den Schieberegistern verarbeitet wird, die dann die ent-sprechenden Segmente der Anzeigen einschalten.

Basel Hallak

7-Segmentanzeige Die f¨ur das Projekt zur Verf¨ugung gestellten Anzeigen Kingbright SA 15-11 haben eine Flussspannung von 4V [42]. Die gemeinsamen Anoden-Anschl¨usse werden daher an eine Versorgungsspannung von 5V angeschlossen. Da die Anzeigen den Strom ¨uber die Dioden nicht selber regulieren, wird der Strom durch Widerst¨ande zwischen Kathoden und Schieberegistern eingestellt. Je Kathode wird ein Widerstand verwendet. Der Wert des Widerstands wird ¨uber das Ohmsche-Gesetz U=RI berechnet, der Spannungsabfall ist die Differenz zwischen Versorgungsspan-nung und FlussspanVersorgungsspan-nung, der Strom soll auf 10mA eingestellt werden.

Schalten der Segmente ¨uber Schieberegister Die einzelnen Segmente der Anzeigen werden gem¨aß den Vorgaben der Projektleitung direkt mit den Schieberegister 74HCT595 von Nexperia an-und ausgeschaltet. Das 74HCT595 Schieberegister besitzt zwei Register [43]. Das eine Register ist ein klassisches Shift-Register, in welchem die Daten zwischengespeichert und gegebe-nenfalls weiter geschoben werden, das andere ist ein Speicherregister (im Weiteren Storage-Register genannt). Die Daten, welche im Speicherregister vorhanden sind, werden an die acht Ausgangspins angelegt. Dabei steht eine 0 f¨ur Low, ist eine 1 im Speicher vorhanden, ist das Ausgangssignal auf

8Die Ausgabe der gespeicherten Daten bei einem Taktimpuls.

9Eine Schaltung, die Daten aufnehmen, speichern und ausgeben kann. Siehe Elektronik Kompodium, https://www.elektronik-kompendium.de/sites/dig/0210211.htm, 23.01.2020, Accessed on 21.01.2020.

High geschaltet. Das 74HCT595 besitzt einen seriellen Dateneingang und einen seriellen Daten-ausgang, durch diesen wird es erm¨oglicht mehrere Schieberegister in serie zu schalten, was auch verwendet wird( vgl. 40). Des Weiteren wird ein Signal f¨ur die Shift-Register Clock und eines f¨ur die Storage-Register Clock ben¨otigt. Sowohl Storage- als auch Shift-Register ¨andern den Zustand beim ¨Ubergang des Clock-Signals von Low zu High, das Shift-Register nimmt das am Dateinein-gang anliegende Bit auf und verschiebt dabei seine Daten um ein Bit. Wird das Clock-Signal des Storage-Registers ausgel¨ost, werden die im Shift-Register gespeicherten Daten ins Storage-Register kopiert. Mit den drei verwendeten Pins des STM32 wird der serielle Dateineingang und die beiden Clock-Signale angesteuert.

F¨ur die Verwendung des Schieberegisters wird eine Versorgungspannung von 5V ben¨otigt(mindestens 4,5V, maximal 5,5V) und der serielle Eingang braucht ein High-Signal von mindestens 2V, an den acht parallelen Ausg¨angen des Storage-Registers liegt ein High-Signal von ca. 5V an, bzw ein Low-Signal von maximal 0,1V [43].

Die Segmente werden an die parallelen Ausg¨ange des Schieberegisters angeschlossen. Soll ein Seg-ment leuchten, also an sein, wird der entsprechende Ausgang auf Low gesetzt, sodass eine Spannung von 5V ¨uber die Dioden und den Widerstand des Segments abfallen, der Strom kann durch das Schieberegister abfließen. Soll ein Segment nicht leuchten wird der Pin auf High gesetzt, dadurch gibt es keinen Spannungsabfall ¨uber dem Segment, dementsprechend leuchtet es auch nicht.

Beschaltung der Schieberegister mit STM32 GPIOs Die Ansteuerung der Schiebe-register erfolgt mit den drei GPIO-Pins PC7-PC9 des Mikrocontrollers. Diese sollen im allgemeinen push-pull-Modus verwendet werden. Der Pin PC7 stellt das Datensignal zur Verf¨ugung. Der Pin PC8 wird zur Ansteuerung der Storage-Register Clock verwendet und Pin PC9 dient als Shift-Register Clock.

Uber den STM32 wird eine Folge von 32 Bit an den Eingang des ersten Schieberegisters ¨¨ ubertragen.

Jede Ziffer ist dabei einzeln durch acht Bit codiert. Auf Grund der Verschaltung steht die Einerstelle von Player 2 am Anfang der Bitfolge, danach die m¨ogliche Zehnerstelle, die auch eine Null sein kann. Im Anschluss steht der Punktestand von Player 1, das Schema ist das selbe.

Lucian Sander

Steckbrettaufbau Im Verlauf der Veranstaltung wurden verschiedene Varianten der Schlatung konzipiert, und auf dem Steckbrett getestet. Die Tests wurden mit dem Schieberegister74HC595 von der Firma Texas Instruments, und den SA23-12SRWA-Anzeigen von der Firma Kingbright, sowie Anzeigen der SerieMAN72Adurchgef¨uhrt.

Die Beschaltung erfolgte auf die selbe Art und Weise, die in Abbildung 41 dargestellt. Obwohl die Benennung der Pins bei dem74HC595-Schieberegister unterschiedlich ist, haben alle Pins die selbe

Funktionalit¨at.

W¨ahrend die Steuerung derSA23-12SRWA-Anzeige nicht erfolgreich war, hat die Anzeige von der SerieMAN72A das gew¨unschte Zahl erzeugt.

Basel Hallak

6.5.2 Blockschaltbild

STM32

74HCT595

74HCT595 74HCT595

74HCT595

7 3

2

2 7

7 7 3

2

KINGB-Anzeige

KINGB-Anzeige

KINGB-Anzeige

KINGB-Anzeige

Abbildung 40: Blockschaltbild der 7-Segmentanzeigen10

Basel Hallak

10Blockschaltbild erstellt von Basel Hallak mitLucidchart und einem Bild ausWikipedia[44].

6.5.3 Schaltplan

Abbildung 41: Schaltplan f¨ur die erste Platine 11

11Schematic erstellt von Kim Eschenbach mitAutodesk-Eagle.

Abbildung 42: Schaltplan f¨ur die zweite Platine12

Kim Eschenbach

12Schematic erstellt von Kim Eschenbach mitAutodesk-Eagle.

6.5.4 Layout

Die nachstehenden Abbildungen zeigen die mit Eagle erstellten Layouts der Steuerungs-und Anzei-genplatine. Beim Erstellen der Steuerungsplatine musste darauf geachtet werden, dass die Schie-beregister auf der Unterseite zu platzieren sind, da es sich hierbei um SMD-Bauteile13 handelt.

Zudem wurden Abblockkondensatoren nah an den Schieberegistern sowie an der Spannungsversor-gung platziert. ¨Uber gewinkelte Wannenstecker f¨uhren Flachbandkabel zu der zweiten Platine.

Abbildung 43: Eagle-Layout der ersten Platine14

13engl. surface-mount device; Ein Bauteil, welches nicht durch die Platine gef¨uhrt wird und auf der anderen Seite verl¨otet wird, sondern direkt mit der tragenden Oberfl¨ache verbunden wird.

14Board erstellt von Kim Eschenbach mitAutodesk-Eagle.

Auch bei der Anzeigenplatine musste darauf geachtet werden auf welcher Seite die Bauteile zu verl¨oten sind. Die Anzeigen bilden die Vorderseite der Platine; die Seite, welche von den Spielern zu sehen ist. Die Flachbandkabel gehen in die nicht gewinkelten Wannenstecker; diese sind jeweils hinter den dazugeh¨origen Anzeigen angebracht und auf der Frontseite verl¨otet.

Abbildung 44: Eagle-Layout der zweiten Platine15

Kim Eschenbach

15Board erstellt von Kim Eschenbach mitAutodesk-Eagle.

6.5.5 Platine

Abbildung 45: Fertige Steuerungsplatine Vorderseite

Abbildung 46: Fertige Steuerungsplatine R¨uckseite

Abbildung 47: Fertige Anzeigenplatine Vorderseite

Abbildung 48: Fertige Anzeigenplatine R¨uckseite

Kim Eschenbach

6.5.6 Zusammenfassung

Die Aufgabe der Untergruppe war es ein Interface zu implementieren, welches auf vier Anziegen den aktuellen Spielstand der Spieler darstellt. Es wurden verschiedene Schaltungen konzipiert und simil¨are Testschaltungen auf dem Steckbrett aufgebaut. Dabei wurde ein Software-Programm zur Steuerung der Anzeigen geschrieben. Parallel dazu wurde mit der Software EAGLE Layouts f¨ur die zwei Platinen entworfen. Trotz der nicht optimalen Funktionalit¨at wurde die Schaltung auf Anweisung der zust¨andigen Tutoren verwendet. Zuletzt wurde eine Platine den EAGLE-Layouts entsprechend erstellt. Diese wurde mit Bauteilen best¨uckt, und getestet.

Basel Hallak

7 Gruppe 3: Entertainment

7.1 Aufgabenstellung

Damit das 8-bit Waffeleisen auf jeder Party ein Hit ist, wird es mit Lichteffekten, Retrosound und einem M¨unzeinwurf ausgestattet. Um die aufwendigen Effekte zu steuern kommt ein eigener Mikro-controller zum Einsatz, der von dem HauptMikro-controller lediglich grobe Steuerbefehle erh¨alt. Dadurch ist es m¨oglich Lichteffekte mit RGB-LED Streifen zu erzeugen. Ein echter Retro-Syntheziser IC sorgt zudem f¨ur einen originalen 8-Bit Sound. Der M¨unzeinwurf ist insbesondere f¨ur zwei Spieler interessant, da der Gewinner auch den Einsatz des Verlierers gewinnt. Um alle diese Funktionen umzusetzen wurde die Gruppe in die Untergruppen Licht, M¨unzeinwurf und Audio unterteilt.

7.2 Blockschaltbild

Allgemeines Blockschaltbild

Abbildung 49: Blockschaltbild der Gruppe Entertainment [5]

Bei allen Blockschaltbildern der Untergruppen von Entertainment wird der gleiche Mikrocontroller benutzt und angesteuert. Dabei ist der Mikrocontroller die einzige gemeinsame Schnittstelle alle Untergruppen.

Im Dokument Das 8-Bit-Waffeleisen (Seite 68-82)