PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با صفحه لمسی



raminmicro
05-07-2010, 18:47
من یه صفحه لمسی از فروشگاه کویر الکترونیک خریدم.
ترتیب پایه ها معلوم نیست و با مدل هایی که تو سایت توضیح داده شدن فرق داره.

کسی ترتیب پایه های این مدل رو میدونه ؟

از برنامه زیر برای پیدا کردن مختصات استفاده کردم :


TOUCH_PORT = 0x80;
TOUCH_DDR = 0xa0;
x=adc_get(6);
delay_ms(50);

TOUCH_PORT=0x40;
TOUCH_DDR=0x50
y=adc_get(5);


در هر دو حالت که جای پایه ها رو برعکس کردم مختصات x و y در حالتی که صفحه فشرده نشده یکی در حدود Vcc و اون یکی در حدود 0 ولت هست.

در حالت کلی که هیچ فشاری روی صفحه لمسی وجود نداره باید چه ولتاژی اشته باشن؟

MEYSAMHL
07-07-2010, 16:03
دوست عزیز
این مشکل از صفحه لمسی نیست از برنامه شماست . من با بیسیک کار میکنم و با زبان سی زیاد اشنایی ندارم ولی میتونم اصول صفحه لمسی رو بگم:
صفحه لمسی 4 پایه داره : 4 3 2 1 یعنی باید به 4 پایه میکو وصل بشه من برای مثال PORTA.0 و PORTA.1 و PORTA.2 و PORTA.3 وصل میشه >>>> پایه یک صفحه لمسی به PORTA.0 و الی اخر.....
مدل خاصی هم نداره...به فروشنده بگی صفحه لمسی همونی رو میده که با میکرو راه میفته.
اولین کار :
PORTA.0 به عنوان خروجی قرار بده بعد PORTA.1 = ورودی و PORTA.2 = خروجی و PORTA.3= ورودی
مرحله دوم :
PORTA.0 رو با دستور زبان سی(نمی دونم چیه) SET کن و PORTA.1 و PORTA.2 و PORTA.3 رو RESET کن
اکنون اگر مقدار ADC رو از کانال PORTA.1 بخونی مقدار X رو دریافت میکنی .

حالا برای Y
اولین کار :
PORTA.0 به عنوان ورودی قرار بده بعد PORTA.1 = خروجی و PORTA.2 = ورودی و PORTA.3= خروجی
مرحله دوم :
PORTA.1 رو با دستور زبان سی(نمی دونم چیه) SET کن و PORTA.0 و PORTA.2 و PORTA.3 رو RESET کن
اکنون اگر مقدار ADC رو از کانال PORTA.2 بخونی مقدار y رو دریافت میکنی .

این مراحل بالا رو در یه حلقه باید قرار بدی حتی اون قسمت های ورودی و خروجی قرار دادن پین های پورت رو باید در هر حلقه انجام بدی ......
از این ساده تر دیگه نمی تونم توضیح بدم...امیدوارم جواب بگیری (در زبان سی)
یا حق

raminmicro
10-07-2010, 19:26
خیلی ممنونم که جواب دادی.

برنامه ای که به زبان C نوشته بودم دقیقا همین کارهایی رو میکرد که شما میگین.
ولی x و y مقادیری میگیرن که دقیقا درست نیستن.
مثلا با کشیدن یک خط راست از اول تا آخر صفحه لمسی باید فقط مقدار x از مقدار حداقل خود تا حداکثر خود تغییر کند و y تغییرات خیلی جزئی داشته باشد.
ولی در مدار عملی که بستم هر دو مقدار x , y تغییر میکنند و حتی تغییرات x هم در حدود 0.2 رنج تغییرات آن از 0 تا 5 ولت میباشد.

ترتیب پایه ها 1 و 2 و 3 و 4 رو چطوری باید تشخیص بدم ؟
اهم متر دو پایه وسطی صفحه لمسی رو اتصال کوتاه نشون میده.مشکلی نداره ؟

M3R
10-07-2010, 22:09
به نظر من شما از صفحه های خازنی استفاده می کنید .
اغلب این صفحه لمسی ها در گوشی های چینی استفاده میشه .
آیا شما هم از تاچ گوشی های چینی استفاده می کنید؟

armstk
10-07-2010, 23:43
سلام
توی همه ی گوشی های چینی از تاچ های مقاومتی استفاده شده
در ضمن تاچ های خازنی هم راه اندازی مشکلتری دارن و هم توی بازار موجود نیستن

MEYSAMHL
11-07-2010, 05:16
توی برنامه باید یه کار دیگه هم انجام بدید که من یادم رفته بود بگم ...اگه این کار رو بکنید تا 95درصد

مشکل حل می شه 5 درصد دیگه تلرانس ...... : (اگه صفحه لمسی 128*64 هست ).:wink:

به محض این که X رو دریافت کردین (از ADC) این عمل X = X / 4 ....یعنی تقسیم بر 4 کنید .
به محض این که Y رو دریافت کردین (از ADC) این عمل Y = Y / 8 ....یعنی تقسیم بر 48 کنید .

