Forum: Projekte & Code electronic-dice deluxe mit PFS154


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ralph S. (jjflash)



Lesenswert?

Eigentlich hätte das als Gadget für Weihnachten herhalten sollen, aber
die Platinen sind leider zu spät gekommen (na ja :-) das nächste
Weihnachten kommt bestimmt).

Hm, grundsätzlich stellt sich mir die Frage, ob man etwas so relativ
"einfaches" wie den 4-millionstenundeinen elektronischen Würfel hier
einstellen soll, aber: Einsteiger gibts viele, Projekte mit Padauk
PFS154 dafür wenige und als Spielzeug ist der Würfel gar nicht so
schlecht ( leider muß ich zugeben, dass ich hier immer wieder auf die
Würfeln-Taste drücke ).

Die Platine soll u.a. als SMD-Lötübung (in billig) herhalten und dennoch
einen Zweck haben. Außerdem wird die Platine auch als Übungsobjekt für
Programmierung zum Thema multiplexen eingesetzt werden (zumindest habe
ich das so jetzt einmal vor).

Aus diesem Grund gibt es auf der Platine auch eine bestückbare
Pfostenreihe, damit diese in ein Steckbrett gesteckt werden kann (in
diesem Fall darf ein programmierter PFS154-Controller nicht auf der
Platine bestückt werden).

Die Platine kann also zum einen als wirkliches Spielzeug oder aber als
Programmierübung eingesetzt werden.

Vorab an all die "Nörgler" warum ich keine Treibertransistoren für die
Anzeige verwende: Schlicht sie sind nicht notwendig. Die Charge LED's
(2000 Stck.) die ich hier habe, sind mir grundsätzlich schon viel zu
hell. Ich war hier erstaunt, dass die LED's (ungemultiplext) selbst mit
einem Strom von 100 µA als Anzeige noch fast zu hell sind. Nein, ich
kann nicht auf ein Datenblatt verweisen, weil ich schlicht keines habe.
Wie dem auch sei: sie sind hell genug.

Einen "Fehler" habe ich beim Design der Platine gemacht: Ich habe
insgesamt 3 x 2 LED's in Reihe geschaltet (schlicht aus Gewohnheit) und
hatte nicht im Blick, dass man die Schaltung ja evtl. auch nur mit 3,7V
(LiOn) laufen lassen möchte (was jetzt eben nicht geht, weil die
Spannung für 2 in Reihe geschalteten Leuchtdioden zu gering ist).

Beschreibung des Würfels:

Der Würfel selbst hat insgesamt 4 Spielemodi. Der Spielmodus wird durch
das "Menü" beim Anlegen der Betriebsspannung mit der mittleren Taste
angewählt und mit der rechten Taste ausgewählt. Jeder Spielmodus wird
auf dem rechten Würfel mit einer Augenanzeige von 1..5 angezeigt.

5 ?????
Die Auswahl 5 legt fest, ob der Würfel mit Tönen hinterlegt ist oder
nicht. Wird Menüpunkt 5 ausgewählt, zeigt ein einfaches piepen des
Lautsprechers an, dass der Ton abgeschaltet ist, ein zweifaches piepen
schaltet ein zuvor abgeschalteten Lautsprecher wieder an.

Die Spielemodi 1..3
--------------------------------------------------------

Hier wird einfach nur festgelegt, mit wievielen Würfeln gespielt werden
soll. Wird mit 2 oder 3 Würfeln gespielt, kann mit den unter der
Würfelanzeige angeordneten Tasten ausgewählt werden, ob beim nächsten
Würfeln der Würfel stehen bleiben soll oder nicht. Das Spiel mit nur
einem Würfel ist eben nur ein einfacher Würfel.

Spielemodus 4
---------------------------------------------------------

Spielemodus 4 ist für das Würfelspiel Mäxle (oder auch als Maiern, Lügen
etc. bekannt). Beim Mäxlespiel (mit 2 Würfeln) muß ein nachfolgender
Spieler mit seinen Würfeln immer min. gleichviel oder mehr Punkte
erreichen als sein Vorgänger. Die höhere Ziffer eines Würfels wird mit
10 multipliziert und die niedrigere dazu addiert (eine 5 und eine 3
wären als zusammen 53 Punkte). Die höchste einfache Zahl ist somit 65.
Dannach kommen die Päsche und als höchste Wertung gilt eine "1" und eine
"2" das sogenannte Mäxle.

