My code is simple but long, i'm trying to make a LED dice with my UNO R3. I have already connected all the components to pins 2, 3, 4, 5, 6, 7, and the button on 8. Each LED has its own 330R resistor, but the code isn't working. Here it is:
#define button 8
#define a 2
#define b 3
#define c 4
#define d 5
#define e 6
#define f 7
int num;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
pinMode(button, INPUT_PULLUP);
}
void loop() {
if(digitalRead(button) == 0) {
num = random(1, 6);
if(num == 1) {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
} else if(num == 2) {
digitalWrite(b, HIGH);
digitalWrite(a, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
} else if(num == 3) {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
} else if(num == 4) {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
} else if(num == 5) {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
} else if(num == 6) {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
}
}
}
The button is connected between pin 8 and GND, since I'm using INPUT_PULLUP mode. What's the problem?