विषयसूची:

MAX7221 का उपयोग कर काउंटर: 4 कदम
MAX7221 का उपयोग कर काउंटर: 4 कदम

वीडियो: MAX7221 का उपयोग कर काउंटर: 4 कदम

वीडियो: MAX7221 का उपयोग कर काउंटर: 4 कदम
वीडियो: Max7219 LED Matrix getting it working, correct hardware type, Parola Library Arduino ESP8266 #0045 2024, जुलाई
Anonim
MAX7221. का उपयोग कर काउंटर
MAX7221. का उपयोग कर काउंटर

एक काउंटर बनाना जो MAX7221 का उपयोग करके बटन दबाए जाने पर बढ़ता है।

चरण 1: भाग

MAX7221 या MAX7219

स्विच

4 7-सेगमेंट डिस्प्ले (कॉमन कैथोड)

2 प्रतिरोध: 10k और 9.53k (मैंने 9.1k का उपयोग किया और यह अभी भी काम करता है)

अरुडिनो

चरण 2: सर्किट का निर्माण

सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण

मैंने केवल उन पिनों को लिखा है जिनका मैंने उपयोग किया है, आप डेटाशीट पर पूरा पिन लेआउट पा सकते हैं या मैंने इसे संलग्न किया है। अपने 7-सेगमेंट डिस्प्ले को देखना सुनिश्चित करें क्योंकि यह शायद मेरे से अलग होगा लेकिन प्रक्रिया समान है।

1. MAX7221 पर अंक 0 - 3 को डिस्प्ले पर अंक 1 - 4 से कनेक्ट करें। MAX अंक 0 डिस्प्ले अंक 1 आदि से जुड़ता है। डिस्प्ले केवल अपरंपरागत हैं और 0 के बजाय 1 से शुरू होते हैं।

2. MAX7221 पर सेगमेंट A - G को डिस्प्ले पर सेगमेंट A - G से कनेक्ट करें।

3. अधिकतम को बिजली और जमीन की आपूर्ति करें। VCC पिन 19 पर जाता है। 10k रोकनेवाला भी पिन 19 और 18 से जुड़ा होता है। ग्राउंड पिन 4 और 9 पर जाता है।

4. MAX7221 एसपीआई (सीरियल पेरिफेरल इंटरफेस) के माध्यम से Arduino के साथ संचार करता है। इस मामले में केवल 3 तारों की आवश्यकता है क्योंकि मैं MISO (मास्टर इन स्लेव आउट) का उपयोग नहीं कर रहा हूं। MAX7221 पर पिन 1 (Din) को Arduino से कनेक्ट करें, मेरे मामले में मैंने पिन 12 का उपयोग किया है। यह आपका MOSI (मास्टर आउट स्लेव इन) या डेटा है। MAX पर पिन 12 CS (चिप सेलेक्ट इनपुट) है और डेटा को शिफ्ट रजिस्टर में कैसे लोड किया जाता है, मैंने इसे Arduino पर पिन 9 से जोड़ा। अंतिम कनेक्शन CLK है जो MAX पर 13 पिन है, मैंने इसे Arduino पर 10 पिन करने के लिए जोड़ा है।

5 वोल्ट का उपयोग करके Arduino के माध्यम से बिजली और जमीन की आपूर्ति करना सुनिश्चित करें। मैं उस समस्या में भाग गया जहाँ मेरा Arduino मेरे बोर्ड को पर्याप्त शक्ति नहीं दे रहा था।

यह MAX7221 डेटाशीट के लिए है। साथ ही तस्वीरें कहां से आईं।

www.mouser.com/datasheet/2/256/max7219-max…

चरण 3: स्विच

बटन
बटन

मैंने ऊपर के योजनाबद्ध से स्विच को तार-तार कर दिया। https://www.arduino.cc/en/tutorial/button. पर मिला

मैंने स्विच को नियंत्रित करने के लिए Arduino पर पिन 8 और एक 10k रोकनेवाला का उपयोग किया।

चरण 4: कोड

मैंने GitHub पर मिली LedControl.h लाइब्रेरी और MAX7221 को चालू करने के लिए उनके मूल कोड का उपयोग किया। मैंने तब कोड को 0 - 9999 से गिनने के लिए संशोधित किया जब बटन दबाया जा रहा था।

#शामिल "LedControl.h"

इंट बटन = 8;

लेडकंट्रोल एलसी = लेडकंट्रोल (12, 10, 9, 1);

व्यर्थ व्यवस्था() {

पिनमोड (बटन, इनपुट);

एलसी शटडाउन (0, झूठा); // MAX7221 पावर सेविंग मोड में है, इसलिए हमें इसे जगाना होगा

एलसी.सेटइंटेंसिटी (0, 15); // चमक सेट करना, अधिकतम 15

एलसी.क्लियरडिस्प्ले(0); // क्लियरिंग डिस्प्ले

}

शून्य लूप () {

इंट स्टेट = डिजिटलरेड (बटन);

इंट मैं = 0;

इंट जे = 0;

इंट के = 0;

इंट एल = 0;

जबकि(1){

राज्य = डिजिटल रीड (बटन);

जबकि (राज्य == 1) {

राज्य = डिजिटल रीड (बटन);

lc.setDigit(0, 3, i, false);

मैं++;

देरी (100); // आप इसके साथ खिलवाड़ कर सकते हैं

अगर (मैं == 10) {

मैं = 0;

जे++;

अगर (जे == 10) {

जे = 0;

के++;

अगर (के == 10) {

कश्मीर = 0;

एल++;

अगर (एल == 10) {

जबकि(1){

lc.setRow(0, 0, 0x3E); // जब डिस्प्ले 9999 पर पहुंचेगा तो यह U -- 1. प्रदर्शित करेगा

एलसी.सेटरो (0, 1, 0x1); // हेक्सी दशमलव मान में

एलसी.सेटरो (0, 2, 0x1);

एलसी.सेटडिजिट (0, 3, 1, झूठा);

}

}

एलसी.सेटडिजिट (0, 0, एल, झूठा);

}

lc.setDigit(0, 1, k, false);

}

एलसी.सेटडिजिट (0, 2, जे, झूठा);

}

}

}

}

सिफारिश की: