Ich hab nun meinen Arduino Uno erhalten und sofort losgebastelt, so weit, so gut.
Nun wollte ich 5 LED´s zufällig leuchten lassen aber das geht irgendwie nicht.
Ich bin ein neuling im Programmieren also bitte nicht wundern warum mein Code so ist wie er ist
int ran1 = random(1, 2);
int ran2 = random(1, 2);
int ran3 = random(1, 2);
int ran4 = random(1, 2);
int ran5 = random(1, 2);
int led1 = 0;
int led2 = 1;
int led3 = 2;
int led4 = 3;
int led5 = 4;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop() {
if (ran1 = 2);
digitalWrite(led1, HIGH);
if (ran2 = 2);
digitalWrite(led2, HIGH);
if (ran3 = 2);
digitalWrite(led3, HIGH);
if (ran4 = 2);
digitalWrite(led4, HIGH);
if (ran5 = 2);
digitalWrite(led5, HIGH);
delay(1000);
}
das Ergbnis des Codes sind immer 5 dauernd leuchtende LED´s.
Könnt ihr mir da weiterhelfen?
Du darfst deine if-Anweisungen nicht mit einem Semikolon abschließen.
Soll das Zufallsmuster nur einmal beim Start generiert werden oder soll es sich im Sekundentakt ändern (wg. der Verwendung des delay im Code)?
Weiterhin werden sich die LEDs nie verändern, da Du nur einmal beim deklarieren der Variablen die Werte zufällig setzt, aber nicht mehr in der loop().
Erschwerend kommt hinzu, das der zweite Wert bei random(min,max) exklusive ist. EIn random(1,2) liefert immer eine 1.
Siehe auch: http://arduino.cc/en/Reference/Random#.Uxh6FV78-X0
Einen weiteren Fehler hast Du auch entfernt ohne daß wir was sagen mußten.
Die Pins 0 und 1 werden für die USB-Schnittstelle verwendet. Darum solltest Du sie nicht verwenden da ansonsten das Upload des Sketches nicht funktionieren kann.
grüße Uwe