LeDran schrieb:
1 | > void setup() {
|
2 | > ...
|
3 | > int s = random(1, 5); // deklariere eine Variable, die nur in "setup" gültig ist
|
4 | > }
|
5 | >
|
6 | > void loop() {
|
7 | > int s; // deklariere eine Variable, die nur in "loop" gültig ist
|
8 | > ...
|
9 | > }
|
10 | >
|
Die beiden deklarierten Variablen haben absolut nichts miteinander zu
tun. Die eine deklarierte Variable gilt nur in der Funktion setup und
die andere Variable gilt nur in der Funktion loop.
Am besten informierst Du Dich mal über den Gültigkeitsbereich von
Variablen. Vielleicht möchtest Du, wie vom Vorredner bereits
vorgeschlagen, stattdessen eine global deklarierte Variable verwenden.
Und: Du erzeugst Pseudo-Zufallszahlen. So wie Du es machst, werden die
Zufallszahlen immer in derselben Reihenfolge erzegt, d.h. bei
verschiedenen Aufrufen der random-Funktion werden zwar nacheinander
verschiedene Zufallszahlen erzeugt, aber die Reihenfolge der erzeugten
Zufallszahlen ist bei jedem Programmstart exakt identisch. D.h. wenn
Dein Programm nur einmal eine Zufallszahl erzeugt, wird es bei jedem
Programmstart dieselbe "Zufallszahl" sein, die erzeugt wird. Wenn Du
möchtest, dass ab Programmstart weg verschiedene Reihen von
Zufallszahlen erzeugt werden, muss auch der Zufallszahlengenerator mit
einem zufälligen Wert initialisiert werden. Siehe auch:
http://arduino.cc/de/Reference/RandomSeed