آموزش آردوینو اینترنت اشیا IOT برد ESP8266 برد Nodemcu نمایشگر Segment

کنترل ماژول دات ماتریس Max7219 با وب‌ سرور ESP8266 آردوینو

نوشته شده توسط CiferTech

شاید قبل از اینکه این آموزش را مطالعه کنید با ماژول یا قطعه دات‌ماتریکس کار کرده باشد و آن را راه‌اندازی کرده باشد، خب در این آموزش همین قصد را داریم. یعنی راه‌اندازی ماژول دات ماتریس تراشه Max7219 با برد ESP8266 اما بصورت بصورت بی سیم! جالب شد. در ادامه آموزش کنترل ماژول دات ماتریس Max7219 با وب‌ سرور آردوینو با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

کنترل ماژول دات ماتریس Max7219 با وب‌ سرور آردوینو - دیجی اسپارک

 


ماژول دات ماتریکس


از درایور MAX7219 می توان برای کنترل نمایشگرهای ۷ بخشی یا ۷segment، استفاده کرد. درایور Max7219 از طریق پروتکل SPI با Arduino ارتباط برقرار میکند بنابراین برای کنترل صفحه نمایش فقط به سه سیم نیاز دارید. از آنجا که MAX7219 می تواند حداکثر ۶۴ ال ای دی را کنترل کند، حداکثر اندازه ماتریس نقطه ای که می تواند راه‌اندازی کند ۸×۸ پیکسل است. با این حال، می توانید چندین درایور و ماتریس را به هم متصل کنید و نمایشگرهای بسیار بزرگتر مانند ۸×۳۲، ۸×۶۴ یا حتی بزرگتر را به راحتی کنترل کنید. با این وجود، شما برای کنترل همه IC های استفاده شده فقط به سه سیم نیاز دارید.

ماژول دات ماتریس با درایور Max7219 - دیجی اسپارک

 


وب سرور WebServer


وب سرورها برنامه هایی هستند که مسئولیت آن ها قبول کردن درخواست های Http است که از سمت کاربران ارسال می شود، وب سرور ها در پاسخ اطلاعاتی را ارسال می کنند که ما معمولا به نام صفحات Html می‌شناسیم. خب حالا فرض کنیم که در مرورگر https://digispark.ir را سرچ کردیم، اتفاقی که می‌افتد به این شکل است که مرورگر شما یک درخواست به دامنه‌ای با نام digispark.ir ارسال می‌کند. در حالت عادی زمانی که شما آدرس سایتی را در مرورگر جست و جو می‌کنید از حروف انگلیس استفاده می‌کنید یعنی کلماتی قابل فهم برای انسان اما در واقع برای ورود به یک سایت باید از طریق ip آن اقدام کنید، اینجاست که مفهومی به نام DNS وارد کار می‌شود، پس در واقع زمانی که شما URL سایتی را جستجو می کنید مرورگر از طریق سرویس DNS، آی پی مربوط را پیدا می‌کند و درخواستی ارسال خواهد کرد.

 


برد ESP8266


تراشه های ESP8266 از موارد محبوب در زمینه اینترنت اشیا هستند که نسبت به دیگر نمونه ها کیفیت بهتر و همچنین قیمت پایین تری نیز دارند، هسته مرکزی این ماژول ESP8266 EX می باشد که در واقع زیر این شیلد فلزی قرار گرفته است، در ضمن این شیلد فلزی به منظور کاهش نویز و همچنین محافظت از قطعات SMD حساس این ماژول قرار داده شده است. این ماژول ها در سری های مختلفی تولید می‌شوند از جمله esp01 و esp12، در واقع تفاوتی که مدل ها با یکدیگر دارند تعداد GPIO ها و همچنین حافظه آن ها است البته معمولا از نظر ظاهری نیز تفاوت هایی که با یکدیگر دارند که قابل تشخیص است. این ماژول ها از شبکه WIFI داخلی پشتیبانی می‌کنند، این میکرو کنترلر ها اولین بار در سال ۲۰۱۴ به بازار عرضه شدند. ESP8266 دارای ۱۳ GPIO و همچنین یک ورودی آنالوگ (A0) است.

 


شرح پروژه کنترل ماژول دات ماتریس


در این پروژه با استفاده از ماژول دات ماتریس ۸×۸ با درایور MAX7219 و همچنین برد ESP8266، ماژول دات ماتریس را کنترل می کنیم به این صورت که با ایجاد یک وب سرور، با تایپ کردن متن مورد نظر در صفحه وب، شاهد ایجاد تغییرات و نمایش متن در ماژول خواهیم بود. مانند تصویر زیر بخشی از وب سرور ESP8266 را مشاهده میکنید.

 


وسایل مورد نیاز


برد ESP8266

ماژول DotMatrix 8X8

برد برد جهت اتصالات

 


نصب کتابخانه مورد نیاز


ابتدا در نرم افزار Arduino IDE اقدام به نصب کتابخانه مرجع سنسور های GFX می کنیم. مراحل زیر را دنبال کنید:

  1. این مسیر را دنبال کنید Sketch Include Library > Manage Libraries
  2. کلمه GFX را جستجو کنید.
  3. کتابخانه را نصب کنید.

در ادامه با مراجعه به این لینک از صفحه GitHub، کتابخانه مرجع مربوط به ماژول DotMatrix را دانلود و به نرم‌افزار Arduino اضافه کنید.

 


شماتیک و اتصالات


برای راه‌اندازی ماژول DotMatrix اتصالات مورد نیاز را طبق جدول و شماتیک زیر برقرار کنید.

اتصال ماژول دات ماتریس Max7219 به برد Nodemcu ESP8266 - دیجی اسپارک

اتصالات ماژول دات ماتریس به برد ESP8266 Nodemcu - دیجی اسپارک

 


کد پروژه کنترل ماژول دات ماتریس


مثل همیشه بخش مهمی از کد و قسمت هایی که نیاز به توضیح دارند را باهم مرور خواهیم کرد. در چند خط اول کتابخانه های که نیاز داریم را فراخوانی می‌کنیم.

 

در این دو خط اطلاعات شبکه وای فای مد نظر رو وارد می کنیم، تا در روند اجرای پروژه ESP به این وای‌فای متصل شود.

 

این قسمت مربوط به تعداد صفحات دات ماتریکس است، زمانی که از تعداد صفحات زیادی استفاده می‌شود، این مورد باید مورد توجه قرار گیرد.

 

این خط کد به این معناست که وب سرور ما بر روی پورت ۸۰ اجرا خواهد شد.

 

در این بخش خط اول مربوط به میزان روشنایی led ها از ۰ تا ۱۵ است، و در ادامه خطوط پایین مربوط به چرخش جهت صفحات برای نمایش متن است.

 

کد کامل پروژه کنترل ماژول دات ماتریس Max7219

 

 

پروژه کنترل ماژول دات ماتریس Max7219 - دیجی اسپارک

 


جمع بندی


در این آموزش با استفاده از برد ESP8266 و همچنین ماژول DotMatrix توانستیم متن مورد نظر را با راه‌اندازی یک وب سرور و ارسال اطلاعات از طریق صفحه وب در صفحات دات ماتریکس نمایش داده و همچنین لازم به ذکر تمام فرآیند بصورت وایرلس صورت می‌گیرد، یعنی می توانید در محیطی که ماژول دات ماتریکس را راه‌اندازی کرده‌اید در هر لحظه با مراجعه به صفحه وب با اینترنت لوکال متن را تغییر دهید.

آموزش کامل کنترل ماژول دات ماتریس Max7219 با برد Nodemcu - دیجی اسپارک

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

CiferTech

فقط 10 نوع آدم در این دنیا وجود داره، اونی که باینری میفهمه و اونی که باینری نمیفهمه! ^-^

~ اینستاگرام: CiferTech

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۴ دیدگاه

  • آردوینو:۱٫۸٫۱۳ (Windows 10), بُرد:”NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200″

    In file included from C:\Users\iran\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp:20:0:

    C:\Users\iran\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.h:30:32: fatal error: Adafruit_I2CDevice.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1

    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    این اخطار بری من میاره مشکل از چی

  • سلام .
    مهندس پروژه جالبیه .
    اما تنها مشکلی که هست . من میخواهم متن فارسی را . روش نمایش بدهم .
    ایا نیازی به نصب کتابخانه است . یا ایجاد تغییرات در کد ها .
    اگه میشه راهنمایی کنید.
    ممنون

    • سلام. ممنون از توجه شما، من این مورد رو تست نکردم اما اگر کتابخانه‌ای در این مورد وجود نداشته باشه باید بطور دستی برای نمایش هر حرف آدرس‌دهی کنیم.

      • سلام مجدد.
        میشه بگید چجوری برای نمایش هر حرف ادرس دهی کنیم ؟؟
        چون این پروژه را من نیاز دارم .

        • سلام. با استفاده از مقادیر باینری باید مشخص کنید در هر زمان کدوم ماتریس فعال و غیرفعال باشه که در نتیجه می‌تونید اشکال مختلف یا برای پروژه شما کدوم حرف فارسی نمایش داده بشه.

  • سلام مهندس میشه یه کتابخانه فارسی برای این پروژه درست کنید تا بشه حروف فارسی را هم نمایش داد

  • سلام وقت بخیر
    من دقیقا طبق دستورالعملی که نوشتید پیش رفتم
    کدها هم کامل آپلود شد ip هم در سریال مانیتور داده شد وارد صفحه ی سایفر هم شدم اما هیچ اتفاقی برای صفحه های دات ماتریس نیوفتاد اصلا انگار که وصل نیستن. اول از یک ماژول استفاده کردم اما چون شما از دوتا اتفاده کردی یکی دیگه هم تهیه کردم باز هم هیچی حتی یه دونه led هم روشن و خاموش نشد ممکنه ماژولهای دات ماتریس خراب باشن؟ چطور باید تستشون کرد؟
    ممنون از اموزشهای خوبتون

    • با سلام، اگر از اتصالات و موارد دیگر مطمئن هستید پس نباید مسکلی باشه، به پایه های ورودی سیگنال دات ماتریس ها دقت کنید. برای تست میتوانید از مثال های کتابخانه قطعه استفاده کنید با اسم خود تراشه max7219.