Zufallszahl PIC16F84

Gast #139801
Lesenswert?

Folgendes problem:

Wir müssen als abschlussprojekt für die schule einen microcontroller
(PIC 16F84) programmierein.
Und zwar:

Wir sollen 6aus45 (Lotto mit 6+1 zufallszahlen) auf einem LCD display
ausgeben, hardware mäßig kein problem, aber die zufallszahl macht uns
einfach zu schaffen, habe bereits lange gesucht, aber bis her nichts
gefunden, und daher hier im forum  unser versuch.
Per taster soll die ziehnung gestartet werden und die 6+1 zahlen
nacheinander auf dem display angezigt werden. Random funktion gibt’s
leider keine, also sollte die zufallszahl wahrscheinlich mittels timer
konstruiert werden!
Um jede Hilfe dankbar, wir haben nämlich nicht mehr viel zeit!!!!
Gruß
Gast #139802
Lesenswert?

Lass doch einfach den Timer0 den Systemtakt zählen und lies den
Zählerstand beim Tastendruck aus. Da der Tastendruck zu einem
zufälligen Zeitpunkt auftritt ist auch der Zählerstand zufällig.
Muß man halt sieben Mal drücken...

Uwe
Gast #139803
Lesenswert?

7 mal drücken oder:

du speicherst den zufallswert bei jedem spiel ab und verrechnest alte
gespeicherte zufallswerte mit dem neu ermitteltem zufallswert...

z.B.

1.Zufallszahl= Neu ermittelte Zufallszahl
2.Zufallszahl= Neu ermittelte Zufallszahl + Zufallszahl von vor 3
Spielen

Gruß

Flo
Gast #139806
Lesenswert?

Der Gag an dem Projekt wird wohl gerade eben dieser Zufallsgenerator
sein :)
Das ist nämlich nicht ganz trivial.
Es gibt einige Ansätze dazu, und man sollte auch viel Literatur
finden.

Ein paar Taster abfragen und LCD ansteuern wäre warscheinlich einfach
nur "zu einfach" gewesen...
Gast #139807
Lesenswert?

Man könnte Pseudozufallszahlen nehmen, die wiederholen sich erst alle
2^31-1 = 2147483647 mal.

Das Problem ist bloß, daß nach jedem Reset immer die gleiche Folge
entsteht.

Abhilfe ist aber ganz einfach:

Sobald man eine Ziehung gemacht hat, speichert man den Wert des
Pseudozufallsregisters im EEPROM und holt in nach einem Reset wieder
dort als nächsten Startwert ab.


Peter
Gast #139808
Lesenswert?

Hallo

Falls dieser Microcontroller einen Analogen Eingang hat legt man ein
Rauschen auf den Pin und liesst dann den Wert aus. Soviel ich weiss
gibt es so analoge Chaos-Schaltungen die ein chaotisches Signal
erzeugen.


Der Weihnachtsmann

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren