کتابخانه حرفه ای nokia 1661 lcd برای میکروهای stm32 و Avr + فونت فارسی
با سلام .
آپدیت :
این کتابخانه در تاریخ 1399/4/3 به نسخه 1.1.3 ارتقا یافته است .
برای اطلاع از تغیرات نسبت به نسخه قبلی(1.0.1) ، لطفا به اینجا مراجعه نمایید.
کتابخانه درایور tft 3.2" با چیپ ili9341 قابل اتصال به این کتابخانه را لطفا در ( اینجا) ببینید.
دانلود نرم افزار تولید فونت استفاده شده در این کتابخانه .
چند وقت پیش از یک کتابخانه که در مراحل اول نوشتنش بودم رونمایی کردم . اون موقع نیمه کاره بود و خوشبختانه الان کامل شد . و واقعا ازش رضایت دارم .
این که چرا این کتابخانه رو نوشتم در پست رونمایی محصول اولیه ( اینجا ) کامل توضیح دادم.
در رابطه با آپدیت این کتابخانه لطفا اینجا را ببینید.
این کتابخانه برای lcd های nokia1661 و nokia1616 و کلا تمام ال سی دی هایی که کنترلر اونها
SPFD54124B هست و در مود spi 9bit کار میکنه قابل استفاده هست.
از مزایای این lcd برای استفاده در مدارات میکروکنترلری این است که فقط به 4 پین از میکرو برای ارتباط احتیاج دارد و بسیار ارزان قیمت است ( از ماژولهای led با تعداد 3 رنگ نیز ارزانتر است )و با توجه به مزایایی که دارد نسبت بسیاری از lcd ها به صرفه تر است.
اما بریم سر اصل مطلب :
توضیح مختصری در مورد lcd nokia 1661 :
این یک ال سی دی ارزان قیمت tft 1.8" با رزولوشن 128×160 پیکسل هست ( البته برای نوکیا 1616 130×161 هست)که از 65 هزار رنگ پشتیبانی میکنه و از ارتباط spi 9bit استفاده میکنه و ولتاژ تغذیه و ولتاژ io ها 3.3 ولت است.
در زیر تصویر ال سی دی و نامگذاری پایه های اون رو میبینید .


این کتابخانه برای میکروهای AVR شامل atmega16-32-64-128 وبرای میکروهای cortex m0وstm32f030 , stm32F0x1-2-8 و Cortex M4 شامل میکروهای STM32F429/439 STM32F405/415, STM32F407/417, STM32F427/437 به صورت رجیستری و cmsis نوشته شده است( یکی از دلایل سرعت بالای کتابخانه ) و برای سری stm32F1xx Cortext M3 هم آماده شده است ( با بورد blue pill تست گردید)
مشخصات آن به شرح زیر است :
1 - کمپایلر نسخه AVR : ـ avr gcc (نرم افزارهای winavr , Arduino , atmel studio ) با استاندارد زبانی c99 - gnu89 - gnu99
2 - کمپایلر نسخه stm32 : ـArm gcc ( نرم افزار true studio ) و با استاندارد زبانی c99 - c90 - gnu90 - gnu99 مطابقت دارد .( چون بر اساس زبان C استاندارد نوشته شده است ، برای دیگر کمپایلر ها و نرم افزارها قابل استفاده میباشد.)
3 - قابلیت تعریف pin های lcd روی پورتهای مختلف.
4 - قابلیت انتخاب ارتباط از طریق سخت افزار spi یا به صورت شبیه سازی روی پایه ها
5 - سرعت رفرش بالا خصوصابرای Avr :
به دلیل استفاده از سخت افزار spi و بهینه سازی توابع سرعت رفرش خصوصا در مورد نسخه AVR قابل توجه است . کلیپهای زیر به روشنی گویای این مطلب است .
سرعت رفرش در مورد نسخه stm32 با فرکانس کلاک spi 12MHZ و کلاک سیستم MHZ 48 در فیلم زیر مشاهده میکنید .
همانطور که میبینید در نسخهcortexM0 stm32 برای 10 بار رنگ کردن صفحه (رفرش) به 323 میلی ثانیه زمان نیاز هست . یعنی هر رفرش در 32.3 میلی ثانیه یا به عبارت بهتر 30.9 رفرش در ثانیه !!!
و این رقم برای AVR مقدار 11.2 بار رفرش در ثانیه هست . !!! که برای Avr و باتوجه به اینترفیس lcd رقم قابل توجهی هست که در فیلم زیر میبینید.
و برای نسخه stm32 CortexM3 سرعت رفرش را در تصاویر زیر مشاهده میکنید .

