slipstick:
randomNumber1 = random(1,4);
randomNumber2 = random(1,4);
analogWrite(randomNumber1, brightness);
analogWrite(randomNumber2, brightness);
What do you think these statements will do? random(1,4) generates numbers 1,2 or 3. analogWrite needs a pin number. How do you think the two randomNumber variables are related to LED pin numbers? Steve
const byte Button = 13;
byte ButtonState;
byte lastState = LOW;
byte count = 0;
int L1 = 2;
int L2 = 3;
int L3 = 4;
int L4 = 5;
int L5 = 9;
int L6 = 10;
int L7 = 11;
int L8 = 12;
int LED[] ={
2, 3, 4, 5, 9, 10, 11, 12
};
int pinCount = 8;
int brightness = 0;
int fadeAmount = 5;
int fadeAmountRandom = 7;
long randomNumber1;
long randomNumber2;
void setup() {
Serial.begin(9600);
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
pinMode(L7, OUTPUT);
pinMode(L8, OUTPUT);
pinMode(Button, INPUT);
randomSeed(analogRead (A3));
}
void loop() {
ButtonState = digitalRead(Button);
if(ButtonState && ButtonState != lastState)
{
if(count < 2)
count += 1;
else
count = 0;
}
lastState = ButtonState;
if (count == 0)
{
delay(50);
digitalWrite (L1, LOW);
digitalWrite (L2, LOW);
digitalWrite (L3, LOW);
digitalWrite (L4, LOW);
digitalWrite (L5, LOW);
digitalWrite (L6, LOW);
digitalWrite (L7, LOW);
digitalWrite (L8, LOW);
digitalWrite (L1, HIGH);
digitalWrite (L2, HIGH);
digitalWrite (L3, HIGH);
digitalWrite (L4, HIGH);
digitalWrite (L5, HIGH);
digitalWrite (L6, HIGH);
digitalWrite (L7, HIGH);
digitalWrite (L8, HIGH);
}
else if(count == 1)
{
delay(50);
digitalWrite (L1, LOW);
digitalWrite (L2, LOW);
digitalWrite (L3, LOW);
digitalWrite (L4, LOW);
digitalWrite (L5, LOW);
digitalWrite (L6, LOW);
digitalWrite (L7, LOW);
digitalWrite (L8, LOW);
analogWrite(L1, brightness);
analogWrite(L2, brightness);
analogWrite(L3, brightness);
analogWrite(L4, brightness);
analogWrite(L5, brightness);
analogWrite(L6, brightness);
analogWrite(L7, brightness);
analogWrite(L8, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 250) {
fadeAmount = -fadeAmount;
}
delay(30);
}
else if(count == 2)
{
delay(50);
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(L6, LOW);
digitalWrite(L7, LOW);
digitalWrite(L8, LOW);
randomNumber1 = random(1,4);
randomNumber2 = random(9,12);
analogWrite(randomNumber1, brightness);
analogWrite(randomNumber2, brightness);
for(int i = 0; i < 10; i++)
{
brightness = brightness + fadeAmountRandom;
if (brightness <= 0 || brightness >= 250) {
fadeAmountRandom = -fadeAmountRandom;
}
delay (30);
}
}
}
This was my original code, with leds plugged in to pins 1-4 and 9-12. I realized that to make the fade on/fade off effect i needed my leds plugged to a pwm or analog pin. So I moved my leds to pwm pins 3,5,6,9,10,11 and analog pins 0 and 1, so my issue now is that I wanna generate a random number that will turn on these leds.