
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50

მე ვცდილობდი ჩემი MAX7219 LED ეკრანის დაკავშირება MQTT სერვერთან და საჩვენებლად MQTT გამოწერის ტექსტის მიღება.
მაგრამ მე ვერ მივიღე შესაბამისი კოდი ინტერნეტში, ამიტომ დავიწყე საკუთარი თავის შექმნა …
და შედეგი საკმაოდ კარგია …
- თქვენ შეგიძლიათ აჩვენოთ ნებისმიერი ტექსტი led ეკრანზე
- თქვენ შეგიძლიათ შეცვალოთ ეკრანის ინტენსივობა
- შეგიძლიათ დააყენოთ გადახვევის სიჩქარე
მარაგები
- Esp8266 განვითარების დაფა. (ჩემს შემთხვევაში ეს არის NODE MCU v1.0)
- MAX7219 LED მატრიქსის ჩვენება.
საჭირო პროგრამული უზრუნველყოფა:
- Arduino IDE.
- MQTT სერვერი. (ჩემი საქმე კოღო)
ბიბლიოთეკა საჭიროა:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
ნაბიჯი 1: დააინსტალირეთ Arduino IDE Esp8266 განვითარებისათვის

გახსენით Arduino– ს პარამეტრები, შემდეგ ჩასვით ქვემოთ მოყვანილი URL დამატებითი დაფების მენეჯერის URL– ში:
arduino.esp8266.com/stable/package_esp8266com_index.json
შემდეგ ინსტრუმენტები> დაფები> დაფების მენეჯერი და მოძებნეთ esp8266 და დააინსტალირეთ.
ახლა თქვენი Arduino ide მზად არის esp8266 განვითარებისათვის.
ნაბიჯი 2: ჩამოტვირთეთ გარე ბიბლიოთეკები
ახლა ჩვენ გვჭირდება ბიბლიოთეკები MAX7219 და MQTT კლიენტებისთვის.
გადმოვიტვირთოთ და შევქმნათ ბიბლიოთეკები
ნავიგაცია ჩანახატზე> ბიბლიოთეკის ჩართვა> ბიბლიოთეკების მართვა Arduino IDE– ში
და მოძებნეთ EspMQTTClient და დააწკაპუნეთ ინსტალაციაზე
NB: დააინსტალირეთ ყველა დამოკიდებული ბიბლიოთეკა, ეს მნიშვნელოვანია
კვლავ მოძებნეთ MD_MAX72xx და დააჭირეთ ინსტალაციას
ნაბიჯი 3: დაწერე ახლავე კოდი
ახლა ჩასვით ქვემოთ მოყვანილი კოდი
#ჩართეთ
#მოიცავს #მოიცავს #მოიცავს #EspMQTTClient.h " #განსაზღვრა MAX_DEVICES 4 // თქვენი მოწყობილობის რაოდენობა #განსაზღვრეთ CLK_PIN D5 // ან SCK #განსაზღვრეთ DATA_PIN D7 // ან MOSI #განსაზღვრეთ CS_PIN D4 // ან SS // შეგიძლიათ დააყენოთ ნებისმიერ პინზე #განსაზღვრეთ HARDWARE_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; // ნაგულისხმევი ინტენსივობის char 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) {სტატიკური enum {S_IDLE, S_NEXT_CHAR =, S_SPEHE_CHAR =,; სტატიკური char *p; სტატიკური uint16_t curLen, showLen; სტატიკური uint8_t cBuf [8]; uint8_t colData = 0; გადართვა (მდგომარეობა) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = ყალბი; } მდგომარეობა = S_NEXT_CHAR; შესვენება; საქმე S_NEXT_CHAR: თუ (*p == '\ 0') მდგომარეობა = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; მდგომარეობა = S_SHOW_CHAR; } შესვენება; საქმე S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // გადაახვიეთ - გამოძახება იტვირთება ყველა მონაცემს prevTime = millis (); // საწყისი წერტილი მომდევნო დროს}} void setup () {Serial.begin (115200); mx. დაწყება (); mx.control (MD_MAX72XX:: ინტენსივობა, ინტენსივობა); 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/intensity", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT გამოწერის თემა ჩვენების გადახვევის სიჩქარის კონტროლის კლიენტისთვის. გამოწერა ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
დეტალური ინფორმაციისთვის იხილეთ ეს საცავი
github.com/souravj96/max7219-mqtt-esp8266
ნაბიჯი 4: სქემის დიაგრამა

