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):
- Pehli Pin (E): → Arduino Pin 6
- Dusri Pin (D): → Arduino Pin 5
- Teesri (Common): → Yeh humne Resistor/GND se jod di hai.
- Chothi Pin (C): → Arduino Pin 4
- Paanchvi (Dot): → Khali chhor dein.
🔺 Upar Wali Line (Left se shuru karein):
- Pehli Pin (G): → Arduino Pin 8
- Dusri Pin (F): → Arduino Pin 7
- Teesri (Common): → Khali chhor dein (Neeche wali ground kaafi hai).
- Chothi Pin (A): → Arduino Pin 2
- 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.
