Forum: Mikrocontroller und Digitale Elektronik Lottozahlengenerator umprogrammieren


von Alex (Gast)


Lesenswert?

Hi zusammen!

Erstmal Hinweis: Ich binn kompletter ANFÄNGER - d.h. hab mit der Materie 
µC noch überhaupt nix zutun gehabt... also bitte um ein bisschen 
Nachsicht und möglichst wenig fachchinesisch*g*! Drum wird eich die 
folgende Frage sicher leicht fallen, glaub ich:

Also ich brauch das für ein Geburtstagsgeschenk für einen Freund: Im 
Prinzip gehts um einen Zufallszahlengenerator mit Bereich 1 bis ca. 25 
(+- ein paar ist nicht so tragisch), der sich die schon angezeigten 
Zahlen merkt und diese dann nicht mehr ausspuckt... und dass in HARDWARE 
ausführung... grundsätzlich - das programmieren würde ich einigermaßen 
hinbekommen... aber das ganze in irgendeiner ausführung mit knöpfchen 
und display... tja da steh ich an...

meine idee: da gibt es von conrad electronic diesen lottozahlen 
generator (hier der link ( http://www.conrad.at/goto.php?artikel=130030 
). Der macht das mit 6 aus 45... den könne man doch umprogrammieren auf 
"25 aus 25" oder? - meine frage nun (so typisch anfängermäßig gestellt): 
was brauch ich dazu und "wie mach ich das" - oder hat wer eine bessere 
idee - bzw. gibts irgendeine günstige experimentier platine oder 
ähnliches die im aufbau einfach ist und die ich für diesen zweck 
verwenden kann???

währ echt klasse wenn mir wer helfen kann von euch!!!!

mfg
alex

P.S.: ja ich hab die suchfunktion verwendet aber meines erachtens nix 
gutes gefunden....

von Frank N. (betafrank)


Lesenswert?

Hi Alex,

wie es aussieht, ist ein PIC-Mikrocontroller drauf. Da der gesockelt 
ist, läßt er sich ja rausnehmen. Kenn mich mit den PICs nicht so aus, 
scheint aber keiner mit FLASH-Programmspeicher zu sein. Ist also nur 1x 
programmierbar. Gibt ihn aber bestimmt auch als "F" (Flash) -Typ. Also 
so einen kaufen und den dann passend programmieren (selber oder jemanden 
finden, der das kann;-))

Gruß Frank

von Philipp B. (philipp_burch)


Lesenswert?

Pfff, so viel Aufwand um zwei Siebensegment-Anzeigen anzusteuern. Man 
nehme einen Controller seiner Wahl mit mindestens 7 (Segmente) + 2 
(Ziffern) + 1 (Taste) = 10 I/Os, dazu zwei Transistoren, einen Taster, 
die zwei Anzeigen und etwas Hühnerfutter.
Empfehle ich aber eher weniger für einen blutigen Anfänger, ganz trivial 
ist es ja doch nicht...

von Jörg B. (manos)


Lesenswert?

2x 7 Segment wäre die eine Möglichkeit, ein einfaches Display die 
andere... für beides sollte ausreichend Beispielcode im Netz vorhanden 
sein.

von mr.chip (Gast)


Lesenswert?

Hallo

Umprogrammieren des Lottozahlen-Generators mag zwar auf den ersten Blick 
die einfachere Sache sein, weil man die Hardware dann schon hat. 
Allerdings muss man dazu die Funktion der vorliegenden Schaltung genau 
verstehen und danach noch den passenden Controller finden - nicht gerade 
einfach für einen Anfänger.

7-Segment-Anzeigen oder Display hingegen ist recht einfach hinzukriegen, 
da es ja viele Tutorials dazu gibt, u.a. auch auf dieser Webseite.

Gruss

Michael

von Peter D. (peda)


Lesenswert?

Zufallszahlen sind nicht trivial, wenn es eingermaßen echt sein soll.

Gute Erfahrungen habe ich mit 2 Primzahlenzählern gemacht.
Der eine stoppt im Hintergrund in genau gleichen Intervallen 
(Timerinterrupt !) die Tastendruckzeit aus.
Der andere sorgt im Vordergrund für das sichtbare (Aus-)Rollen der 
Ziffern.

