با سلام .
آپدیت :
این کتابخانه در تاریخ 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
کتابخانه درایور برای ili9341
کتابخانه library tft lcd nokia1661 1616 c1 نوکیا حرفه ای تی اف تی ال سی دی .