random Seed ohne analog read


hy,
ich habe ein arduino uno und möchte auf meinem 4x4x4 led cube mittels zufallszahlen eine animation laufen lassen...
habe aber probleme mit random seed, zufällige "startpunkte" für die "pseudo" zufallszahlen:
- srand(time(null)); kann man ja leider in der arduino ide nicht nutzen
- alle i/o pins sind belegt durch den cube, daher kein analogread möglich (oder können andere pins "missbraucht" werden ?! )
- und randomseed(millis()); bringt auch immer wieder die gleiche animation :(

welche (einfache) möglichkeiten gibt es noch, zufällige "seeds" zuerzeugen ?

mfg

hobo

könntest du nicht einfach beim start des sketches ein paar werte über die analogen eingänge lesen und nur die jeweils niedrigstwertigen bits verwenden? die sollten eigentlich immer ziemlich rauschen, egal den eingängen hängt...
die bits könntest du dann alle hintereinander schreiben und die daraus entstandene zahl randomseed weitergeben.
das dürfte ja eigentlich auch in sekundenbruchteilen machbar sein, fällt nicht auf.

irgendwie soetwas: (ungetestet)
code: [select]

int i;
long int seed = 0;

for (i = 0; i<64; i++)
{
   seed |= (analogread(a0) & 0x01) << i;
}

analogseed(seed);



Arduino Forum > International > Deutsch (Moderator: uwefed) > random Seed ohne analog read


arduino

Comments

Popular posts from this blog

Thread: PKI Client 5.00 install (for eToken Pro)

ATmega2560-Arduino Pin Mapping

Crossfader Arduino Tutorial