کتابخانه تاچ ( touch library )مقاومتی با کنترلر xpt2046 برای stm32
با درورد به تمامی دوستان .
اگر مطالب وبلاگ را دنبال کرده باشید اطلاع دارید که قبلا یک یک کتابخانه درایور برای lcd 3.2 اینچ با کنترلر ili9341 نوشتم ( اینجا ) و این lcd مجهز به تاچ هم بود .
طبق معمول کتابخانه هایی که برای تاچ وجود داشت اصلا راضی کننده نبود و همچنین از بسیاری از قابلیتهای کنترلر تاچ پشتیبانی نمیکردند.
همین باغث شد که دست به کار بشم و کتابخانه ای با مشخصات قابل قبول برای تاچ و برای این کنترلر( xpt2046 ) بنویسم .
البته کتابخانه تاچ قابلیت اتصال به درایورهای دیگر را هم دارد . که در مطالب مربوط به راهنمای استفاده با جزئیات کامل توضیح داده خواهد شد.
این کتابخانه از 3 قسمت تشکیل شده است .
*******************
1- قسمت کتابخانه کنترلر ( xpt2046 ):
که از طریق توابعی کلیه قابلیتهای کنترلر xpt2046 را در اختیار کاربر قرار میدهد .
*******************
2 – قسمت تاچ :
که شامل توابعی است که قابلیتهای خواندن مخنصات تاچ ، فشار لمس ، کالیبراسیون ، چرخش مختصات تاچ و غیره ..... را در اختیار کاربر قرار میدهد.
*******************
3- قسمت user_touch :
که یک لایه روی قسمت تاچ است که برای رفاه کاربر در نظر گرفته شده است .
*************************************************************************
در ادامه قابلیتهای و مشخصات هر کدام از قسمتها توضیح داده خواهد شد.
*************************************************************************
*************************************************************************
مشخصات کتابخانه :
*****************************************
مشخصات کتابخانه کنترلر XPt2046:
1 – قابل اجرا روی میکروکنترلرهای stm32f1xx stm32f0xx stm32f4xx
2 - فرکانس کاری از کمتر از 10 مگاهرتز تا 180 مگاهرتز
2- کمپایلر GCC ( TrueStudio CubeIDE )
3 – زبان برنامه نویسی ( C99 ) زبان C
4- استفاده از spi سخت افزاری در مد 8 بیت برای ارتباط با تاچ( انعطاف لازم برای استفاده از spi نرم افزاری را نیز دارد اما توابع لازم باید توسط کاربر به درایور معرفی شود )
5- برنامه نویسی روالهای اصلی به صورت رجیستری وبدون نیاز به کتابخانه های جانبی ( پیکربندی پریفرالها به صورت رجیستری یا توابع هال یا spl یا غیره .... به انتخاب کاربر )
6 – امکان استفاده از تمام قابلیتهای موجود در آی سی xpt2046 :
در واقع بخش مربوط به درایور جدا از مبحث تاچ میباشد و اگر شما بخواهید از آی سی xpt2046 به طور مستقل استفاده کنید میتوانید از این کتابخانه استفاده نمایید .
*****************************************
مشخصات قسمت تاچ :
1
- زبان : c99 .
2- امکان اتصال درایورهای مشابه با xpt 2046 به قسمت تاچ.
3- امکان معرفی ابعاد lcd مورد استفاده به کتابخانه
4- وجود یک تابع که با اجرای آن مرحله کالیبراسیون اجرا خواهد شد.
5- امکان انتخاب تعداد نقاط برای کالیبراسیون ( تعیین نقاط به صورت تعداد در ستون و تعداد در سطر تنها محدودیت حافظه RAM میکروکنترلر و سایز LCD است)
در تصاویر زیرمثالهایی از کالیبراسیون 4 نقطه و 9 نقطه را میبینید.
کالیبراسیون 4 نقطه را در تصویر زیر میبینید.
و در تصویر زیر کالیبراسیون 9 نقطه نمایش داده شده است.
6- امکان نرمالیزه کردن تاچ نسبت به صفحه نمایش در هنگام کالیبراسیون به طور خودکار:
.( زمانی که نقطه (0.0) صفحه نمایش با نقطه (0و0) مربوط به تاچ منطبق نیست ). این قابلیت مبدا مختصات تاچ و lcd را به طور خودکار برهم منطلق میکند.منظبق بودن مختات تاچ با LCD مزایایی دارد که یکی از آنها این است که هر دگمه ای را که روی صفحه طراحی کنید . مختصات اون دگمه روی تاچ همان مختصاتی هست که روی lcd در نظر گرفتید و نیاز به استفاده از معادلات تبدیل نیست .
و یک مورد دیگه اینکه به راحتی میتونید تاچ و ال سی رو بچرخانید .!!
7- استفاده از روش MMSE برای کالیبراسون ( -Based Multipoint Calibration Algorithm for Touch Screen Applications) که دقت خیلی خوبی رو فراهم میکنه . مقاله مرتبط با این روش رو میتونید از اینجا دانلود کنید .
8- دارای تابعی برای خواندن فشار تماس ( تشخیص لمس بوسیله قلم یا انگشت )
9 – امکان راه اندازی روی lcd های مختلف به وسیله امکان معرفی توابع کتابخانه lcd به قسمت تاچ.
10 - امکان چرخش مختصات تاچ در حین اجرای برنامه .
*****************************************
نمایش قابلیتهای بالا را میتوانید در فیلم زیر ببینید.
لینک تماشای ویدئو باکیفیت خوب در آپارات
*****************************************
3 - - قسمت user_touch :
این قسمت برای رفاه کاربر طراحی شده است و درآن متغیرها و ماکروهایی تعریف شده است که استفاده از کتابخانه را برای کاربر آسانتر خواهد کرد .
*************************************************************************
*************************************************************************
برای اینکه از عملکرد کتابخانه مطمئن باشید یک فایل هگز برای تست در زیر قرار دادم که میتونید امتحانش کنید .
اطلاعات لازم در مورد LCD مورد استفاده در این فایل تست را میتوانید از اینجا به دست آورید.
اگر در راه اندازی فایل هگز تست دچار مشکل شدید لطفا از طریق کامنت یا در گروه تلگرام مطرح نمایید.
**************************************************************
**************************************************************
راهنمای راه اندازی و استفاده از کتابخانه را لطفا در اینجا ببینید.
**************************************************************
قیمت کتابخانه touch برای stm32( f0xx ,f1xx ,f4xx): (180,000 تومان )
متعلقات همراه:
یک مثال شامل یک GUI ساده ( عملکردهای نمایش داده شده در ویدئو)که قابلیتهای کتابخانه تاچ را به نمایش گذاشته است .
توجه :
مثال موجود در اين کتابخانه فاقد کتابخانه اي براي LCD ميباشد .
لازم است که شما يا کتابخانه مربوط به LCD مورد استفاده در اين مثال را از اینجا تهيه کنید . يا يک کتابخانه LCD را به انتخاب خودتان به پروژه اضافه نماييد .
نحوه ی خرید با پرداخت مستقیم : برای خرید لطفا اینجا را ببینید
نکته مهمی که در مورد این کتابخانه وجود داره پشتیبانی از اون هست . چون کتابخانه رو خودم نوشتم هیچ نکته مبهمی برای شما به عنوان استفاده کننده وجود نخواهد داشت .
در صورت بروز هر گونه مشکل یا سوال در این باره لطفا با شماره 09169252500 تماس بر قرار کنید یا کامنت بگذارید.
برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ به آدرسس: dastsazemanblogfa@
عضو شوید .
با سپاس.
پستهای مرتبط :
کتابخانه LCD 3.2 با درایور ili9341
نرم افزار تولید فونت برای میکرو کنترلر
مالکیت معنوی: لطفا کتابخانه را در اختیار دیگران قرار ندهید.
کلمات کلیدی : تاچ ، کتابخانه ، میکروکنترلر،xpt2046 , stm32 , touch