Durch die hohe Geschwindigkeit des Hintergrundzählers und das 
Primzahlenverhältnis ist praktisch keinerlei Manipulation möglich.
Die Zahlen sind gleichverteilt.

Die Nutzung des externen Interrupts anstelle des Timerinterrupts zur 
Tastenabfrage ergibt eine Abhängigkeit vom ausgeführten Code und 
zerstört daher die Gleichverteilung (deutlich sichtbare Häufung 
bestimmter Werte) !


Hier ein Beispiel als Würfel:

http://home.tiscali.de/peterd/appl/soft/c51/dice/index.htm


Peter

von Detlef _. (detlef_a)


Lesenswert?

>>Zufallszahlen sind nicht trivial, wenn es eingermaßen echt sein soll.

Das stimmt. Bei Lottozahlen ist die Sachlage noch ungleich schwieriger, 
weil es sollen ja die richtigen Zahlen für das nächste Wochenende sein.

Cheers
Detlef

von Jack B. (jackbraun)


Lesenswert?

Kann man nicht einen Zähler laufen lassen, und den Zählerstand bei
Tastendruck übernehmen? Wenn der Zähler schnell genug läuft, müßten
doch alle Zählerstände gleich häufig auftreten.

von Alex (Gast)


Lesenswert?

Hi!

WOW ich hätt nicht gedacht, dass so viele gleich antworten würden - an 
alle gleich mal ein großes DANKE - ihr seid klasse!!!!

also zum thema:
(mal von unten nach oben*g*...)

@ jack braun:
jaja das hab ich mir alles schon überlegt - rein ohne µC zufallszahlen 
mit einem schnell genug laufenden zähler hin zu bekommen ist ja im 
endeffekt nicht so schwer - aber wenn er sich dan merken soll was schon 
kekommen ist....

@ Peter Dannegger:
hmmm tja würfel findet man haufenweise im netz... aber die ausgabe und 
der zahlenbereich sind nicht unbedingt das was ich braucht und die 
mehrzahl der würfel ist ohne µC gebaut - sprich hardwaremäßig genau auf 
seine aufgabe zugeschnitten... dass ich das auf meine anwendung ummünze 
ist nicht so easy für mich

@ mr.chip & Frank N.:
Ja eben weil er gesockelt ist hab ich mir ja gedacht, dass man den 
umprogrammieren/austauschen kann - hmm tja stimmt, wenn ich ihn nicht 
umprogrammieren kann muss ich einen neuen einsetzten den ich selbst 
programmieren - dann kann ich das ganze auch gleich neu aufbauen weil 
ich dann die schaltung dahinter besser verstehe...

und schließlich @ Philipp Burch:
gefällt mir ganz gut... aber wie du sagst - is für mich nicht sooo 
trivial... nagut - ich kann ja mal versuchen mich ein bisschen 
einzulernen - kannst du mir den vorschlag entwas konkretisieren wie du 
dir das vorgestellt hast???

noch was: es gibt ja diese "experimentier" oder "starter" sets wo eine 
fixe platine mit µC und einigen Ein und Ausgängen mit verschiedenen 
Funktionen schon aufeinander abgestimmt installiert sind (oder hald als 
bausatz - löten kann ich gottseidank*g*)... da bräucht ich ja nur eine 
mit zwei 7-segment anzeigen bzw. display und einem taster (grob) ev. 
noch mit zähler oder taktgeber oder einem offenen eingang wo ich sowas 
anhängen könnte... kennt keiner von eich so ein "spielzeug" zufällig 
dass der beschreibung passen würde?

von Jack B. (jackbraun)


Lesenswert?

>jaja das hab ich mir alles schon überlegt - rein ohne µC zufallszahlen
>mit einem schnell genug laufenden zähler hin zu bekommen ist ja im
>endeffekt nicht so schwer - aber wenn er sich dan merken soll was schon
>kekommen ist....

Ich bin von einem Zähler im µ ausgegangen, der kann sich das schon
merken.

von Peter D. (peda)


Lesenswert?

Alex wrote:

