ATtiny पर पासा फेंकने का अनुकरण


🔧 लक्ष्य:

  • उपयोग केवल 3 आउटपुट pins अनुकरण करने के लिए पासा रोल (1-6)
  • चलाना 7 एल ई डी एक क्लासिक डाई की तरह व्यवस्थित
  • विभिन्न पैटर्न दिखाएं चतुराई का उपयोग करना pin तर्क
  • एक बटन एक यादृच्छिक रोल को ट्रिगर करता है

🧠 यह कैसे काम करता है?

प्रत्येक एलईडी को अलग से नियंत्रित करने के बजाय, हम इसका इलाज करते हैं प्रत्येक संख्या (1-6) एक के रूप में पूर्वनिर्धारित पैटर्न, तथा उसी का पुनः उपयोग करें pins अलग-अलग संयोजनों को प्रदर्शित करने के लिए। हर बार बटन दबाने पर, एक यादृच्छिक संख्या उत्पन्न होता है, और 3 आउटपुट pins उस नंबर से मेल खाने के लिए सेट हैं एलईडी लेआउट.


🧩 योजनाबद्ध अवलोकन

  • PB0, PB1, PB2 → से जुड़ा 3 एलईडी संयोजन
  • एलईडी हैं चतुराई से वायर्ड ताकि आप संयोजन करके विभिन्न पैटर्न को प्रकाशित कर सकें pins
  • बटन 4kΩ पुल-अप प्रतिरोधक के साथ PB10 से जुड़ा हुआ
  • के बीच 0.1 µF संधारित्र को बायपास करें Vcc और GND पावर शोर फ़िल्टरिंग के लिए ⚡
  • रीसेट पर 10kΩ पुल-अप रेज़िस्टर। यदि रीसेट को फ़्यूज़ बिट के माध्यम से अक्षम नहीं किया जाता है, तो गलत रीसेट को रोकता है

🧰 टिंकरकैड कोड (3-pin एलईडी तर्क + बटन)

// C++ code
//
int number = 0;

void setup()
{
  pinMode(A2, INPUT);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);

  number = 0;
}

void loop()
{
  if (analogRead(A2) == 0) {
    number = random(1, 6 + 1);
    if (number == 1) {
      digitalWrite(0, HIGH);
      digitalWrite(1, LOW);
      digitalWrite(2, LOW);
    }
    if (number == 2) {
      digitalWrite(0, LOW);
      digitalWrite(1, HIGH);
      digitalWrite(2, LOW);
    }
    if (number == 3) {
      digitalWrite(0, HIGH);
      digitalWrite(1, HIGH);
      digitalWrite(2, LOW);
    }
    if (number == 4) {
      digitalWrite(0, LOW);
      digitalWrite(1, LOW);
      digitalWrite(2, HIGH);
    }
    if (number == 5) {
      digitalWrite(0, HIGH);
      digitalWrite(1, LOW);
      digitalWrite(2, HIGH);
    }
    if (number == 6) {
      digitalWrite(0, LOW);
      digitalWrite(1, HIGH);
      digitalWrite(2, HIGH);
    }
  }
  delay(10); // Delay a little bit to improve simulation performance
}

📝 एलईडी कैसे कनेक्ट करें?

  • प्रत्येक एल.ई.डी. (या एल.ई.डी. जोड़ी) प्रकाशित होती है केवल जब निश्चित pins उच्च हैं
  • उदाहरण के लिए, कुछ LED को आपस में साझा किया जा सकता है pinएस के साथ डायोड या प्रतिरोधक, या एक सरल तरीके से वायर्ड बहुसंकेतन त्रिभुज प्रपत्र
  • एलईडी को जलने से बचाने के लिए प्रतिरोधक के साथ धारा को सीमित करें।


💡 अतिरिक्त चीज़ें जो आप जोड़ सकते हैं

  • ✨ वास्तविक पासा एनीमेशन (तेज़ यादृच्छिक ब्लिंकिंग)
  • 🔇 बजर क्लिक ध्वनि
  • 💤 निष्क्रिय होने पर ATtiny पावर-डाउन
  • 🖨️ एलईडी के लिए पारभासी खिड़कियों के साथ कस्टम 3 डी-मुद्रित क्यूब

📡 सिग्नल प्रसारित करें - कनेक्शन को बढ़ाएँ।

एक जवाब लिखें