विषयसूची:

MAX7219 एलईडी मैट्रिक्स एमक्यूटीटी Esp8266 का उपयोग कर: 6 कदम
MAX7219 एलईडी मैट्रिक्स एमक्यूटीटी Esp8266 का उपयोग कर: 6 कदम

वीडियो: MAX7219 एलईडी मैट्रिक्स एमक्यूटीटी Esp8266 का उपयोग कर: 6 कदम

वीडियो: MAX7219 एलईडी मैट्रिक्स एमक्यूटीटी Esp8266 का उपयोग कर: 6 कदम
वीडियो: ESP8266 Smart Switch Nodered & MQTT 2024, नवंबर
Anonim
MAX7219 एलईडी मैट्रिक्स MQTT Esp8266. का उपयोग कर रहा है
MAX7219 एलईडी मैट्रिक्स MQTT Esp8266. का उपयोग कर रहा है

मैं अपने MAX7219 एलईडी डिस्प्ले को MQTT सर्वर से कनेक्ट करने और MQTT सदस्यता से प्रदर्शित करने के लिए एक टेक्स्ट प्राप्त करने का प्रयास कर रहा था।

लेकिन मुझे इंटरनेट पर कोई उपयुक्त कोड नहीं मिला, इसलिए मैंने अपना खुद का कोड बनाना शुरू किया…

और परिणाम काफी अच्छा आता है …

  • आप एलईडी डिस्प्ले पर कोई भी टेक्स्ट प्रदर्शित कर सकते हैं
  • आप प्रदर्शन की तीव्रता को समायोजित कर सकते हैं
  • आप स्क्रॉल गति सेट कर सकते हैं

आपूर्ति

  1. एक esp8266 विकास बोर्ड। (मेरा मामला यह नोड एमसीयू v1.0 है)
  2. MAX7219 एलईडी मैट्रिक्स डिस्प्ले।

सॉफ्टवेयर की जरूरत:

  1. अरुडिनो आईडीई।
  2. एक एमक्यूटीटी सर्वर। (मेरा मामला मच्छर)

पुस्तकालय की आवश्यकता:

  1. ESP8266WiFi.h
  2. MD_MAX72xx.h
  3. EspMQTTClient.h

चरण 1: Esp8266 विकास के लिए Arduino IDE सेटअप करें

Esp8266 विकास के लिए Arduino IDE सेटअप करें
Esp8266 विकास के लिए Arduino IDE सेटअप करें

Arduino की खुली प्राथमिकताएं फिर नीचे दिए गए URL को अतिरिक्त बोर्ड प्रबंधक URL में पेस्ट करें:

arduino.esp8266.com/stable/package_esp8266com_index.json

फिर टूल्स> बोर्ड> बोर्ड मैनेजर और esp8266 खोजें और इसे इंस्टॉल करें।

अब आपका Arduino ide esp8266 विकास के लिए तैयार है।

चरण 2: बाहरी पुस्तकालय डाउनलोड करें

अब हमें MAX7219 और MQTT क्लाइंट के लिए कुछ पुस्तकालयों की आवश्यकता है।

आइए पुस्तकालयों को डाउनलोड और सेट करें

स्केच पर नेविगेट करें> लाइब्रेरी शामिल करें> Arduino IDE पर लाइब्रेरी प्रबंधित करें

और EspMQTTClient की खोज करें और इंस्टॉल पर क्लिक करें

एनबी: सभी आश्रित पुस्तकालयों को स्थापित करें, यह महत्वपूर्ण है

फिर से MD_MAX72xx खोजें और इंस्टॉल करें पर क्लिक करें

चरण 3: अभी कुछ कोड लिखें

अब नीचे दिया गया कोड पेस्ट करें

#शामिल

