Digital Dice (Electronic Ludo) Robotic Kit

Icon Concept (For Designer)

Ek Ludo ka Dana (Dice) hawa mein uchla hua hai. Side mein 7-Segment Display par number ‘6’ chamak raha hai.

What It Does (Yeh Kya Karta Hai?)

Bilkul asli Ludo ke daane ki tarah!

  • Aap Button dabayenge.
  • Screen par numbers tezi se badlenge (Shuffle animation).
  • Phir achanak ek Random Number (1 se 6) par ruk jayega. Ismein cheating ka koi chance nahi! 😉

Components Required

  • Microcontroller: Arduino Uno
  • 7-Segment Display (1 Digit, 10 Pins wala)
  • 1 Resistor (220 Ohm) – (Current control karne ke liye)
  • Jumper Wires (Kam se kam 8)
  • 1 Push Button 

Wiring (Taarein Jorna)

Step 1: Common Connection (Resistor Yahan Lagega)

Display ki Neeche wali line mein jo Beech wala Pin (Pin 3) hai:

  • Us Pin se Resistor jodein.
  • Resistor ka doosra sira Arduino GND mein lagayen. (Is se sab LEDs safe rahengi).

Step 2: Segments Connection (A to G)

🔻 Neeche Wali Line (Left se shuru karein):

  1. Pehli Pin (E): → Arduino Pin 6
  2. Dusri Pin (D): → Arduino Pin 5
  3. Teesri (Common): → Yeh humne Resistor/GND se jod di hai.
  4. Chothi Pin (C): → Arduino Pin 4
  5. Paanchvi (Dot): → Khali chhor dein.

🔺 Upar Wali Line (Left se shuru karein):

  1. Pehli Pin (G): → Arduino Pin 8
  2. Dusri Pin (F): → Arduino Pin 7
  3. Teesri (Common): → Khali chhor dein (Neeche wali ground kaafi hai).
  4. Chothi Pin (A): → Arduino Pin 2
  5. Paanchvi Pin (B): → Arduino Pin 3

Button Add Karein:

  • Button ki ek taang → GND (Blue Line).
  • Button ki doosri taang → Pin 10.

Code

// Project 19: Digital Dice (Ludo)
// PlzPapa Robotic Kit

// Display Pins
int a = 2; int b = 3; int c = 4; int d = 5; int e = 6; int f = 7; int g = 8;
int buttonPin = 10;

// Numbers (0-9 Patterns)
byte numberPatterns[10][7] = {
  {1,1,1,1,1,1,0}, // 0
  {0,1,1,0,0,0,0}, // 1
  {1,1,0,1,1,0,1}, // 2
  {1,1,1,1,0,0,1}, // 3
  {0,1,1,0,0,1,1}, // 4
  {1,0,1,1,0,1,1}, // 5
  {1,0,1,1,1,1,1}, // 6
  {1,1,1,0,0,0,0}, // 7
  {1,1,1,1,1,1,1}, // 8
  {1,1,1,1,0,1,1}  // 9
};

void setup() {
  for(int i=2; i<=8; i++) { pinMode(i, OUTPUT); }
  pinMode(buttonPin, INPUT_PULLUP);
  
  // Randomness ko behtar karne ke liye (Hawa se reading lo)
  randomSeed(analogRead(0));
  
  // Shuru mein '-' (Dash) dikhao (Beech wali line ON)
  digitalWrite(g, HIGH); 
}

void loop() {
  // Agar Button dabaya
  if (digitalRead(buttonPin) == LOW) {
    
    // --- ANIMATION (Shuffle Effect) ---
    // Numbers ko tezi se ghumao taake lage dice hil raha hai
    for (int i=0; i<15; i++) {
      int fakeRoll = random(1, 7); // 1 se 6 koi bhi number
      displayNumber(fakeRoll);
      delay(50); // Bohot tez change karo
    }
    
    // --- FINAL RESULT ---
    int finalNumber = random(1, 7); // Asli number chuno (1 se 6)
    displayNumber(finalNumber);
    
    // Button chhodne ka intezaar karo
    while(digitalRead(buttonPin) == LOW); 
    delay(200);
  }
}

// Display Function
void displayNumber(int num) {
  // Pehle sab saaf karo (Optional but safe)
  for(int i=2; i<=8; i++) digitalWrite(i, LOW);

  int pin = 2;
  for(int i=0; i<7; i++) {
    digitalWrite(pin, numberPatterns[num][i]);
    pin++;
  }
}

Test Kaise Karein:

  • Code upload karein.
  • Shuru mein screen par sirf ek Line (-) hogi ya blank hoga.
  • Button Dabayen: Numbers tezi se bhagenge (Jaise slot machine).
  • Rukega: Ek number par ruk jayega (Jaise 4).
  • Dubara dabayen, shayad ab 6 aaye ya 1 aaye.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top