Make the dice with a seven segment.

This commit is contained in:
2026-05-21 16:50:10 +03:30
parent 666580ecbe
commit c9a32a90f6
+124 -24
View File
@@ -1,37 +1,137 @@
#include <Arduino.h> #include <Arduino.h>
#define BLUE_LED 6 #define LED_A 2
#define YELLOW_LED 5 #define LED_B 3
#define RED_LED 3 #define LED_C 4
#define ANALOG_A0 A0 #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 // Setup Section
void setup() { void setup() {
pinMode(BLUE_LED, OUTPUT); pinMode(LED_A, OUTPUT);
pinMode(YELLOW_LED, OUTPUT); pinMode(LED_B, OUTPUT);
pinMode(RED_LED, 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 // Loop Section
void loop() { void loop() {
Voltage = analogRead(ANALOG_A0); if (Rrrs == 0) {
Voltage = Voltage / 4; if (digitalRead(BUTTON) == LOW) {
Rrrs = random(1, 7);
if (Voltage > 170 && Voltage <= 255) { for (int led = 2; led < 10; led++) {
analogWrite(RED_LED, Voltage-170); digitalWrite(led, HIGH);
analogWrite(YELLOW_LED, 0); delay(100);
analogWrite(BLUE_LED, 0); }
} }
else if (Voltage > 85 && Voltage <= 170) {
analogWrite(RED_LED, 0); switch (Rrrs) {
analogWrite(YELLOW_LED, Voltage-85); case 1:
analogWrite(BLUE_LED, 0); digitalWrite(LED_A, LOW);
} digitalWrite(LED_B, HIGH);
else { digitalWrite(LED_C, HIGH);
analogWrite(RED_LED, 0); digitalWrite(LED_D, LOW);
analogWrite(YELLOW_LED, 0); digitalWrite(LED_E, LOW);
analogWrite(BLUE_LED, Voltage); 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 (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);
} }
} }