سرعت رفش تصویر بالا معادل 10.4 فریم در ثانیه است .

و سرعت رفرش در این تصویر 5.5 فریم در ثانیه است .
توجه : زمان مربوط به تصویر اول با استفاده از بهینه سازی کمپایلر روی سرعت ، بدست آمده و زمان مربوط به تصویر دوم بدون هیچگونه بهینه سازی بوده است . در هر دو حالت بوسیله سخت افزار spi با بادریت 18 مگاهرتز آزمایش شده است .
6. فونت :
6-1 - استفاده از فونتهای زیبا وشکیل .
6-2 - فونت این کتابخانه از نوع طول متغیر است .( البته قابلیت استفاده از فونت با طول ثابت را هم دارد ) که باعث فشردگی مناسب متن نوشته شده و زیبایی و طبیعی بودن آن میگردد.
6-3 - قابلیت استفاده همزمان ازانواع مختلف و سایزهای مختلف فونت بدون محدودیت در تعداد( تنها عامل محدودیت حافظه فلش میکروکنترولر شماست) .
6-4 - قابلیت استفاده از فونت فارسی با تشخیص خودکار نوع حروف ( اول ،آخر ،وسط یا تنها )
در تصویر زیر قابلیتهای شرح داده شده در بالا را مشاهده میکنید.
**** در تصویر به حروف ل و الف دقت کنید که همانند فونت های ویندوز به هم متصل شده اند
و همچنین به قابلیت افزایش طول حروف (حرف شین) .

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

در تصویر زیر تمام حروف موجود در فونت فارسی و انگلیسی به همراه اعداد را میبینید.

و در تصویر زیر علائم فونت فارسی و انگلیسی نمایش داده شده است .

6-5- قابلیت فعال کردن transparent در مورد حروف چاپ شده در تصویر :
منظور از transparent چیست :
هر کدام از حروف فونت دارای یک فضای پس زمینه است که در واقع به شکل یک مستطیل است که حرف مورد نظر درون آن قرار دارد . هنگامی که قابلیت transparent فعال نباشد ، در هنگام چاپ حروف
پیکسلهای پس زمینه با رنگ مربوط به پس زمینه (bakground color ) که توسط کاربر تعیین میشود رنگ آمیزی میشود .و در واقع تصویر پشت حروف را پاک میکند . مانند تصویر زیر که میبینید قسمتی از مستطیل آبی و همچنین دایره بنفش رنگ پاک شده است .

اما در هنگامی که قابلیت transparent فعال باشد ، تصویری که قبل از چاپ حروف روی lcd هست . در پس زمینه حروف ظاهر میشود و تغییری نمیکند. این قابلیت برای نوشتن متن روی تصاویر مناسب است . مانند تصویر زیر :

7 - سرعت مناسب چاپ حروف روی صفحه :
عملکرد سرعت چاپ حروف انگلیسی و فارسی برای cortexM0 stm32 ودر حالت transparent در تصاویر زیر میبینید .
توجه : زمان در تصویر بالا برای stm32 cortexm3 و بدون بهینه سازی مقدار 332 میلی ثانیه بدست آمده است

توجه : زمان در تصویر بالا برای stm32 cortexm3 و بدون بهینه سازی مقدار 222 میلی ثانیه بدست آمده است
و در مورد نسخه avr ، سرعت چاپ ، برای فعال بودن حالت transparent را در تصاویر زیر مشاهده میکنید .


***توجه :
به طور کلی سرعت تایپ فونت فارسی از انگلیسی کند تر است و بسته به اندازه فونت و نوع حروف و شکل فونت متفاوت است . و این تصاویر بیشتر برای ایجاد یک درک نسبی از سرعت چاپ حروف میباشد و میتواند تغییر کند .
8 - قابلیت چاپ متن در زوایای 0 و 90 و180 و 270 درجه و قابلیت خواندن برخی پارامترها از lcd .
نوشته های قرمز رنگ برخی از پارامترهای خوانده شده مربوط به lcd هستن.

