آردوینو آردوینو Arduino Uno آموزش آردوینو نمایشگر OLED

آموزش راه اندازی ماژول OLED نمایشگر Full Color با برد آردوینو Arduino

نوشته شده توسط ساتیار صالحیان

همیشه در همه پروژه‌ها نمایشگر برای نشان دادن اطلاعات خروجی نیاز هست. با پیشرفت علم الکترونیک، امروزه نمایشگرها با هر ابعادی قابلیت تولید را دارند. در ادامه پروژه راه اندازی نمایشگرهای OLED ، در این اموزش راه اندازی OLED Full Color با ارتباط پروتکلی SPI و آردوینو فراهم شده است. این نمایشگر OLED می تواند هر رنگی را به خوبی تولید کند! همچنین این نمایشگر گرافیکی بوده و توانایی نمایش انواع اشکال و متون را دارد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


ماژول OLED Full Color با درایور SSD1331


نمایشگر OLED از جذاب‌ترین نمایشگرها برای بردهای میکروکنترلر است. ماژول OLED نوعی نمایشگر با خاصیت ارایه نور اورگانیک را دارند. کارکردن با ماژول OLED بسیار جذاب و پر مصرف می‌باشد. ماژول OLED فول کالر ۰٫۹۵ اینچ دارای ابعاد ۹۶*۶۴۰ است. ابعاد برد ۳۰mm x 27mm می باشد. این ماژول دارای ۷ پایه است. ولتاژ کاری آن ۳٫۳V تا ۵V بوده و همانند دیگر OLED ها بسیار کم مصرف است به صورتی که در زمان حداکثر استفاده ( تمام پیکسل ها روشن باشند!) فقط ۲۵mA جریان می کشد. پروتکل راه اندازی این ماژول SPI است. پروتکل SPI برای ارتباط بین دو یا چند دستگاه استفاده می شود. در این نوع ارتباط یک دستگاه به عنوان Master و دستگاه های دیگر به عنوان Slave شناخته می شوند. دستگاه های Master که عموما یک میکروکنترلر هستند وظیفه کنترل ارتباط و دیتای منتقل شده را دارد در حالی که Slave ها که معمولا انواع سنسورها، نمایشگرها  هستند از Master دستور می گیرند. در ماژول OLED Full Color با درایور SSD1331 ، تولید کنند به اشتباه پایه ها را نام گذاری کرده است و از استاندارد پروتکل I2C استفاده کرده است. در واقع پایه SCL در ماژول همان CLK ، پایه SDA ماژول همان MOSI ، پایه RES همان RST می باشد ، در این ماژول خبری از پایه MISO نمی باشد زیرا این ماژول هیچ اطلاعاتی را به میکروکنترل (آردوینو) بر نمی گرداند بنابراین اصلا نیازی به پایه MISO نمی باشد و بقیه پایه ها به درستی نام گذاری شده اند.

نمایشگر OLED Full Color با رابط spi - دیجی اسپارک

اتصالات ماژول OLED Full Color با درایور SSD1331 به آردوینو

  • پایه GND را به پایه GND آردوینو Arduino اتصال دهید.
  • پایه VCC را به پایه ۵V  یا ۳٫۳V آردوینو Arduino اتصال دهید.
  • پایه SCL یا CLK را به پایه ۱۳ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه SDA یا MOSI را به پایه ۱۱ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه RES یا RST را به پایه ۹ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه DC را به پایه ۸ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه CS را به پایه ۱۰ دیجیتال آردوینو Arduino اتصال دهید.

اتصالات ماژول OLED به برد آردوینو با رابط SPI - دیجی اسپارک

 


کتابخانه آردوینو Arduino


قبل از آپلود کد راه انداز ماژول OLED Full Color ، بایستی کتابخانه‌های مورد نیاز ماژول OLED را در نرم افزار آردوینو نصب کنید. چنانچه روش نصب کتابخانه را نمی‌دانید به پست آموزش نصب کتابخانه در آردوینو مراجعه کنید. در ادامه لیست کتابخانه‌های مورد استفاده در این آموزش به همراه لینک دانلود آن‌ها قرار داده شده است.

کتابخانه Adafruit GFX

از این کتابخانه جهت دسترسی به تابع های بیشتر برای ایجاد اشکال مختلف استفاده شده است . جهت دانلود کتابخانه، به Adafruit GFX مراجعه کنید.

کتابخانه Adafruit SSD1331 OLED

این کتابخانه برای راه اندازی و ارتباط با OLED هایی که دارای درایور SSD1331 ایجاد شده است. جهت دانلود کتابخانه ، به Adafruit SSD1331 OLED مراجعه کنید.

کتابخانه SPI

پروتکل ارتباطی در ماژول OLED Full Color با درایور SSD1331 ، پروتکل SPI است که این کتابخانه به صورت پیشفرض در لیست کتابخانه های نرم افزار آردوینو Arduino قرار دارد. پس از اضافه کردن کتابخانه ها در برنامه ادیتور آردوینو ، کد تست راه اندازی ماژول OLED ssd1331 Full Color  را بر روی برد UNO پروگرام کنید.

 

راه اندازی ماژول OLED Full Color با رابط SPI و برد آردوینو - دیجی اسپارک

 


تحلیل دستورات OLED Full Color


اسم گذاری و معرفی پایه‌ها به کتابخانه

