نمایش تصویر از روی فلش میکروکنترلر
با درود.
دوستان زیادی سوال پرسیده بودند که چطور میشه یک تصویر ر ا از روی فلش میکرو کنترلر با استفاده از کتابخانه lcdنوکیا 1661 نمایش داد و به دلیل ابهامی که برای تعداد زیادی از افراد وجود دارد ، در این مطلب توضیحات مربوطه رو به همراه یک نمونه کد اینجا قرار دادم .
************************************
************************************
کلیات نحوی نمایش تصویر از حافظه فلش روی :
1- فراهم آوردن عکس با سایز مناسب .
2 - تبدیل عکس به یک آرایه که هر عضو آرایه کد رنگ مربوط به یک پیکسل است .
3 - ایجاد یک پنجره با تابع nlcd_set_widow در مختصات مناسب و با ابعاد( پیکسل *پیکسل ) تصویر مورد نظر
4 - خواندن تک تک اعضای آرایه و ارسال آنها به lcd از طریق تابع nlcd_paint_pixel .
************************************
************************************
حالا در ادامه مطلب در عمل نشان خواهیم داد که چطور اینکار انجام میشود .
************************************
توضیح مرحله 1 :
اینکار خیلی ساده هست . با استفاده از نرم افزار پاینت ویندوز ( یا هرر نرم افزار دیگه ای ) عکس رو باز کنید و اون رو به اندازه مناسب( که در اینجا برای اینکه حجم کمی از فلش میکرو اشغال بشه من 30*37 رو انتخاب کردم )تبدیل کنید و با فرمت jpg ذخیره کنید .
************************************
توضیح مرحله 2 :
من از یک سایت برای تبدیل عکس به آرایه استفاده کردم .( و متاسفانه کد رنگها رو به صورت 8 بیت 8 بیت تبدیل میکنه ) و آدرسش اینجاست :
آدرس وبسایت تبدیل عکس به آرایه :
وقتی این آدرس رو باز کنید تصویری شبیه زیر میبینید .

************************************
توضیح تصویر :
کادر آبی : آدرس تصویری هست که میخواهید تبدیلش کنید .
کادر قرمز : مربوط به عمق رنگ و فرمت نمایش پیکسلها هست که در مورد lcd nokia1661 طبق همین که در تصویر مبیبنید تنظیم کنید .
کادر صورتی: مختصات نمایش تصویر روی lcd هست که مربوط به گوشه بالا سمت چپ تصویر میشه .
کادر سبز : حالا اگر این دگمه رو بفشارید کارد های مشکی و زرد تولید میشوند .
کادر زرد : این همون آرایه ای هست که برای نمایش تصویر نیاز داشتیم . و باید در کد کپی بشه .
کادر مشکی : مربوط به مختصات نمایش تصویر و طول و عرض تصویر هست .و از سمت چپ به ترتیب شامل : ستونx ، ردیفy ، عرض تصویر ، ارتفاع تصویر میشود.
***********************************
توضیح مراحل 3 و 4 : را میتوانید به طور عملی در فایلهای .h و .c که در زیر قراردادم مشاهده کنید .
من این کد رو برای یک پروژه تجاری استفاده کردم و بنا به شرایط اون پروژه به این صورت نوشته بودمش.
خودتان میتوانید در این کد تغییراتی بدید و اون رو برای پروژه خودتان مناسب سازی کنید .
این فایل شامل یک فایل هدر و یک فایل سورس به همراه تصویری که برای تهیه این مثال از آن استفاده کردم میباشد .
برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ: dastsazemanblogfa@
مطالب مرتبط:
کتابخانه حرفه ای nokia 1661 lcd برای میکروهای stm32 و Avr + فونت فارسی