امروز قصد داریم که یک OLED رو با هدر برد STM32F103 راه اندازی کنیم و همچنین متن و تصاویر دلخواهمون رو توش نمایش بدیم.
وسایل مورد نیاز:
- هدر برد یکی از میکروکنترلرهای سری STM32F
- OLED 128*64 با رابط I2C و درایور ssd1306
- برد بورد
- سیم دو سری نری برای برد بورد
- پروگرمر St-link V2
اتصالات:
اگه از هدر برد میکرو STM32F103C8T6 استفاده میکنین و قصد دارین تا از رابط I2C اول میکرو استفاده کنین میتونین از شکل زیر برای اتصال OLED استفاده کنین در غیر اینصورت به راحتی طبق تنظیماتی که توی نرم افزار STM32CubeMX انجام میدین باید پایههای میکرو رو به OLED وصل کنین.
ایجاد کدهای اولیه:
در این بخش به معرفی کتابخونهی مخصوص OLED با درایور ssd1306 میپردازیم.
برای راهاندازی این OLED به یک کتابخونه که دستورات ما رو برای درایور ssd1306 ترجمه کنه، نیاز داریم. این کتابخونه در این لینک قابل دریافته. بعد از اینکه این کتابخونهها رو دانلود کردین مرحلهی بعد ایجاد فایلهای اصلی برنامه در نرمافزار STM32CubeMX هست. اگه این نرمافزار رو ندارین میتونین از این لینک اونو دانلود کنین. خب پس از اینکه این نرمافزار رو دانلود و نصب کردین پس از ورود به نرمافزار با صفحهی زیر روبهرو میشین:
خب حالا گزینهی New Project رو باید انتخاب کنیم و بعد از اون اسم میکرویی که قصد استفاده از اون رو داریم انتخاب میکنیم.من در اینجا از هدربورد STM32F103C8T6 میخوام استفاده کنم پس این مدل رو انتخاب میکنم:
پس از این مرحله باید پورتها و قسمتهایی که قصد استفاده از اونا رو داریم فعال کنیم. در حال حاضر برای کار کردن با OLED فقط نیاز به یکی از پورتهای I2C داریم پس یکی رو فعال میکنیم با فعال کردن پورت، پایههای فعال شده به رنگ سبز درمیان و به راحتی قابل تشخیص هستن. اگر قصد دیباگ در مرحلهی اجرا رو دارین توصیه میکنیم گزینهی sys هم با توجه به نوع پروگرمرتون فعال کنید.
پس از این مرحله وارد تب Configuration بشید و گزینهی I2C رو انتخاب کنید و از پنجرهی باز شده وارد تب Parameter Setting بشید و تنظیمات رو مطابق شکل زیر انجام بدید:
بعد از انجام تغییرات گزینهی Ok را بزنید. حالا کارمون با این نرمافزار تموم شده و باید خروجی بگیریم. برای این کار گزینهی چرخدنده رو از نوار ابزار بالای نرمافزار بزنید و بعد از اون باید با توجه به IDEکه میخواید کدها رو باهاش ویرایش کنید قسمت Toolchain/IDE رو انتخاب کنین. من قصد استفاده از نرمافزار IAR رو دارم پس گزینهی EWARM رو انتخاب میکنم و آدرس رو تنظیم میکنم و خروجی میگیرم.
بعد از اینکار پنجرهای باز میشه که از شما میپرسه که میخواید کد باز بشه یا نه. که باز شدن پروژه رو انتخاب میکنیم.
برنامهنویسی:
قدم اول بعد از ساخت فایلهای اصلی پروژه اضافه کردن فایلهای کتابخانهی ssd1306 به فایلهای پروژهست. فایلهایی که از این آدرس دریافت کردید رو باز کنید و فایلهای با فرمت c. رو در پوشهی src و فایلهای با فرمت h. رو در پوشهی Inc قرار بدید. بعد از این مرحله به ساخت فایل bitmap مورد نظرمون و اضافه کردن اون به پروژه میپردازیم. در این آموزش برای ایجاد فایل bitmap از نرمافزار فتوشاپ استفاده شده. برای اطلاعات بیشتر از نحوهی این کار و ادامهی مراحل ویدئو زیر رو ببینید.
تکه کد معرفی کتابخانههای مورد نیاز:
#include "ssd1306.h" #include "ssd1306_fonts.h"تکه کد معرفی و نمایش شکل مورد نظر:
ssd1306_Init(); ssd1306_draw_bitmap(0, 0, Splash, 128, 64);//Splash ssd1306_UpdateScreen(); HAL_Delay(1000); ssd1306_Fill(Black); ssd1306_draw_bitmap(0, 0, test, 128, 64);//Splash ssd1306_UpdateScreen();تکه کد استفاده از فونت پیشفرض کتابخانه:
ssd1306_SetCursor(2, 0); ssd1306_WriteString("Porya", Font_11x18, White); ssd1306_UpdateScreen();امیدوارم این مطالب براتون مفید باشه و ازش استفاده کنین. 🙂