#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // आपकी डिवाइस काउंट #define CLK_PIN D5 // या SCK #define DATA_PIN D7 // या MOSI #define CS_PIN D4 // या SS // आप इसे सेट कर सकते हैं किसी भी पिन पर #define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW // अपने प्रदर्शन प्रकार MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES) के अनुसार बदलें; कास्ट uint8_t MESG_SIZE = 255; कास्ट uint8_t CHAR_SPACING = 1; uint8_t SCROLL_DELAY = 75; // डिफ़ॉल्ट स्क्रॉल विलंब uint8_t तीव्रता = 5; // डिफ़ॉल्ट तीव्रता चार curMessage [MESG_SIZE]; चार नया संदेश [MESG_SIZE]; बूल नया संदेश उपलब्ध = झूठा; शून्य स्क्रॉलडाटासिंक (uint8_t देव, MD_MAX72XX::transformType_t t, uint8_t col) {} uint8_t scrollDataSource(uint8_t dev, MD_MAX72XX::transformType_t t) { स्थिर एनम { S_IDLE, S_NEXT_CHAR, S_SHOW_SPACE; स्थिर चार * पी; स्थिर uint16_t curLen, showLen; स्थिर uint8_t cBuf[8]; uint8_t colData = 0; स्विच (राज्य) {केस S_IDLE: p = curMessage; अगर (नया संदेश उपलब्ध) {strcpy (curMessage, newMessage); नया संदेश उपलब्ध = झूठा; } राज्य = S_NEXT_CHAR; टूटना; मामला S_NEXT_CHAR: अगर (*p == '\0') स्थिति = S_IDLE; और {शोलेन = एमएक्स.गेटचार (* पी ++, आकार (सीबीयूएफ) / आकार (सीबीयूएफ [0]), सीबीयूएफ); करलेन = 0; राज्य = S_SHOW_CHAR; } टूटना; मामला S_SHOW_CHAR: colData = cBuf[curLen++]; अगर (curLen = SCROLL_DELAY) {mx.transform(MD_MAX72XX::TSL); // साथ स्क्रॉल करें - कॉलबैक सभी डेटा लोड करेगा prevTime = मिलिस (); // अगली बार के लिए शुरुआती बिंदु } } शून्य सेटअप () {Serial.begin(११५२००); एमएक्स.बेगिन (); mx.control (MD_MAX72XX:: तीव्रता, तीव्रता); mx.setShiftDataInCallback (स्क्रॉलडेटा स्रोत); mx.setShiftDataOutCallback(scrollDataSink); curMessage [0] = नया संदेश [0] = '\ 0'; sprintf (curMessage, "स्मार्ट डिस्प्ले"); } शून्य onConnectionEstablished () {// MQTT सब्सक्रिप्शन टॉपिक फॉर डिस्प्ले टेक्स्ट क्लाइंट।

// प्रदर्शन तीव्रता नियंत्रण के लिए MQTT सदस्यता विषय

client.subscribe("leddisplay/intensity", (const String & पेलोड) {mx.control(MD_MAX72XX::INTENSITY, payload.toInt()); }); // डिस्प्ले स्क्रॉल स्पीड कंट्रोल क्लाइंट के लिए MQTT सब्सक्रिप्शन टॉपिक। } शून्य लूप () {क्लाइंट.लूप (); स्क्रॉलटेक्स्ट (); }

विस्तृत जानकारी के लिए, इस भंडार का संदर्भ लें

github.com/souravj96/max7219-mqtt-esp8266

चरण 4: सर्किट आरेख

सर्किट आरेख
सर्किट आरेख

MAX7219 डिस्प्ले को NODE MCU से कनेक्ट करें

चरण 5: Esp8266. पर कोड अपलोड करें

Esp8266. पर कोड अपलोड करें
Esp8266. पर कोड अपलोड करें

अब अपना सही बोर्ड प्रकार और सीरियल पोर्ट चुनें और फिर अपलोड को हिट करें।

चरण 6: सब कुछ परीक्षण करें

अगर सब कुछ सही हो जाता है तो आपका esp8266 आपके MQTT सर्वर से जुड़ जाएगा।

अब, अगर कुछ भी एलईडी डिस्प्ले/टेक्स्ट विषय पर प्रकाशित किया जाएगा जो प्रदर्शित किया जाएगा।

{

विषय: "leddisplay/text", पेलोड: "आपका संदेश यहाँ"}

यदि आप प्रदर्शन की तीव्रता सेट करना चाहते हैं

{

विषय: "LEDdisplay/तीव्रता", पेलोड: "2" // अधिकतम 15 और न्यूनतम 0 है}

अगर आप डिस्प्ले की स्क्रॉल स्पीड सेट करना चाहते हैं

{

विषय: "leddisplay/scroll", पेलोड: "100" // अधिकतम 255 और न्यूनतम 0}

हैप्पी कोडिंग

सिफारिश की: