Make the dice with a seven segment.
This commit is contained in:
+123
-23
@@ -1,37 +1,137 @@
|
||||
#include <Arduino.h>
|
||||
|
||||
#define BLUE_LED 6
|
||||
#define YELLOW_LED 5
|
||||
#define RED_LED 3
|
||||
#define ANALOG_A0 A0
|
||||
#define LED_A 2
|
||||
#define LED_B 3
|
||||
#define LED_C 4
|
||||
#define LED_D 5
|
||||
#define LED_E 6
|
||||
#define LED_F 7
|
||||
#define LED_G 8
|
||||
#define LED_DOT 9
|
||||
#define BUTTON 10
|
||||
|
||||
int Voltage = 0;
|
||||
int Rrrs = 0;
|
||||
|
||||
// Setup Section
|
||||
void setup() {
|
||||
pinMode(BLUE_LED, OUTPUT);
|
||||
pinMode(YELLOW_LED, OUTPUT);
|
||||
pinMode(RED_LED, OUTPUT);
|
||||
pinMode(LED_A, OUTPUT);
|
||||
pinMode(LED_B, OUTPUT);
|
||||
pinMode(LED_C, OUTPUT);
|
||||
pinMode(LED_D, OUTPUT);
|
||||
pinMode(LED_E, OUTPUT);
|
||||
pinMode(LED_F, OUTPUT);
|
||||
pinMode(LED_G, OUTPUT);
|
||||
pinMode(LED_DOT, OUTPUT);
|
||||
|
||||
pinMode(BUTTON, INPUT);
|
||||
|
||||
randomSeed(analogRead(A0));
|
||||
}
|
||||
|
||||
// Loop Section
|
||||
void loop() {
|
||||
Voltage = analogRead(ANALOG_A0);
|
||||
Voltage = Voltage / 4;
|
||||
if (Rrrs == 0) {
|
||||
if (digitalRead(BUTTON) == LOW) {
|
||||
Rrrs = random(1, 7);
|
||||
|
||||
if (Voltage > 170 && Voltage <= 255) {
|
||||
analogWrite(RED_LED, Voltage-170);
|
||||
analogWrite(YELLOW_LED, 0);
|
||||
analogWrite(BLUE_LED, 0);
|
||||
for (int led = 2; led < 10; led++) {
|
||||
digitalWrite(led, HIGH);
|
||||
delay(100);
|
||||
}
|
||||
}
|
||||
|
||||
switch (Rrrs) {
|
||||
case 1:
|
||||
digitalWrite(LED_A, LOW);
|
||||
digitalWrite(LED_B, HIGH);
|
||||
digitalWrite(LED_C, HIGH);
|
||||
digitalWrite(LED_D, LOW);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, LOW);
|
||||
digitalWrite(LED_G, LOW);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
case 2:
|
||||
digitalWrite(LED_A, HIGH);
|
||||
digitalWrite(LED_B, HIGH);
|
||||
digitalWrite(LED_C, LOW);
|
||||
digitalWrite(LED_D, HIGH);
|
||||
digitalWrite(LED_E, HIGH);
|
||||
digitalWrite(LED_F, LOW);
|
||||
digitalWrite(LED_G, HIGH);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
case 3:
|
||||
digitalWrite(LED_A, HIGH);
|
||||
digitalWrite(LED_B, HIGH);
|
||||
digitalWrite(LED_C, HIGH);
|
||||
digitalWrite(LED_D, HIGH);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, LOW);
|
||||
digitalWrite(LED_G, HIGH);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
case 4:
|
||||
digitalWrite(LED_A, LOW);
|
||||
digitalWrite(LED_B, HIGH);
|
||||
digitalWrite(LED_C, HIGH);
|
||||
digitalWrite(LED_D, LOW);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, HIGH);
|
||||
digitalWrite(LED_G, HIGH);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
case 5:
|
||||
digitalWrite(LED_A, HIGH);
|
||||
digitalWrite(LED_B, LOW);
|
||||
digitalWrite(LED_C, HIGH);
|
||||
digitalWrite(LED_D, HIGH);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, HIGH);
|
||||
digitalWrite(LED_G, HIGH);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
case 6:
|
||||
digitalWrite(LED_A, HIGH);
|
||||
digitalWrite(LED_B, LOW);
|
||||
digitalWrite(LED_C, HIGH);
|
||||
digitalWrite(LED_D, HIGH);
|
||||
digitalWrite(LED_E, HIGH);
|
||||
digitalWrite(LED_F, HIGH);
|
||||
digitalWrite(LED_G, HIGH);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
case 7:
|
||||
digitalWrite(LED_A, HIGH);
|
||||
digitalWrite(LED_B, HIGH);
|
||||
digitalWrite(LED_C, HIGH);
|
||||
digitalWrite(LED_D, LOW);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, LOW);
|
||||
digitalWrite(LED_G, LOW);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
default:
|
||||
digitalWrite(LED_A, LOW);
|
||||
digitalWrite(LED_B, LOW);
|
||||
digitalWrite(LED_C, LOW);
|
||||
digitalWrite(LED_D, LOW);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, LOW);
|
||||
digitalWrite(LED_G, LOW);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (Voltage > 85 && Voltage <= 170) {
|
||||
analogWrite(RED_LED, 0);
|
||||
analogWrite(YELLOW_LED, Voltage-85);
|
||||
analogWrite(BLUE_LED, 0);
|
||||
}
|
||||
else {
|
||||
analogWrite(RED_LED, 0);
|
||||
analogWrite(YELLOW_LED, 0);
|
||||
analogWrite(BLUE_LED, Voltage);
|
||||
else if (Rrrs != 0 && digitalRead(BUTTON) == LOW) {
|
||||
Rrrs = 0;
|
||||
digitalWrite(LED_A, LOW);
|
||||
digitalWrite(LED_B, LOW);
|
||||
digitalWrite(LED_C, LOW);
|
||||
digitalWrite(LED_D, LOW);
|
||||
digitalWrite(LED_E, LOW);
|
||||
digitalWrite(LED_F, LOW);
|
||||
digitalWrite(LED_G, LOW);
|
||||
digitalWrite(LED_DOT, LOW);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user