დააკავშირეთ MAX7219 ჩვენება NODE MCU– თან
ნაბიჯი 5: ატვირთეთ კოდი Esp8266– ში

ახლა შეარჩიეთ დაფის სწორი ტიპი და სერიული პორტი, შემდეგ დააჭირეთ ატვირთვას.
ნაბიჯი 6: შეამოწმეთ ყველაფერი
თუ ყველაფერი სწორად მიდის, მაშინ თქვენი esp8266 იქნება დაკავშირებული თქვენს MQTT სერვერთან.
ახლა, თუ რამე გამოქვეყნდება leddisplay/ტექსტურ თემაზე, რომელიც გამოჩნდება.
{
თემა: "leddisplay/text", payload: "your message here"}
თუ გსურთ ეკრანის ინტენსივობის დაყენება
{
თემა: "leddisplay/intensity", დატვირთვა: "2" // max არის 15 და min 0}
თუ გსურთ ეკრანის გადაადგილების სიჩქარის დაყენება
{
თემა: "leddisplay/scroll", დატვირთვა: "100" // max არის 255 და min 0}
ბედნიერი კოდირება
გირჩევთ:
RGB LED მატრიცა ნეოპიქსელის გამოყენებით: 8 ნაბიჯი (სურათებით)

RGB LED მატრიცა ნეოპიქსელის გამოყენებით: ამ გაკვეთილში მე ვაპირებ გაჩვენოთ როგორ ავაშენოთ 5*5 RGB LEDMATRIX NEOPIXEL– ის გამოყენებით. ამ მატრიქსით ჩვენ შეგვიძლია აჩვენოთ მომხიბლავი ანიმაციები, ემოციები და ასოები, რომლებიც ძალიან მიმზიდველია. დავიწყოთ
როგორ გამოვიყენოთ Max7219 8x8 წერტილოვანი მატრიცა "skiiiD" - ით: 9 ნაბიჯი

როგორ გამოვიყენოთ Max7219 8x8 წერტილოვანი მატრიცა "skiiiD" - ით: ეს არის ვიდეო ინსტრუქცია Max7219 8x8 წერტილოვანი მატრიქსის საშუალებით " skiiiD " დაწყებამდე, ქვემოთ მოცემულია skiiiD– ის გამოყენების ძირითადი სახელმძღვანელო /დაწყება-დასავლეთი
როგორ ავაშენოთ 8x8 დიდი LED მატრიცა (MAX7219 LED 10 მმ): 9 ნაბიჯი (სურათებით)

როგორ ავაშენოთ 8x8 დიდი LED მატრიცა (MAX7219 LED 10 მმ): მუშაობდით მზა 8x8 LED მატრიცაზე, როგორც დისპლეი? ისინი სხვადასხვა ზომისაა და საკმაოდ საინტერესოა მუშაობა. დიდი ადვილად ხელმისაწვდომი ზომაა დაახლოებით 60 მმ x 60 მმ. თუმცა, თუ თქვენ ეძებთ ბევრად უფრო დიდ მზა LED მატრიცას
როგორ დავაკავშიროთ MAX7219 მართვადი LED მატრიცა 8x8 ATtiny85 მიკროკონტროლერთან ერთად: 7 ნაბიჯი

როგორ დავაკავშიროთ MAX7219 მართული LED მატრიცა 8x8 ATtiny85 მიკროკონტროლით: MAX7219 კონტროლერი დამზადებულია Maxim ინტეგრირებული არის კომპაქტური, სერიული შეყვანის/გამომავალი საერთო კათოდური დისპლეის დრაივერი, რომელსაც შეუძლია მიკროკონტროლერების 64 ინდივიდუალური LED- ების, 7-სეგმენტიანი ციფრული LED ეკრანის დაყენება. 8 ციფრამდე, ბარი-გრაფიკის ჩვენება
5x4 LED ჩვენების მატრიცა ძირითადი ბეჭდის გამოყენებით 2 (bs2) და ჩარლიპლექსი: 7 ნაბიჯი

5x4 LED ჩვენების მატრიცა ძირითადი ბეჭდის 2 (bs2) და Charlieplexing გამოყენებით: გაქვთ ძირითადი ბეჭედი 2 და დამატებითი LED- ები? რატომ არ ვითამაშოთ charlieplexing– ის კონცეფციით და შევქმნათ გამომავალი მხოლოდ 5 ქინძისთავის გამოყენებით. ამ ინსტრუქციისთვის მე ვიყენებ BS2e– ს, მაგრამ BS2 ოჯახის ნებისმიერი წევრი უნდა მუშაობდეს