9 - قابلیتهای گرافیکی :
9-1 - قابلیت رسم خط عودی افقی و مورب با ضخامتهای مختلف ( متوازی الاضلاع قرمز رنگ در واقع یک خط مورب با ضخامت 15 است .
9-2 - قابلیت رسم دایره تو پر و ربع دایره توپردر زوایای 0،90 ،180 ،270 درجه .
9-3 قابلیت رسم دایره توخالی و ربع دایره توخالی در زوایای 0 ، 90 ، 180 ،270 درجه.
9-4 - قابلیت رسم مستطیل توپر
9-5 - قابلیت رسم مستطیل توخالی .

10 - قابلیت نمایش تصویر با فرمت bmp از روی micro sd card .

لطفا برای اطلاعات بیشتر در زمینه نمایش تصویر و دانلود فایل تست ، به قسمت 11 راهنمای کتابخانه مراجعه فرمایید .
11 - میزان حافظه فلش و رم مورد نیاز برای کتابخانه :
این کتابخانه دارای 4 پوشه مهم است .که شامل قسمت هسته ،قسمت متنی و گرافیکی و قسمت نمایش تصویر هست .و حجم های مربوطه در جدول زیر آورده شده است .
| حافظه فلش | حافظه رم | |
| نسخه AVR | ||
| قسمت گرافیکی | 3.6 K byte | 0 Kbyte |
| قسمت متنی و هسته با فونت پیش فرض و فعال بودن حالت فارسی | 5.92 K Byte | 30 Byte |
| فونت فارسی | 5.02 K Byte | 10 Byte |
| نسخه stm32 | ||
| قسمت گرافیکی | 16 K Byte | |
| قسمت متنی و هسته با فونت پیش فرض و فعال بودن حالت فارسی | 10 K Byte | |
| فونت فارسی | 6.1 KByte |
***مثال های درون فایلهای ارسالی برای atmega32 و stm32 f072نوشته شده است .
*** حجمهای قید شده در جدول بر مبنای حداکثر ، آورده شده است و در عمل میتواند کمتر از این مقدار باشد.
12 - متعلقات اضافی :
شامل دیتا شیت کنترلر و فایلهای pdf برای ساخت یک pcb ساده جهت دسترسی به پینهای lcd
************************************************************************
راهنمای راه اندازی و استفاده از کتابخانه را در اینجا ببینید .
************************************************************************
فایل هگز تست :
برای اینکه شما از عملکرد کتابخانه مطمئن باشید
من فایل های هگز کمپایل شده رو اینجا گذاشتم و میتوانید دانلود کنید و خودتون نتیجه رو ببینید :
دانلود فایل هگز تست برای نسخه AVR (atmega32)
دانلود فایل هگز تست برای نسخه stm32 CortexM0 (میکرو stm32f072c8t6 )
دانلود فایل هگز تست برای نسخه stm32 Cortex M3 (میکرو stm32f103c8t6 )
دانلود فایل هگز تست برای نسخه stm32 Cortex M3 و کمپایلر KEIL5 (میکرو stm32f103c8t6 )
لطفا برای اتصال lcd به میکرو، اینجا را مطالعه نمایید .
***************************************************************************
قیمت کتابخانه نسخه1.0.1 avr : مبلغ 60،000 تومان
( دو نسخه زیر در تاریخ1399/4/3 منتشر شده است )
قیمت کتابخانه نسخه cortexM0 stm32f0xx 1.1.3(KEIL5 و GCC) : مبلغ 120،000 تومان
قیمت کتابخانه نسخه cortexM3 stm32f1xx 1.1.3 (KEIL5 و GCC) : مبلغ 120،000 تومان
خرید هر دو نسخه stm32 با هم : مبلغ 210,000 تومان (12.5% درصد تخفیف)
***************************************************************************
نحوه ی خریداز طریق پرداخت مستقیم: برای خرید لطفا اینجا را ببینید
فایلهای لازم ظرف حداکثر 24 ساعت برای شما ارسال خواهد شد .
نکته مهمی که در مورد این کتابخانه وجود داره پشتیبانی از اون هست . چون کتابخانه رو خودم نوشتم هیچ نکته مبهمی برای شما به عنوان استفاده کننده وجود نخواهد داشت .
در صورت بروز هر گونه مشکل یا سوال در این باره لطفا با شماره 09169252500 تماس بر قرار کنید یا کامنت بگذارید.
برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ: dastsazemanblogfa@
عضو شوید .
با سپاس.
پستهای مرتبط :
کتابخانه منو ( فارسی و انگلیسی ) 4 دگمه
نرم افزار تولید فونت برای میکروکنترلر
اتصال درایور ili9341 به کتابخانه lcd nokia1661
کتابخانه library tft lcd nokia1661 1616 c1 نوکیا حرفه ای تی اف تی ال سی دی .