Konstruktion und Bestandteile
Ein Microchip PIC 16F84, ein 8mHz-Keramikresonator, vier HDSP 5503, zwei Taster und ein Widerstand - und ein passendes Programm.
Der Mastermind-Taschenrechner benötigt nur das Minimum an möglichen Bestandteilen, außer dem Microcontroller (PIC16F84-04/P) einen 8MHz-Keramikresonator (alternativ einen 8MHz-Quarz nebst zwei 22pF-Kondensatoren), vier HDSP 5503 Siebensegmentdisplays (gemeinsame Kathode), zwei Taster, einen 4,7K-Widerstand (optional) sowie eine 4,5-6V-Stromversorgung. Sämtliche Funktionen, incl. des Multiplexing des Displays und der Steuerung der Stromversorgung werden in der Software erledigt.
Im Bild rechts sieht man den Microcontroller mit Keramikresonator in der Mitte, darüber die vier Siebensegment-LED-Anzeigen (vier Stück nebeneinander passen in eine normale 40-polige DIL-Fassung), darunter zwei Taster, zusammen aufgebaut auf einer Lochrasterplatine. Rechts außerhalb des Gehäuses ein aus Restbeständen erworbener vierzelliger 110mAh-Nickel-Cadmium-Akku. Die meiste Arbeit bei der rückseitigen Verdrahtung machte die korrekte Verschaltung der vielen Anschlüsse der Siebensegmentanzeigen.
Ein Einschalter erübrigt sich, da das Gerät nach einem Spieldurchlauf in einen Schlafmodus verfällt, in dem weniger Strom verbraucht wird als die Selbstentladung des Akkus beträgt.
Die abgebildete Schaltung ist durch Aufbau und Verdrahtung auf einer Lochrasterplatine entstanden, den Schaltplan habe ich zur Dokumentation nachträglich gezeichnet.
Da nur wenige Steuerleitungen zur Verfügung stehen und keine Decoder-Bausteine verwendet werden, müssen die Displays sowohl über die Anoden als auch über die Kathoden kontrolliert angesteuert werden. Hierfür erweist es sich als nützlich, daß die PIC-Ports wohl als Stromlieferanten als auch als Stromsenke fungieren können und dabei etwa 20 mA liefern bzw. vertragen, allerdings nicht mehr als 100 mA ingesamt. Diese Einschränkung erfordert ein zweistufiges Multiplexing in der Software, wobei sich durch Ausprobieren die gleichmässigste Helligkeit bei jeweils gleichzeitigem Tasten von zwei Segmenten ergab. Segmente werden grundsätzlich nicht dauerhaft getastet, Vorwiderstände sind bei diesem Design überflüssig.
Alle Anoden werden von Port B getrieben (sieben Segmente plus der Dezimalpunkt), indem alle gleichen Pins der Display mit dem zugehörigen Port-Pin verbunden werden. Segment a bis g aller Displaybausteine werden so mit PB0 bis PB6 verbunden, der Dezimalpunkt DB mit PB7.
Vier Bits/Pins von Port A dienen zum Multiplexen der Kathoden, also der einzelnen Anzeigen. PA0 ist mit der gemeinsamen Kathode der ersten, am weitesten links stehenden Anzeige verbunden.
Dies läßt einen Pin unbenutzt (PA4), welcher mit Ground verbunden muß, damit nicht im Power-down-Modus mehr Strom als nötig verbraucht wird.
Zwei Port-B-Pins sind mit den beiden Tastern verbunden, die den angeschlossenen Pin auf Masse ziehen. Pull-Up-Widerstände sind nicht nötig, da die benutzten Port-B-Pins interne schwache Pull-Up-Widerstände haben, die für logisch 1 bei offenem Taster sorgen.
Die Doppelbenutzung dieser beiden Port-B-Pins als LED-Treiber (Output) und Tastenabfrage (Input) funktioniert, indem das Programm während der gemultiplexten Displayansteuerung die Pins häufig auf Input umschaltet, den Tastenstatus prüft und auf ein LED-Treiben verzichtet, sobald und solange ein Taster gedrückt ist. Ein evtl. Kurzschluss ist so auf maximal wenige Millisekunden beschränkt. Das Verfahren funktioniert problemlos.
Mit dem o.a. angegebene vier-Zellen 110 mAh-Akku messe ich im Betrieb 25-30 mA Gesamtstromverbrauch und etwa 2µA im Schlafmodus. Dies ergibt drei Stunden Betrieb oder ergäbe mehrere Jahre Schlafmodus, wenn der Akku nicht schon eine höhere Selbstentladung hätte.
17,2 x 12,6 x 8 mm 14,2mm |
||
|---|---|---|
' Anodes ' ' +--0--+ ' | | ' 5 1 ' | | ' +--6--+ ' | | ' 4 2 ' | | ' +--3--+ (7) |
Der verwendete Displaybaustein und seine Beschaltung
Kosten
| PIC 16F84-04/P | DM 13,-- |
| Resonator, 8Mhz | DM 2,-- |
| 4 HDSP5503 | DM 6,-- |
| 2 Taster | DM 2,-- |
| Gehäuse | DM 3,-- |
| DM 26,-- |
Alle Teile 1998 oder früher bei Conrad gekauft.
Nachtrag: Der 16F84-04/P wird schon lange nicht mehr produziert, ist aber immer noch verfügbar. Reichelt führt ihn in der Preisliste mit 2,40 € (Stand 2010). Ein nahezu kompatibler 16F628A ist für 1,95 € erhältlich, die Verwendung erforderte aber ggfs. eine geringfügige Modifikation im Startcode der Firmware.
Denkbare Erweiterungsmöglichkeiten
- Automatisches Abschalten nach Wartezeit
- Wettkampfmodus, bei dem der Computer nicht nur raten, sondern auch die umgekehrte Rolle einnehmen kann (sich eine Kombination ausdenken und die erraten lassen).
Das Programm wäre trivial und die Resultate ließen sich unschwer im hier ungenutzten EEPROM des 16F84 speichern. Als Spielzeug, um die Kinder auf langen Bahnfahrten zu beschäftigen hätte es das Gerät aufgewertet. Allerdings wäre eine weitere Optimierung des Programms erforderlich geworden, da die vorhanden 1K-Worte bereits nahezu aufgebraucht waren.

