Forum: Mikrocontroller und Digitale Elektronik Arduino Dopplung in Zufallsgenerator


von Steffen (Gast)


Lesenswert?

Hallo,

ich lasse mir mit folgender Funktion auf einem Arduino Nano eine 
Zufallszahl generieren. Das Problem; die


randomSeed(analogRead(0));

for (int i = 0; i < serialPrefix_len; i++) {
    int c = serialPrefix.charAt(i);
    EEPROM.write(i, c);
  }
  for (int i = serialPrefix_len; i < serialNumberLen; i++) {
    int randNumber = random(0,35);
    char c;
    if(randNumber<26){
    c = 'a' + (char)randNumber;
      }else{
    c = '0' + (char)randNumber-26;
      }
    EEPROM.write(i,c);
  }

Das Problem ist nur, dass bei der Generierung der eigentliche 
Seriennummer (innere For-Schleife) die 8 und 9 Stelle IMMER identisch 
ist. Ich kann mir das nicht genau erklären. Könnt ihr mit sagen wie das 
kommt?

von A. S. (Gast)


Lesenswert?

Welche Werte liefert analogread zurück?

Lass das doch Mal in einer äußeren Schleife laufen mit allen Startwerten 
von random. Und dann jeweils die ersten 10 zahlen ausprinten. Und daraus 
ein Histogramm

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.