Arduino random zahl von Array nehmen?
Hey, ich bin grad am kämpfen, ich möchte eine randomzahl aus dem Array bekommen, weiß aber nicht wie!
const int ledPinsS[18] = { 2, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 14, 16 };
ich möchte, dass aus dem Array "ledPinsS" eine random zahl genommen wird, damit ich mit diese eine Random Led einschalten kann!
Ist ein Arduino Mega
1 Antwort
Wirklichen 'Zufall' gibt es für Computer nicht. Zufallszahlen, die von Programmen im normalfall generiert werden kommen meist von einem Pseudozufallsgenerator.
Arduinos haben einen solchen Generator nicht integriert, doch da du mit einem solchen das Privileg hast hardware nah zu sein kannst du auf 'echte' Zufallszahlen zugreifen. Dabei liest du einen nicht angeschlossenen Analogen-Pin. Den zurückgegebenen Wert mappst du nun auf die Array größe und du hast dein zufälliges Item.
Korrektur:
Es gibt doch einen Pseudozufallsgenerator unter Arduino. Für deine Zwecke reicht ein solcher komplet aus, aber einen Analogen-Pin der nicht angeschlossen ist zu lesen ist auch ein Weg.
lg Suiram1
Besser ist es die Werte des Analogpins als Seed für den PRNG zu verwenden, oder zumindest ein Whitening zu machen weil die Höherwertigen Bits des ADC Werts nicht wirklich Zufällig sind.
Sry für diese blöde Frage, aber wie kriege ich eine "Zufallszahl" aus diesem Array? Möchte irgendeine LED einschalten dessen Pin in diesem Array sich befindet.
Gerne beispielcode