آردوینو آموزش آردوینو نمایشگر OLED پروژه های آردوینو

آموزش کار با ماژول OLED گرافیکی بخش اول نمایشگر ۱۲۸X32 رابط I2C

OLED-128X32-with-arduino-digispark
نوشته شده توسط پریسا پوربلورچیان

نمایشگرهای OLED به واسطه سبک بودن و ابعاد کوچکشان، بسیار مورد توجه هستند. برای نمایش انواع تصاویر و نوشته‌ها انتخاب مناسبی است. به واسطه کیفیت و DPI بالای این نوع نمایشگر، تصاویر و کاراکترها بسیار زیبا نمایش داده می‌شوند. موارد استفاده از نمایشگر OLED در ربات‌ها و دستگاه‌های اینترنت اشیاء IoT بسیار مورد توجه می‌باشد. در ادامه مجموعه آموزش‌های ماژول OLED با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.

 

ماژول گرافیکی OLED 128*32

ماژول OLED گرافیکی و دارای رزولوشن بالا ۱۲۸*۳۲ می‌باشد. ماژول OLED بسیار سبک، دارای قیمت مناسب می‌باشد و در پروژه های آردوینو بسیار پرکاربرد است. ابعاد این ماژول در حدود ۰٫۹۱ اینچ است. از ویژگی های این OLED می‌توان به این نکته اشاره کرد که بدون Backlight قابلیت راه اندازی خواهد داشت. تراشه به کار رفته در این OLED، آی سی درایور SSD1306BZ می‌باشد. زاویه نمایش این نمایشگر کمتر از ۱۶۰ درجه است. ولتاژ مناسب برای راه اندازی بین ۳٫۳ تا ۵ ولت DC است. OLED گرافیکی از رابط I2C پشتیبانی می‌کند.  دمای کاری – ۳۰ تا + ۷۰ درجه سیلسیوس است. قابلیت راه اندازی با انواع میکروکنترل ها مانند رزبری پای Raspberrypi، آردوینو Arduino، میکروکنترلر STM32 و سری MSP430 دارد. دارای رنگ پیکسل آبی و سفید است. این OLED از ۴ پایه به ترتیب GND, VCC, SDA, SCL تشکیل شده است.

 

هدف از آموزش ماژول OLED

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

 

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

برای راه اندازی OLED به کتابخانه U8G2 نیاز داریم. نکته، در صورتیکه نحوه ی فراخوانی کتابخانه را نمی‌دانید، آموزش فراخوانی کتابخانه در نرم افزار آردوینو Arduino را مطالعه نمایید. اگر هم شیوه نصب و راه اندازی نرم افزار آردوینو را نمی‌دانید. به آموزش کار با برد آردوینو و نصب نرم افزار آردوینو Arduino IDE مراجعه کنید.

  • کتابخانه U8G2

کتابخانه U8g2 برای راه اندازی OLED از نوع Monochrome فراخوانی می‌شود. برای اینکار وارد منو Sketch شده، کتابخانه را نصب کنید.

  • کتابخانه Arduino

کتابخانه آردوینو Arduino به صورت پیش فرض در لیست کتابخانه های نرم افزار آردوینو Arduino قرار دارد. آن را فرخوانی کنید.

  • کتابخانه SPI

کتابخانه SPI به صورت پیش فرض در لیست کتابخانه های نرم افزار آردوینو Arduino قرار دارد. آن را فرخوانی کنید.

  • کتابخانه Wire

کتابخانه Wire به صورت پیش فرض در لیست کتابخانه های نرم افزار آردوینو Arduino قرار دارد. آن را فرخوانی کنید.

آموزش راه اندازی ماژول نمایشگر OLED 128X32 با رابط I2C - دیجی اسپارک

 

اتصالات OLED به آردوینو

  • پایه GND ماژول OLED را به پایه GND آردوینو اتصال دهید.
  • پایه VCC ماژول OLED را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه SDA ماژول OLED را به پایه A4 آنالوگ آردوینو اتصال دهید.
  • پایه SCL ماژول OLED را به پایه A5 آنالوگ آردوینو اتصال دهید.

 

نحوه ی اجرای برنامه آردوینو

پس از دانلود کتابخانه U8G2، این کتابخانه در لیست مثال های پیش فرض Example نرم افزار آردوینو وارد می‌شود. از منو File، گزینه Examples را انتخاب کنید. در لیست نمونه برنامه ها کتابخانه U8G2 را پیدا کنید. از منو Full_Buffer نمونه برنامه Hello World را انتخاب کنید. نکته مهم، برای اجرای این برنامه باید در نمونه کد Hello World خط OLED 128*32 SDA SCL را از حالت کامنت Uncomment خارج کنید. همانند تصویر زیر

ماژول OLED 128X32با رابط I2C - دیجی اسپارک

 

کد آردوینو ماژول OLED Module

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 

تحلیل کد آردوینو

برای فراخوانی OLED از تابع U8G2 استفاده می‌کنیم:

  u8g2.begin(); // فراخوانی تابع 

پاک کردن حافظه

  u8g2.clearBuffer();					// پاک کردن حافظه داخلی

