সুচিপত্র:
- সরবরাহ
- ধাপ 1: Esp8266 বিকাশের জন্য Arduino IDE সেটআপ করুন
- ধাপ 2: বাহ্যিক লাইব্রেরি ডাউনলোড করুন
- ধাপ 3: এখন কিছু কোড লিখুন
- ধাপ 4: সার্কিট ডায়াগ্রাম
- ধাপ 5: Esp8266 এ কোড আপলোড করুন
- ধাপ 6: সবকিছু পরীক্ষা করুন
ভিডিও: MAX7219 LED ম্যাট্রিক্স MQTT ব্যবহার করে Esp8266: 6 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
আমি আমার MAX7219 LED ডিসপ্লেকে MQTT সার্ভারে সংযুক্ত করার চেষ্টা করছিলাম এবং MQTT সাবস্ক্রিপশন থেকে একটি টেক্সট ডিসপ্লে করার জন্য পেয়েছিলাম।
কিন্তু আমি ইন্টারনেটে কোন উপযুক্ত কোড পাইনি, তাই আমি আমার নিজের তৈরি করা শুরু করেছি …
এবং ফলাফল বেশ ভাল আসে …
- আপনি LED ডিসপ্লেতে যেকোন লেখা প্রদর্শন করতে পারেন
- আপনি প্রদর্শন তীব্রতা সামঞ্জস্য করতে পারেন
- আপনি স্ক্রলের গতি সেট করতে পারেন
সরবরাহ
- একটি esp8266 উন্নয়ন বোর্ড। (আমার ক্ষেত্রে এটি নোড এমসিইউ v1.0)
- MAX7219 LED ম্যাট্রিক্স ডিসপ্লে।
প্রয়োজনীয় সফটওয়্যার:
- Arduino IDE।
- একটি MQTT সার্ভার। (আমার ক্ষেত্রে মশা)
লাইব্রেরির প্রয়োজন:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
ধাপ 1: Esp8266 বিকাশের জন্য Arduino IDE সেটআপ করুন
Arduino এর পছন্দগুলি খুলুন তারপর নিচের URL টি Aditional Boards Manager URL- এ পেস্ট করুন:
arduino.esp8266.com/stable/package_esp8266com_index.json
তারপর সরঞ্জাম> বোর্ড> বোর্ড ম্যানেজার এবং esp8266 অনুসন্ধান করুন এবং এটি ইনস্টল করুন।
এখন আপনার Arduino আদর্শ esp8266 উন্নয়নের জন্য প্রস্তুত।
ধাপ 2: বাহ্যিক লাইব্রেরি ডাউনলোড করুন
এখন আমাদের MAX7219 এবং MQTT ক্লায়েন্টের জন্য কিছু লাইব্রেরি দরকার।
লাইব্রেরিগুলি ডাউনলোড এবং সেট আপ করা যাক
স্কেচ> লাইব্রেরি অন্তর্ভুক্ত করুন> Arduino IDE তে লাইব্রেরি পরিচালনা করুন
এবং EspMQTTClient অনুসন্ধান করুন এবং ইনস্টল ক্লিক করুন
NB: সমস্ত নির্ভরশীল লাইব্রেরি ইনস্টল করুন, এটি গুরুত্বপূর্ণ
আবার MD_MAX72xx অনুসন্ধান করুন এবং ইনস্টল ক্লিক করুন
ধাপ 3: এখন কিছু কোড লিখুন
এখন নিচের কোডটি পেস্ট করুন
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন "EspMQTTClient.h" #সর্বোচ্চ MAX_DEVICES 4 // আপনার ডিভাইসের সংখ্যা #ডিফাইন CLK_PIN D5 // অথবা SCK #ডিফাইন ডেটা_পিন D7 // অথবা MOSI #ডিএসফাইন CS_PIN D4 // অথবা SS // আপনি সেট করতে পারেন যেকোনো পিনে #DarfarE_TYPE MD_MAX72XX:: PAROLA_HW // পরিবর্তন করুন আপনার ডিসপ্লে টাইপ অনুযায়ী MD_MAX72XX mx = MD_MAX72XX (HARDWARE_TYPE, CS_PIN, MAX_DEVICES); const uint8_t MESG_SIZE = 255; const uint8_t CHAR_SPACING = 1; uint8_t SCROLL_DELAY = 75; // ডিফল্ট স্ক্রল বিলম্ব uint8_t INTENSITY = 5; // ডিফল্ট তীব্রতা চার curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = মিথ্যা; void scrollDataSink (uint8_t dev, MD_MAX72XX:: transformType_t t, uint8_t col) {} uint8_t scrollDataSource (uint8_t dev, MD_MAX72XX:: transformType_t t) {স্ট্যাটিক এনাম {S_IDLE, S_SHE_SHE_SHE, SOWS_SHE_SHE, SOWS_SHE_SHE, SOWS_SHES স্ট্যাটিক চর *পি; স্ট্যাটিক uint16_t curLen, showLen; স্ট্যাটিক uint8_t cBuf [8]; uint8_t colData = 0; সুইচ (অবস্থা) {কেস S_IDLE: p = curMessage; যদি (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = মিথ্যা; } অবস্থা = S_NEXT_CHAR; বিরতি; কেস S_NEXT_CHAR: যদি (*p == '\ 0') অবস্থা = S_IDLE; অন্যথায় {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); কার্লেন = 0; অবস্থা = S_SHOW_CHAR; } বিরতি; কেস S_SHOW_CHAR: colData = cBuf [curLen ++]; যদি (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // বরাবর স্ক্রোল করুন - কলব্যাক সমস্ত ডেটা লোড করবে prevTime = millis (); // পরবর্তী সময়ের জন্য শুরুর পয়েন্ট}} অকার্যকর সেটআপ () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENSITY, INTENSITY); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "স্মার্ট ডিসপ্লে"); } void onConnectionEstablished () {// MQTT সাবস্ক্রিপশন টপিক ডিসপ্লে টেক্সট ক্লায়েন্টের জন্য। সাবস্ক্রাইব করুন ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// প্রদর্শন তীব্রতা নিয়ন্ত্রণের জন্য MQTT সাবস্ক্রিপশন বিষয়
client.subscribe ("leddisplay/তীব্রতা", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ())}}; // ডিসপ্লে স্ক্রোল স্পিড কন্ট্রোল ক্লায়েন্টের জন্য MQTT সাবস্ক্রিপশন টপিক। } অকার্যকর লুপ () {client.loop (); scrollText (); }
বিস্তারিত তথ্যের জন্য, এই সংগ্রহস্থল পড়ুন
github.com/souravj96/max7219-mqtt-esp8266
ধাপ 4: সার্কিট ডায়াগ্রাম
MAX7219 ডিসপ্লেকে NODE MCU এর সাথে সংযুক্ত করুন
ধাপ 5: Esp8266 এ কোড আপলোড করুন
এখন আপনার সঠিক বোর্ড টাইপ এবং সিরিয়াল পোর্ট নির্বাচন করুন তারপর আপলোড করুন।
ধাপ 6: সবকিছু পরীক্ষা করুন
যদি সবকিছু ঠিক হয়ে যায় তাহলে আপনার esp8266 আপনার MQTT সার্ভারের সাথে সংযুক্ত হবে।
এখন, যদি কিছু প্রদর্শিত হবে LEDdisplay/পাঠ্য বিষয় প্রকাশ করা হবে।
{
বিষয়: "নেতৃত্ব প্রদর্শন/পাঠ্য", পেলোড: "আপনার বার্তা এখানে"}
আপনি যদি প্রদর্শনের তীব্রতা সেট করতে চান
{
বিষয়: "নেতৃত্ব প্রদর্শন/তীব্রতা", পেলোড: "2" // সর্বোচ্চ 15 এবং মিনিট 0}
আপনি যদি স্ক্রলের গতি প্রদর্শন করতে চান
{
বিষয়: "LEDdisplay/scroll", পেলোড: "100" // সর্বোচ্চ 255 এবং মিনিট 0}
শুভ কোডিং
প্রস্তাবিত:
IoT স্মার্ট ক্লক ডট ম্যাট্রিক্স Wemos ESP8266 ব্যবহার করুন - ESP ম্যাট্রিক্স: 12 টি ধাপ (ছবি সহ)
IoT স্মার্ট ক্লক ডট ম্যাট্রিক্স Wemos ESP8266 ব্যবহার করুন-ESP ম্যাট্রিক্স: আপনার নিজের IoT স্মার্ট ক্লক তৈরি করুন যা পারে: একটি সুন্দর অ্যানিমেশন আইকন ডিসপ্লে রিমাইন্ডার -১ দিয়ে রিমাইন্ডার -5 ডিসপ্লে ক্যালেন্ডার প্রদর্শন ঘড়ি প্রদর্শন করুন মুসলিম নামাজের সময় প্রদর্শন আবহাওয়ার তথ্য প্রদর্শন সংবাদ প্রদর্শন পরামর্শ প্রদর্শন বিটকয়েনের হার প্রদর্শন
Arduino ব্যবহার করে ইন্টারনেট ব্যবহার করে সারা বিশ্বে LED নিয়ন্ত্রণ করুন: 4 টি ধাপ
Arduino ব্যবহার করে ইন্টারনেট ব্যবহার করে সারা বিশ্বে নিয়ন্ত্রণ নেতৃত্ব: হাই, আমি ithত্বিক। আমরা আপনার ফোন ব্যবহার করে একটি ইন্টারনেট নিয়ন্ত্রিত নেতৃত্ব তৈরি করতে যাচ্ছি।
Arduino: Potentio নির্দেশক LED ম্যাট্রিক্স MAX7219 ব্যবহার করে: 4 ধাপ
Arduino: Potentio ইন্ডিকেটর LED ম্যাট্রিক্স MAX7219 ব্যবহার করে: আগের টিউটোরিয়ালে আমি RGB রিং নিও পিক্সেল নেতৃত্বে একটি potentiometer ইঙ্গিত করেছি। আপনি এই নিবন্ধে এটি দেখতে পারেন " Potentio নির্দেশক RGB Neopixel ব্যবহার করে " এবং আজ আমি MAX7219 নেতৃত্বাধীন met ব্যবহার করে potentiator নির্দেশক দেখাব
Arduino UNO ব্যবহার করে 1 MAX7219 ডট ম্যাট্রিক্স ডিসপ্লে মডিউল টিউটোরিয়ালে 4: 5 টি ধাপ
Arduino UNO ব্যবহার করে 1 MAX7219 ডট ম্যাট্রিক্স ডিসপ্লে মডিউল টিউটোরিয়ালে 4: বর্ণনা: LED ম্যাট্রিক্স নিয়ন্ত্রণ করা সহজ খুঁজছেন? এই 4 ইন 1 ডট ম্যাট্রিক্স ডিসপ্লে মডিউলটি আপনার জন্য উপযুক্ত হওয়া উচিত। পুরো মডিউলটি চারটি 8x8 RED সাধারণ ক্যাথোড ডট ম্যাট্রিক্সে আসে যা MAX7219 IC প্রতিটিতে সজ্জিত। চলমান পাঠ্য প্রদর্শন করতে দারুন একটি
M5stick-C সহ Neopixel Ws2812 Rainbow LED Glow - Arpino IDE ব্যবহার করে M5stack M5stick C ব্যবহার করে Neopixel Ws2812 তে রেনবো চালাচ্ছে: 5 টি ধাপ
M5stick-C সহ Neopixel Ws2812 Rainbow LED Glow | Arduino IDE ব্যবহার করে M5stack M5stick C ব্যবহার করে Neopixel Ws2812 তে রেনবো চালানো: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা শিখব কিভাবে neopixel ws2812 LEDs বা LED স্ট্রিপ বা LED ম্যাট্রিক্স বা LED রিং ব্যবহার করতে হয় m5stack m5stick-C ডেভেলপমেন্ট বোর্ড Arduino IDE দিয়ে এবং আমরা তৈরি করব এর সাথে একটি রামধনু প্যাটার্ন