Damit ein nachfolgende Spieler nicht sehen kann, was sein Vorgänger
gewürfelt hat, kann mit der mittleren Taste nun die Anzeige
ausgeschaltet werden und der aktuelle Spieler muß nun entwerder seinem
Vorgänger glauben und neu würfeln. Glaubt er der Aussage nicht, so kann
er die Anzeige aufdecken und man kann somit sehen, ob hier gelogen wurde
oder nicht.

Soll der Spielemodi geändert werden, muß die Würfeltaste solange
gedrückt werden, bis 2 mal alle 3 Würfel mit einer "6" blinken, danach
ist man wieder im Menü.

-------------------------------------------------------
Die Software
-------------------------------------------------------

Die im Zip-Archiv enthaltene Software beinhaltet alle Dateien, um das
Würfelspiel zu compilieren (unter Linux).
Ein einfaches "make" im Ordner übersetzt das Programm und ein "make
flash" wird bei angeschlossenem Programmer den Controller flashen.

-------------------------------------------------------
Die Hardware
-------------------------------------------------------

... ist vom billigsten: billigster Controller, billigste Anzeige (nur
Leuchtdioden), etc.
Im Anhang hier ist das Layout (erstellt mit Sprint-Layout 6.0) und die
Gerber-Files enthalten. Die Gerberfiles beinhalten eine PCB mit 4
identischen Nutzen des elektronischen Würfels.

Sollte jemand diesen Würfel wirklich bauen wollen, hat aber keinen
Programmer für den Padauk PFS154 (und will auch keinen bauen), dann kann
man darüber "reden" (eher schreiben) ob ich vllt. 2 oder 3 Stück per
Post verschicke.

Viel Spaß,

Ralph

von Michael B. (laberkopp)


Lesenswert?

Hübsch, die Steigerung ware Betrieb aus Knopfzelle und Anzeige auf 
ePaper.

Ich befürchte, der ein/aus Schalter funktioniert so nicht wie im 
Schaltplan enthalten: entweder ist +5V verbunden oder GND.

Die Platine ist richtig. EasyEDA ?

von Vanye R. (vanye_rijan)


Lesenswert?

Also norgeln muss man immer! :-D

Wie hast du denn das mit der Zufallsgenerierung gemacht? Du willst doch 
wohl nicht riskieren was wir beim Mensch-Aerger-Dich-Nicht vorhersehbare 
Zufallszahlen haben und es bereits vorher klar ist das Oma gewinnt oder?

Vanye

von Ralph S. (jjflash)


Lesenswert?

Michael B. schrieb:
> Ich befürchte, der ein/aus Schalter funktioniert so nicht wie im
> Schaltplan enthalten: entweder ist +5V verbunden oder GND.

Du hast recht (Fehler by me). Auf dem Layout ist das anderst !

Michael B. schrieb:
> Die Platine ist richtig. EasyEDA ?

nein, Sprint-Layout 6.0 Eine Platine habe ich bereits vollbestückt (aber 
nicht hier) und die funktioniert auch mit Controller und Schalter.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

bereinigter Schaltplan...

von Ralph S. (jjflash)


Lesenswert?

Vanye R. schrieb:
> Wie hast du denn das mit der Zufallsgenerierung gemacht? Du willst doch
> wohl nicht riskieren was wir beim Mensch-Aerger-Dich-Nicht vorhersehbare
> Zufallszahlen haben und es bereits vorher klar ist das Oma gewinnt oder?

das habe ich sehr primitiv, eben "billig" gemacht.
1
        wurf++;
2
        wurf= wurf % 216;

In der Schleife, in der gewartet wird bis die Würfeln-Taste gedrückt 
wird, wird dieser Zähler hochgezählt. Dieses geschieht so schnell, wie 
der Controller eben rechnet (dieser taktet mit 8 MHz und arbeitet einige 
Befehle ab, ich habe sie nicht gezählt). Es dürften einige 100 
Durchläufe (einige 1000?) sein, bis dieser Zähler angehalten wird. Zudem 
kommt dann noch das Prellen der Tasten hinzu, sodaß das wohl sehr 
unwahrscheinlich ist dass der Wurf vorhersagbar ist.

Hinweis: 216 entspricht 6^3. Diese zufällige Zahl wird dann eben auf die 
3 Würfel dekodiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.