فهرست مطالب:
- تدارکات
- مرحله 1: Arduino IDE را برای توسعه Esp8266 راه اندازی کنید
- مرحله 2: بارگیری کتابخانه های خارجی
- مرحله 3: اکنون چند کد بنویسید
- مرحله 4: نمودار مدار
- مرحله 5: کد را در Esp8266 بارگذاری کنید
- مرحله 6: همه چیز را آزمایش کنید
تصویری: MAX7219 LED Matrix MQTT با استفاده از Esp8266: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
من سعی می کردم صفحه نمایش LED MAX7219 خود را به سرور MQTT متصل کرده و متنی را از اشتراک MQTT برای نمایش دریافت کنم.
اما من هیچ کد مناسبی در اینترنت دریافت نکردم ، بنابراین شروع به ساختن کد خودم کردم …
و نتیجه کاملاً خوب می آید…
- می توانید هر متنی را روی صفحه نمایش led نشان دهید
- می توانید شدت صفحه نمایش را تنظیم کنید
- می توانید سرعت حرکت را تنظیم کنید
تدارکات
- یک برد توسعه ای esp8266. (مورد من NODE MCU v1.0 است)
- صفحه نمایش ماتریس LED MAX7219
نرم افزار مورد نیاز:
- آردوینو IDE
- یک سرور MQTT (مورد من پشه)
کتابخانه مورد نیاز:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
مرحله 1: Arduino IDE را برای توسعه Esp8266 راه اندازی کنید
تنظیمات برگزیده آردوینو را باز کنید و سپس آدرس اینترنتی زیر را در آدرس های مدیران Adboard Boards paste کنید:
arduino.esp8266.com/stable/package_esp8266com_index.json
سپس Tools> Boards> Boards Manager و esp8266 را جستجو کرده و آن را نصب کنید.
اکنون ایده آردوینو شما برای توسعه esp8266 آماده است.
مرحله 2: بارگیری کتابخانه های خارجی
در حال حاضر ما به چند کتابخانه برای MAX7219 و MQTT Client نیاز داریم.
بیایید کتابخانه ها را بارگیری و راه اندازی کنیم
به Sketch> Include Library> Manage Libraries on Arduino IDE بروید
و EspMQTTClient را جستجو کرده و روی Install کلیک کنید
نکته: همه کتابخانه های وابسته را نصب کنید ، مهم است
دوباره 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 = false؛ 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_NEXT_CHAR =، S_NEXT_CHAR =، char static *p؛ static uint16_t curLen ، showLen؛ static uint8_t cBuf [8]؛ uint8_t colData = 0؛ switch (state) {case S_IDLE: p = curMessage؛ if (newMessageAvailable) {strcpy (curMessage، newMessage)؛ newMessageAvailable = false؛ } state = S_NEXT_CHAR؛ زنگ تفريح؛ مورد S_NEXT_CHAR: if (*p == '\ 0') state = 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.begin ()؛ mx.control (MD_MAX72XX:: شدت ، شدت) ؛ mx.setShiftDataInCallback (scrollDataSource) ؛ mx.setShiftDataOutCallback (scrollDataSink) ؛ curMessage [0] = newMessage [0] = '\ 0'؛ sprintf (curMessage ، "صفحه نمایش هوشمند") ؛ } void onConnectionEstablished () {// موضوع اشتراک MQTT برای نمایش متن متن client.subscribe ("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 برای صفحه نمایش پیمایش سرعت کنترل client.subscribe ("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/text منتشر شود که نمایش داده می شود.
{
موضوع: "leddisplay/text" ، محموله: "پیام شما اینجاست"}
اگر می خواهید شدت نمایش را تنظیم کنید
{
موضوع: "نمایشگر/شدت" ، بار: "2" // حداکثر 15 و دقیقه 0}
اگر می خواهید سرعت حرکت صفحه نمایش را تنظیم کنید
{
موضوع: "leddisplay/scroll" ، بار: "100" // حداکثر 255 و دقیقه 0}
کد نویسی مبارک
توصیه شده:
Arduino: Potentio Indicator از Led Matrix MAX7219 استفاده می کند: 4 مرحله
Arduino: Potentio Indicator از Led Matrix MAX7219 استفاده می کند: در آموزش قبلی من یک نشانه پتانسیومتر با استفاده از RGB حلقه نئو پیکسل های led ایجاد کردم. شما می توانید آن را در این مقاله مشاهده کنید & quot؛ شاخص Potentio از RGB Neopixel استفاده می کند & quot؛ و امروز من نشانگر تقویت کننده را با استفاده از MAX7219 led met
نحوه استفاده از Max7219 8x8 Dot Matrix با "skiiiD": 9 مرحله
نحوه استفاده از ماتریس نقطه Max7219 8x8 با "skiiiD": این یک آموزش تصویری از Max7219 8x8 Dot Matrix از طریق & quot؛ skiiiD & quot؛ قبل از شروع ، در زیر آموزش اولیه نحوه استفاده از skiii است https://www.instructables.com/id /شروع به کار- W
آموزش LED Arduino Smile MAX7219 Matrix LED: 4 مرحله
آموزش LED ماتریس Arduino Smile MAX7219: در این آموزش & quot؛ کنترل یک ماتریس رهبری با استفاده از آردوینو & quot ؛. من نحوه استفاده از نمایشگرهای ماتریس Led با استفاده از آردوینو را به شما نشان می دهم. و در این مقاله ، ما یاد می گیریم که با استفاده از این صفحه نمایش ماتریس با استفاده از آردوینو نیز شکلک های لبخند ایجاد کنیم. مواد مورد استفاده
نحوه استفاده از Wemos ESP-Wroom-02 D1 Mini WiFi Module ESP8266 + 18650 با استفاده از Blynk: 10 مرحله
نحوه استفاده از Wemos ESP-Wroom-02 D1 Mini WiFi Module ESP8266 + 18650 با استفاده از Blynk: مشخصات: سازگار با یکپارچه سازی سیستم شارژ nodemcu 18650 در هنگام شارژ منبع تغذیه کنترل SMT می توان از LED نشانگر (سبز به معنی قرمز کامل به معنی شارژ) استفاده کرد اتصال دهنده می تواند برای حالت خواب استفاده شود · 1 افزودن
Matrix Led X4 MAX7219 + ESP8266 12E + سنسور DS18b20 (دما): 6 مرحله
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (دما): در این فرصت ما یک آزمایش سریع روی ماتریسی با MAX7219 یکپارچه با ماژول ESP8266 انجام می دهیم و به همین دلیل خیلی ساده نیست ، دمای سنسور را می خوانیم DS18B20. در آموزش های بعدی ، ما آن را با سایر صفحات ادغام می کنیم