انتخاب فونت متن

  u8g2.setFont(u8g2_font_ncenB08_tr);	// انتخاب یک فونت مناسب

نمایش متن محتوا

  u8g2.drawStr(0,10,"Digispark");	// نوشتن یک محتوا جهت نمایش 

انتقال متن به نمایشگر

  u8g2.sendBuffer();					// انتقال به نمایشگر 

راه اندازی نمایشگر OLED 128X32 با رابط I2C توسط آردوینو - دیجی اسپارک

 

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

نمایشگر OLED 128*32 

برد آردوینو Arduino

کابل مخصوص بردبورد

بردبورد

 

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

 

پروژه

طی چند قسمت قبلی که طرح پروژه را پیاده سازی کردیم، با استقبال شما کاربران مواجه شدیم. در این سری برای اینکه گستره بیشتری از افراد بتوانند فرصت استفاده از بن خرید را داشته باشند؛ روال دیگری را در پیش گرفتیم. در این روش تصمیم گرفته‌ایم به ۱۰ نفر از کاربران بن خرید ارایه شود. برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و بسته به خلاقیت، مدار جدیدی ایجاد کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ «#دیجی_اسپارک» و «#دانشجوکیت» و «#digispark» و «#daneshjookit» منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

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

 

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۳۰ دیدگاه

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

  • سلام خانم مهندس
    اینکه کدها رو توضیح میدین خیلی خوبه
    لطفا بخش های بعدی هم بزارید

  • سلام مشکل من اینه وقتی میخوام به لوکال سرور بلینک وصل بشم وقتی از طریق مودم خانه انجام میدهم در گوشی از پیغام پورت ۹۴۴۳ خطا میدهد ولی وقتی از هات اسپات گوشی استفاده میکنم به لوکال سرور متصل میشود مشکل از کجای مودم میباشد؟ در ضمن firewill مودم نیز خاموش است

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

  • سلام عرض ادب و خسته نباشید
    ببخشید سوال من جدا از این پروژه هست و ممنون میشم اگه جواب بدین
    در مورد فارسی نویس توی محیط اردوینو هرجا میگردم چیزی پیدا نمیکنم امکانش هست شما کمک کنید مرسی

    • سلام
      از توجه شما ممنونم.
      لطفا در آموزش های مرتبط بپرسید تا بررسی شود.

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

    • سلام
      بله حتما با توجه به ابعاد OLED به عنوان نمایشگر در پروژه ها بسیار پرکاربرد است.
      از نظر و پیشهاد شما ممنونم.

    • سلام
      متاسفانه بنده این کار را نکرده‌ام و نمی‌توانم توضیحاتی در این خصوص ارایه دهم. از دیگر کاربرانی که با این ماژول فارسی نویسی کرده‌اند، تقاضا دارم تا در این بحث شرکت کنند.

  • سلام
    ممنون بخاطر آموزشتون
    برای تغییر فونت و تغییر سایز کلمه چه کاری باید انجام بدیم؟

    • سلام
      با کتابخانه U8g2 می‌توانید به صورت جزئی این کار انجام دهید که در این خصوص پیشنهاد می‌شود دستورات ماکرو کتابخانه را بررسی نمایید.

  • سلام
    کارتون خیلی ارزشمند ومفید هست
    چون هم خریدار وهم فروشنده سود میکنن
    (سطح علم واگاهی رو افزایش میدین)
    امیدوارم موفق و پیروز باشید.

    • با سلام
      از توجه شما ممنونم. هدف دیجی اسپارک رشد جامعه کاربری فعال در این حوزه و رشد و انتقال دانش به یکدیگر است.
      امیدوارم مفید واقع شده باشد.

    • با سلام
      این مورد تست نشده است ولی مشکلی در این خصوص وجود ندارد و قابل راه اندازی است.
      سوال خود را در بخش آموزش های AVR بپرسید تا بررسی شود.

  • سلام خسته نباشید
    من یکی از این نمایشگر هارو خریدم ارتباطش هم i2c هستش ولی به جای پایه scl نوشته sck تفاوتشون چیه ؟

  • سلام من کد شما رو کپی کردم اما این ارور را داد Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”

    sketch_jul12b:37:10: fatal error: U8g2lib.h: No such file or directory

    #include // فراخوانی کتابخانه

    ^~~~~~~~~~~

    compilation terminated.

    exit status 1
    U8g2lib.h: No such file or directory

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    من کتابخانه ی مخصوص را انلود کردم اما ورژن کتاب خانه ای که دانلود کردم با ورژن نر افزارم یکی نیست (ورژن نرم افزارم ۱٫۸٫۱۲ است)
    ممنون میشم راهنماییم کنید.

    • با سلام
      این ارور مربوط به کتابخانه u8g2lib است و کتابخانه به درستی نصب نشده است.

  • سلام من کد هلو ورد رو آوردم وقتی خواستم آپلود کنم به یه کد گیر میده اونو آن کامند کردم به یه کد دیگه گیر میده بعد اونجا که نوشتین یه کد رو آن کامند کنیم من پیداش نکردم که کنم بعد گفته مانند عکس زیر اصلا عکسه مربوط نبود میشه راهنماییم کنید