از دستور زیر برای مشخص کردن پایه های ماژول متصل به برد و تعیین یک اسم یکتا برای ماژول استفاده می شود. در دستور زیر به جای کلمه display می توانید به زبان لاتین نام دیگری برای ماژول بگذارید در این صورت شما می توانید چند OLED را به برد متصل کنید و با نام گذاری انها به صورت جداگانه برای هرکدام دستور ارسال کنید . برای معرفی پایه ها نیز باید به جای cs , dc,res شمار پایه متصل را بگذارید.

 

تعیین رنگ BlackGrand

از دستور زیر برای تعیین رنگ پس زمینه استفاده می شود به طوری که در پرانتز با گذاشتن کد رنگی با حالت Hex پس زمینه به رنگ دلخواه در می آید ، همچنین از این دستور با رنگ مشکی برای پاک کردن (Clear) صفحه نمایش نیز استفاده می شود.

 

کشیدن bitmap

دستورات زیادی برای نمایش bitmap هست . bitmap به یک دسته کد HEX گفته می شود که  زمانی آنها را در OLED رسم می کنیم شکل مورد نظر صورت می گیرد. برای تبدیل تصویر به Bitmap و نمایش ان ابتدا باید مراحل زیر را انجام دهید :

۱- تبدیل لوگو به اندازه OLED

ماژول oled Full Color ssd1331 ابعاد ۹۶*۶۴ دارد بنابراین باید قبل از تبدیل به bitmap ، به اندازه مساوی یا کمتر از ابعاد OLED تبدیل شود . برای تبدیل لوگو به ابعاد مورد نظر ، می توانید از نرم افزار فتوشاپ استفاده کنید:

آماده سازی تصویر برای ماژول OLED Full Color - دیجی اسپارک

 

۲- تبدیل به BitMap

برای تبدیل لوگو مورد نظر به BitMap ، راه های مختلفی وجود دارد ولی بهترین روش این کار استفاده از سایت های تبدیل کننده است . بنابراین ابتدا سایت  رو به رو را باز کنید :  BitMap Converter و مراحل زیر را طی کنید :

تبدیل تصویر به Bitmap برای ماژول OLED Full Color - دیجی اسپارک

 


تبدیل تصویر به Bitmap برای ماژول OLED Full Color - دیجی اسپارک

 


تبدیل تصویر به Bitmap برای ماژول OLED Full Color - دیجی اسپارک

 


تبدیل تصویر به کدهای آردوینو برای ماژول OLED Full Color - دیجی اسپارک


ارسال کدهای تصویر برای ماژول OLED Full Color - دیجی اسپارک

۳- نمایش BitMap

بعد از تبدیل عکس به Bitmap از دستور زیر اقدام به نمایش ان کنید . در دستور زیر ، به جای X و Y باید مختصاتی که قرار است رسم از ان شروع شود بگذارید ، به جای Val نام متغیری که Bitmap را در ان ذخیره کردید قرار دهید ، به جای W و H ، عرض و طول عکس را قرار دهید همچنین در اخر به جای Color کد رنگی که می خواهید BitMap با ان رسم شود قرار دهید.

 

 


نمایش متن در OLED Full Color


برای نمایش متن دلخواه ، ابتدا باید مکان چاپ ، سایز متن و رنگ ان مشخص شود سپس ان را چاپ کنید.

۱- تنظیم مکان  اسکرول

برای تنظیم مکان اسکرول از دستور زیر می توانید استفاده کنید . X و Y با توجه به مختصات مورد نظر تنظیم کنید.

 

۲- تنظیم اندازه فونت

برای تنظیم اندازه فونت از دستور زیر استفاده کنید . به جای S عددی بین ۱ تا ۵ را قرار دهید. (توجه کنید این اندازه فونت ، متناسب با فونت پیش فرض کتابخانه است .)

۳- تنظیم رنگ متن

برای تنظیم رنگ متن به جای Color کد رنگی با فرمت HeX بگذارید.

۴- چاپ متن

برای چاپ متن از دستور زیر استفاده کنید

 

کشیدن خط

برای کشیدن خط از دستور زیر می توان استفاده کرد به طوری که این دستور خطی با توجه به دو نقطه داده شده از ان خط ، رسم می کنم . در دستور زیر به جای X1 و Y1 مختصات نقطه شروع خط (یعنی مختصاتی که خط از ان رسم شود . ) ؛ به جای X2 و Y2 مختصات نقطه دوم از ان خط را قرار دهید همچنین در قسمت Color کد رنگی به فرمت Hex قرار دهید یا اسم کد رنگ های از پیش تعریف شده در اول کد راه انداز ماژول استفاده کنید.

 

کشیدن مستطیل

برای کشیدن مستطیل از دستور زیر استفاده کنید . در دستور زیر به جای x و y مختصات مکانی که مستطیل از ان رسم شود وارد کنید و طول مستطیل را در w و عرض مورد نظر را در H وارد کنید همچنین به جای Color کد رنگی به فرمت Hex قرار دهید یا اسم کد رنگ های از پیش تعریف شده در اول کد راه انداز ماژول استفاده کنید.

 

 


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


 

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

 

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

 

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

ساتیار صالحیان

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

۴ دیدگاه

    • درود
      OLED ها برای راه اندازی با درایور های مختلفی ساخته می شوند از این رو دستورات راه اندازی ان ها متفاوت هست لذا برای هر درایور موجود در بازار ، کتابخانه ای ساخته شده که برای ان درایور بهینه شده است .
      در هنگام خرید OLED حتما به نوع درایور ان توجه کنید .
      مثال ssd1331 و ssd1306 دو درایور مختلف برای OLED ها هستند لذا در هنگام راه اندازی این دو OLED باید برای هر کدام کتابخانه مخصوص ان را استفاده کرد.
      موفق باشید !