راه اندازی OLED رنگی SSD1331 با بسکام BASCOM

مقدمه

یکی از ابزارهای نمایش در پروژه‌ها و دستگاه‌های الکترونیکی OLED ها هستند. این نمایشگرها به ازای هر پیکسل از یک LED استفاده کرده و شفافیت و کیفیت بهتری نسبت به LCD ها دارا می‌باشند. در این مقاله OLED رنگی SSD1331 را با کامپایلر بسکام (BASCOM) و میکروکنترلر AVR راه اندازی می‌نماییم.

 

سخت افزار

برای راه اندازی OLED فول کالر SSD1331 که اندازه آن 0.95 اینچ بوده و دارای ابعاد 96 در 64 پیکسل می‌باشد مداری را مطابق شکل زیر می‌‍بندیم. ولتاژ کاری این نمایشگر 5 ولت بوده و پایه‌های دیتا نیز به طور مستقیم به میکروکنترلر AVR به شماره ATmega328 متصل می‌شود. (آپدیت 14010826 پایه‌های دیتای این نمایشگر حداکثر تا 3.3 ولت را تحمل می‌کنند و در صورت اتصال به میکروی 5 ولتی ممکن است چیپ نمایشگر یا حتی پیکسلها آسیب ببینند، اگر میکروی شما 5 ولت است باید  از level shifter استفاده کنید یا با تمام پایه‌ها مقاومت 1 کیلو سری کنید و یا کلا از میکروی 3.3 ولتی استفاده کنید و تغذیه OLED را نیز 3.3 بدهید) بسته به شرکت سازنده OLED ممکن است پایه‌ها نامگزاری متفاوتی داشته باشند که در شماتیک نامهای متفاوت هر پایه درج شده است.

شماتیک SSD1331

 

نرم افزار

برای راه اندازی OLED رنگی SSD1331 از یک کتابخانه شخص ثالث استفاده شده است. این کتابخانه با نام glcd-SSD1331-SPI.lib در پوشه LIB در فولدر سورس قرار داده شده که حتما باید آن‌را در پوشه LIB محل نصب BASCOM کپی کنید.

توضیحات سورس بسکام

دستورات ترسیم در OLED ها و LCD های گرافیکی در بسکام تقریباً مشابه یکدیگر می‌باشد و کاربر را از کار با رجیسترها بی‌نیاز می‌کند تا با تمرکز بیشتری به طراحی برنامه اصلی بپردازد و یکی از دلایل محبوبیت بسکام نیز همین است. در این برنامه در ابتدا نوع میکرو، فرکانس کاری و سایز پشته‌ها تعیین شده و سپس دستور Prog برای تنظیم فیوزبیت‌ها بصورت خودکار نوشته شده است. در قسمت بعدی کتابخانه مورد نیاز اضافه شده و به پیکره‌بندی پایه‌های OLED و نحوه اتصال آنها به میکرو پرداخته شده است. در بخش بعدی ثابتهایی برای کار با رنگها تعریف شده و سپس نمایشگر init و درنهایت پاک شده است.

یک دستور جدید در این نمایشگر دستور Lcdcontrast است که اعداد 0 تا 15 را دریافت کرده و برای کنترل روشنایی SSD1331 بکار می‌رود. در قسمت بعد با دستور Showpic یک تصویر در مختصات 0 و 0 نمایشگر نشان داده شده است. این تصویر توسط نرم افزار LCDconverter ایجاد و فایل آن با پسوند bgc در انتهای کد پیوست شده. در خط بعدی با دستور Setfont یک فونت رنگی که در انتهای کد پیوست شده انتخاب شده است. در خطوط بعدی با دستور Lcdat عبارتهایی روی نمایشگر درج شده. این دستور پنج آرگومان ورودی دارد. اولین آرگومان شماره پیکسل بالای سطر می‌باشد که برای خط بعدی به اندازه ارتفاع فونت (8 پیکسل) به آن اضافه می‌شود. یعنی خط دوم باید از پیکسل شماره 8 شروع شود. آرگومان دوم ستون آغاز متن است. آرگومان سوم خودِ متن، آرگومان چهارم رنگ متن و آرگومان آخر نیز رنگ زمینه متن می‌باشد.

سایر دستورات گرافیکی عبارتند از: Pset که برای روشن کردن یک پیکسل رنگی در مختصات مشخص بکار می‌رود. دستور Line برای ترسیم یک خط رنگی بین دو نقطه، دستور Box برای ترسیم یک جعبه خالی رنگی بین دو نقطه، دستور Boxfill برای رسم یک جعبه توپر رنگی بین دو نقطه و درنهایت دستور Circle برای رسم یک دایره رنگی در مختصات مشخص با شعاع معین یه کار می‌رود.

 

ویدیو

ویدیوی عملکرد OLED فول کالر SSD1331 را  در فیلم زیر مشاهده می فرمایید:

 

سخن آخر

نکته‌ای که در خصوص این OLED باید یادآور شویم کیفیت بالای آن در نمایش عکس می‌باشد. این OLED قادر به تولید 16 هزار رنگ بوده و تصاویر را بدرستی نشان می‌دهد اما مشکلی که در بسکام وجود دارد اینست که نرم افزار LCDconverter برای کاهش حجم کد عکس‌ها را بصورت 8 بیتی فشرده می‌کند و از کیفیت تصویر می‌کاهد. با این حال این نمایشگر برای نمایش متن‌ها و تصاویر ساده بسیار عالی بوده و تنها عیب آن قیمت بالای این مدل نمایشگرهای OLED است که استفاده از آن را محدود می نماید.

منبع:  https://cxem.net/mc/mc407.php

دانلود سورس و شماتیک راه اندازی OLED رنگی SSD1331 با BASCOM-AVR

بازدیدها: 137

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