Den Kern des Spiels bildet ein ATmega8-Controller. Eine
Matrix mit 120 LEDs ist in zehn Reihen mit je 12 LEDs angeordnet. Der
Mikrocontroller steuert die Reihen in einem Multiplex-Verfahren. Dabei werden
die Anoden direkt über Ports angesteuert, die Kathoden über zwei
Schieberegister HC4094.
Die Potis werden über ADC6 und ADC7 abgefragt. Das obere
Ende der Potis liegt an VCC, das untere Ende am Port PD2 (INT0). Nach dem Ende
eines Spiels schaltet das Programm PD2 hoch, sodass keine Spannung an den Potis
liegt. Alle LEDs werden abgeschaltet, der AD-Wandler gestoppt und der
Mikrocontroller in den Power-Down-Modus versetzt. Der Stromverbrauch sinkt
damit auf unter 1 µA. Deshalb wird kein Hauptschalter benötigt. An PD2 und an
GND liegt aber auch der Münzkontakt (K1 und K2). Er kann damit einen Interrupt
auslösen und das Spiel neu starten.
Auf der Platine finden Sie zahlreiche nicht verwendete
Anschlüsse. Sie werden teilweise für die Produktion benötigt und sind auch für
eigene Projekte nützlich. Über den sechspoligen ISP-Anschluss (von unten
bestückt) können Sie den Controller neu programmieren und damit eigene Projekte
entwickeln. Tun Sie dies jedoch nur, wenn Sie bereits über Erfahrungen mit
Mikrocontrollern verfügen, denn bei einem Fehler könnte das System Schaden
erleiden. Zusätzlich gibt es acht freie Portanschlüsse für beliebige Aufgaben.
Der Anschluss C4 ist auch in der mitgelieferten Firmware
aktiv und dient als Testeingang. Wenn Sie C4 an GND legen und dann die
Betriebsspannung anlegen bzw. einen Reset auslösen, erscheint vor dem
eigentlichen Spiel ein Display-Test, bei dem alle LED angesteuert werden. Um
den Testlauf zu beenden muss noch einmal die Batterie entfernt werden.
Wer ein STK500 oder ein ähnliches Programmiergerät hat kann eigene Programme auf der Pingpong-Platine laufen lassen. Für die Flash-Programmierung gibt es den sechspoligen ISP-Anschluss. Hier muss ein Pfostenstecker von der Rückseite her bestückt werden.
In der STK-Software muss der ATmega8 einegstellt werden. Und schon klappt die Verbindung!
Mit dem STK500 kann man nicht nur den Flash-Bereich überschreiben sondern auch die Fuses. Achtung, hier man man Fehler machen und sich die Platine abschießen. Wichtig ist, dass die Fuses auf den internen 8-MHz-Oszillator eingestellt sind. Am besten ändert man nichts an den Fuses.
Falls
doch mal etwas schief geht und man keinen Takt mehr hat, kommt das
Programmiergerät nicht mehr an die Fuses heran. Man kann sich manchmal
mit einem externen Taktsignal an PB6 oder PB7 helfen. Dann werden die
Fuses wieder richtig eingestellt und danach geht wieder alles.
Software
Wenn Sie das Schaltbild genau angesehen haben, über Bascom oder eine andere Programmiersprache verfügen und etwas Erfahrung haben, können Sie nun gleich loslegen und eigene Software für die Platine entwickeln. Wenn Sie nach eigenen Versuchen den Originalzustand wieder herstellen wollen brauchen Sie die Software. Der Controller ist nicht gegen Auslesen gesperrt. Sie können also eine Kopie anlegen. Aber es gibt eine weitere Hilfe: Die originale Firmware wird hier für den privaten Gebrauch als Hex-Datei freigestellt.
Downlaod Pingpong
Wenn
Sie noch kein Pingpong besitzen, aber einen Mega8 und 120 LEDs in Ihrer
Bastelkiste finden, können Sie im Prinzip das ganze Spiel nachbauen,
z.B. in einer Großversion.