#define LED0 22
#define LED1 18
#define LED2 5
#define LED3 17
#define LED4 19
#define LED5 16
#define LED6 21
#define Random 23
#define Reset 4
int LED[] = {LED0, LED1, LED2, LED3, LED4, LED5, LED6};
void setup() {
Serial.begin(115200);
pinMode(Random, INPUT);
pinMode(Reset, INPUT);
for (int i = 0; i < 7; i++) {
pinMode(LED[i], OUTPUT);
digitalWrite(LED[i], HIGH); // ตั้งค่าไฟดับ (HIGH = OFF)
}
}
void displayDice(int dice) {
switch (dice) {
case 1:
digitalWrite(LED[0], HIGH);
digitalWrite(LED[1], HIGH);
digitalWrite(LED[2], HIGH);
digitalWrite(LED[3], LOW);
digitalWrite(LED[4], HIGH);
digitalWrite(LED[5], HIGH);
digitalWrite(LED[6], HIGH);
break;
case 2:
digitalWrite(LED[0], HIGH);
digitalWrite(LED[1], HIGH);
digitalWrite(LED[2], LOW);
digitalWrite(LED[3], HIGH);
digitalWrite(LED[4], LOW);
digitalWrite(LED[5], HIGH);
digitalWrite(LED[6], HIGH);
break;
case 3:
digitalWrite(LED[0], HIGH);
digitalWrite(LED[1], HIGH);
digitalWrite(LED[2], LOW);
digitalWrite(LED[3], LOW);
digitalWrite(LED[4], LOW);
digitalWrite(LED[5], HIGH);
digitalWrite(LED[6], HIGH);
break;
case 4:
digitalWrite(LED[0], LOW);
digitalWrite(LED[1], HIGH);
digitalWrite(LED[2], LOW);
digitalWrite(LED[3], HIGH);
digitalWrite(LED[4], LOW);
digitalWrite(LED[5], HIGH);
digitalWrite(LED[6], LOW);
break;
case 5:
digitalWrite(LED[0], LOW);
digitalWrite(LED[1], HIGH);
digitalWrite(LED[2], LOW);
digitalWrite(LED[3], LOW);
digitalWrite(LED[4], LOW);
digitalWrite(LED[5], HIGH);
digitalWrite(LED[6], LOW);
break;
case 6:
digitalWrite(LED[0], LOW);
digitalWrite(LED[1], LOW);
digitalWrite(LED[2], LOW);
digitalWrite(LED[3], HIGH);
digitalWrite(LED[4], LOW);
digitalWrite(LED[5], LOW);
digitalWrite(LED[6], LOW);
break;
}
}
void loop() {
if (digitalRead(Random) == LOW) { // ปุ่มสุ่ม
int randNumber = random(1, 7); // สุ่มเลขตั้งแต่ 1 ถึง 6
Serial.println("dice : " + String(randNumber));
displayDice(randNumber); // แสดงลูกเต๋าตามตัวเลขที่สุ่มได้
delay(200);
}
if (digitalRead(Reset) == LOW) { // ปุ่มรีเซ็ต
Serial.println("Reset");
displayDice(1); // แสดงลูกเต๋าเป็นหมายเลข 1
delay(200);
}
}