> @ Peter Dannegger:
> hmmm tja würfel findet man haufenweise im netz... aber die ausgabe und
> der zahlenbereich sind nicht unbedingt das was ich braucht und die
> mehrzahl der würfel ist ohne µC gebaut - sprich hardwaremäßig genau auf
> seine aufgabe zugeschnitten... dass ich das auf meine anwendung ummünze
> ist nicht so easy für mich


Ja, da mußt Du schon ein bischen selber machen.

Einfach den Zähler hochzusetzen sollte kein Akt sein.

Und Zahlenwandlungsroutinen findet man auch reichlich im Inet.


Peter

von Philipp B. (philipp_burch)


Angehängte Dateien:

Lesenswert?

Also die Hardware ist doch denkbar einfach (Hab' sie aber nicht 
getestet, dass sie fehlerfrei ist, kann ich nicht garantieren ;) ). 
Siehe Anhang.

Bei der Stiftleiste würde ich direkt drei 1.5V-Zellen in Reihe 
anschliessen, dann sparst du dir so Zeugs wie Spannungsregler & Co.

EDIT: Hab' eben noch eine Kleinigkeit geändert. Der Taster hängt nun an 
INT0, damit kannst du den Controller aus dem Sleep wecken. Ist 
praktischer, dann brauchst du keinen Watchdog.

von Philipp B. (philipp_burch)


Angehängte Dateien:

Lesenswert?

Grmpf, Anhänge können scheinbar beim editieren nicht geändert werden. 
Also nochmal.

von Alex (Gast)


Lesenswert?

asso falsch verstanden - ich hab mich nämlich mit genau dem system rein 
hardwaretechnisch (zähle, schieberegister,...) schon auseinander 
gesetzt... nur eben das mit dem speichern ist nich so leicht dabei (wie 
gesagt) - sorry jack

hey philipp das sieht ja wirklich zum schaffen aus! thx!!
kleines techn. problem noch: ich kann deine *.sch datei nich aufmachen, 
die du da das 2x attatcht hast...

gut wenn ich mir das hardwaremäßig mal einigermaßen vorstellen kann is 
ja schon mal vieles geschafft!
jetz noch eine hiobs botschaft... ich hab wender hardware noch software 
zum "bespielen" von so nem controler.... was brauch ich da alles?

von Philipp B. (philipp_burch)


Angehängte Dateien:

Lesenswert?

Das Dateiformat ist von EAGLE. Falls du mal etwas weiter einsteigen 
willst und dir auch solche Schaltpläne zeichnen möchtest, solltest du 
dir das runterladen. Ist echt gut. www.cadsoft.de

Aber egal, hab' im Anhang nochmal die zweite Version als PNG.

EDIT: Zu deiner zweiten Frage: Was du an Ausrüstung brauchst steht im 
AVR-Tutorial (Link links oben). Keine Angst, wenn du einen Parallelport 
hast, brauchst du im einfachsten Fall nur seeehr wenig.

von Alex (Gast)


Lesenswert?

Hey! mal tausend dank bis jetzt - gut... paralellport hab ich 
(*puh**g*).... na gut- dann werd ich mich mal einlesen... mal schaun wie 
weid ich komm!

lg

von Roland P. (pram)


Lesenswert?

Falls du noch Infos brauchst wie man auf einem (deterministischen) 
Controller "Zufallszahlen" erzeugt, kann ich dir evtl mit einem Seminar 
von mir weiterhelfen: http://students.fim.uni-passau.de/~praml/prosem/

Gruß
Roland

von Philipp B. (philipp_burch)


Lesenswert?

Als Random-Seed bietet sich bei dem Controller übrigens der ADC an. Ein 
offener ADC-Eingang dürfte schon mehr oder weniger zufällige Ergebnisse 
liefern, mit denen man den Generator initialisieren kann. Wenn bei jedem 
Start die gleichen Zahlen rauskommen ist das ja nicht so toll ;)

von Bastelmensch nicht angemeldet (Gast)


Lesenswert?

Hi Leute,

ich habe so was auch mal gemacht. Damals, mit dem C64...

Ich habe einfach einen wert hochgezählt und wenn eine Taste gedrückt 
wurde habe ich diesen Wert ausgegeben.