raminmicro
11-07-2010, 13:06
هر کاری کردم جواب نداد.
صفحه لمسی رو از فروشگاه کویرالکترونیک گرفتم و مطمئن هستم مقاومتیه.
فکر کنم ترتیب پایه هاش متفاوته که جواب نمیده .
شکل صفحه لمسی شبیه عکس زیره :

You can see links before reply
برای مدار عملی هم از مدار مجله شماره 10 برای Mega16 استفاده کردم و 4 تا مقاومت Pull Up و Pull Down قرار دادم.
تو برنامه ای که شما پیشنهاد دادید دو پایه وسطی به عنوان مقادیر x , y خونده شدن ولی تو برنامه مجله دو پایه اولی خونده شدن.
و نمیدونم چرا دو پایه PA2 و PA3 جای همدیگه قرار گرفتن در حالیکه براحتی میتونستن با یک تغییر نرم افزاری عوض بشن.
You can see links before reply

تو یه مدار دیگه هم دیده بودم که پایه های اول و سوم خونده شدن.
ii998)

M3R
11-07-2010, 13:28
توی همه ی گوشی های چینی از تاچ های مقاومتی استفاده شده
فکر نکنم .
چون من یکی خریدم خازنی بود و خیلی راه اندازیش سخت بود .
وقتی هم راهش انداختم فقط یک بار کار کرد و بعد از اون دیگه هر کاری کردم کار نکرد .
منم ولش کردم .

MEYSAMHL
11-07-2010, 15:23
من مقاومت pull up گذاشتم و عین ساعت کار میکنه . 8O
اگه صفحه ی لمسی رو طوری جلوی خودت قرار بدی که قسمت بالایی یعنی قسمتی رو که روش رو لمس می کنی به طرف شما باشه ... در این صورت ترتیب پایه به صورت زیر هست...
ترتیب پایه ها :(دانلود)
You can see links before reply
اینم عکس تاچ اسکرین خودم که باهاش کار کردم و خیلی عالی جواب داده.:D
You can see links before reply

اگه هم این بار جواب نداد(ایشالله جواب میده) ......یه کار دیگه می کنیم ....:wink:

raminmicro
17-07-2010, 16:10
خیلی ممنون aa)
مثل اینکه جواب داد.
فقط افست 22 برای x , y وجود دارن.
-------
مقدار x,y هایی که تو هر گوشه بدست آوردم تو عکس زیر نوشتم:
You can see links before reply
مال شما هم همینطوره یا دقیقا از صفر شروع میشه ؟
در حالت 10 بیتی مقدار ADC میتونه حداکثر تا 1024 برای Vcc باشه که اگه مثلا برای x تقسیم بر 4 کنیم میشه 256 در حالیکه حداکثر مقداری که x گرفته 210 هست.y هم همینطور باید حداکثرش 128 باشه که 96 شده.
باید مقادیر رو تبدیل کنیم یا مدار من اشکال داره.
تنظیمات ADC : حالت 10 بیتی با فرکانس 62.5 کیلو هرتز و رفرنس AVcc با ولتاژ +5 ولت.

MEYSAMHL
18-07-2010, 19:40
می تونید نرم افزاری ( یعنی از طریق برنامه) این افست رو جبران کنید ...
من دقت نکردم افست داره یا نه ..... اون قسمت هایی رو که نیاز داشتم مختصات رو یاداشت میکردم و توی برنامه ازش استفاده میکردم ....
اخرش فهمیدید که مشکل ش چی بود ؟

raminmicro
19-07-2010, 13:45
فکر کنم پایه ها را اشتباهی میزدم.

mbdastkar
16-06-2011, 18:41
ببخشید
توی کدویژن یاید صفحه لمسی رو تعریف کنیم یا نه؟
خیلی ممنون

mmmmohamad
29-06-2011, 17:29
اقایون واقعا صفحه تاچ خازنی تو بازار هست؟اگه باشه که عالیه شاید کار باهاش سخت باشه ولی حتما نتیجه توپی میده.

mohammad_sth
29-06-2011, 20:29
آقا به قول آقا محمد اگه باشه عالیه:018:،هرکسی پیدا کردش آدرسشو به ما هم بده

amin-zareian
11-07-2011, 00:52
سلام دوست عزیز مشکلی که شمادارید من هم دارم عیب ازتلرانس خود صفحه است ازصفحات موبایل استفاده کن یا یک درایور براش بذار داخل سایت micro cاین مدارش وجود داره برو قسمت touch

Z.F.K
26-05-2013, 10:19
سلام.دیدم خیلی خوب و با حوصله جواب دادین گفتم بزارین منم بپرسم.من یه برد آموزشی دارم برای آرم سری lpc1768 یه ال سی دی تاچ n96 هم که داره.من میخوام تاچش رو راه بندازم اما هیچکس جواب نمیده که از کجا شروع کنم.من فقط میخوام تو برنامه نویسیش کمکم کنین به زبان سی البته.میخوام مختصات x,y نقطه لمس شده رو بدست بیارم.ممنون میشم اگه من رو هم راهنمایی کنین.

p ariyan
15-11-2013, 16:36
سلام .من يك LCD240*128 به يه صفحه لمسي دارم مختصاتي كه نشون ميده خيلي اختلاف داره .
اينجا گفتيد X,yرو بايد تقسيم كنم .براي اين سايز LCD تقسيم بر چا عددي كنم؟