Der entsprechende Wert wurde markiert und beim nächsten durchgang 
übersprungen.

Wenn die gewünschte Anzahl der Zahlen gezogen war, habe ich das 
zurückgesetzt und es wurde neu gezogen.

So sitzt der Zufallsgenerator vor dem Gerät. :-)

von Philipp B. (philipp_burch)


Lesenswert?

Zum Thema Pseudozufall <-> "echten" Zufall hatten wir hier auch schon 
einige Diskussionen. Insbesondere für Lottozahlen würde ich vielleicht 
eher einen gescheiten Zufallsgenerator verwenden, dann sind die Zahlen 
eher gleichmässig verteilt. Einfach so als Bastellösung tut's die andere 
Variante aber natürlich auch.

von Alex (Gast)


Lesenswert?

thx a lot an alle!
leider hätl mich im moment mein studium ein bisschen in trapp - drum 
komm ich jetzt echt nicht dazu irgendwas von dem auszuprobieren... aber 
sobald ich wieder Zeit habe.....

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Irgendwie ironisch für Lottozahlen einen mathematisch korrekten 
Zufallsgenerator zu verwenden, wo sich doch mit der selben Mathematik 
beweisen lässt, dass die Gewinnchancen mit einem Generator der immer "1 
2 3 4 5 6" ausgibt die selben sind.

von Bastelmensch nicht angemeldet (Gast)


Lesenswert?

> Insbesondere für Lottozahlen würde ich vielleicht
eher einen gescheiten Zufallsgenerator verwenden, dann sind die Zahlen
eher gleichmässig verteilt.

Lotto ist aber kein Würfelspiel.

Beim Lotto ist die Verteilung der Zahlen zwar auch gleichmässig, das 
bekommt man aber bei der entsprechenden Anzahl von Ziehungen auch mit 
der Bastellösung hin, oder irre ich mich hier?

von Philipp B. (philipp_burch)


Lesenswert?

Ausprobieren ;)

Grundsätzlich spielt's wohl eh keine Rolle.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Bastelmensch nicht angemeldet wrote:
>> Insbesondere für Lottozahlen würde ich vielleicht
> eher einen gescheiten Zufallsgenerator verwenden, dann sind die Zahlen
> eher gleichmässig verteilt.
>
> Lotto ist aber kein Würfelspiel.
>
> Beim Lotto ist die Verteilung der Zahlen zwar auch gleichmässig, das
> bekommt man aber bei der entsprechenden Anzahl von Ziehungen auch mit
> der Bastellösung hin, oder irre ich mich hier?

Ah, ich glaube hier liegt ein Missverständnis vor. Solche 
Lottozahlengeneratoren werden nicht verwendet um damit selber 
Gewinnzahlen für eine Privat-Lotterie festzulegen, sondern um zu 
bestimmen was man auf dem Lottoschein ankreuzt. Und da ist es völlig 
egal welche Zahlenfolge der Generator erzeugt, "1 2 3 4 5 6" ist genauso 
gut wie "32 1 17 24 3 5.

von Alexander (Gast)


Lesenswert?

nicht unbedingt... mit 1,2,3,4,5,6 hat man weniger gewonnen wenn es 
passiert, da diese Kombination 100000te Tipper auf ihrem Schein 
ankreuzen ;)

von MR (Gast)


Lesenswert?


von Bernd T. (bastelmensch)


Lesenswert?

Andreas Schwarz wrote:
> Ah, ich glaube hier liegt ein Missverständnis vor. Solche
> Lottozahlengeneratoren werden nicht verwendet um damit selber
> Gewinnzahlen für eine Privat-Lotterie festzulegen, sondern um zu
> bestimmen was man auf dem Lottoschein ankreuzt. Und da ist es völlig
> egal welche Zahlenfolge der Generator erzeugt, "1 2 3 4 5 6" ist genauso
> gut wie "32 1 17 24 3 5.

Habe nichts anderes behauptet. Und mir ist schon klar für was so ein 
Lottozahlengenerator benötigt wird. Und genau dafür habe ich meine C64 
Lösung Jahrelang genommen. Zu Faul um selber was einfallen zu lassen. 
:-)

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.