View Full Version : سوال: درخواست کنترل دو موتور با پورت پارالل با زبان C
jahromy
جمعه 16 اسفند 1387, 03:13 صبح
با سلام
من نیاز به یک برنامه به زبان ویژوال سی یا ++ دارم که صفحه کلید کامپیوتر را به پورت پرینتر ربط بدم
چون در پورت پارالل از پایه های 2 - 9 می توان مقدار 0 و 1 دیجیتال گرفت لازم دارم که بصورت زیر کلیدهای ذکر شده را تک تک به پایه ها مرتبط کنم.
از کلیدهای جهت نما برای پین های 2,3,4 یعنی با فشردن :
بترتیب پین های 2,3,4
اگر کلید forward فشرده شود -->
1 = 2 , 1 = 3 , 1 = 4
اگر کلید backward فشرده شود -->
1 = 2 , 1 = 3 , 0 = 4
اگر کلید Right + forward فشرده شود -->
1 = 2 , 0 = 3 , 1 = 4
اگر کلید left + forward فشرده شود -->
0 = 2 , 1 = 3 , 1 = 4
اگر کلید Right + backward فشرده شود -->
1 = 2 , 0 = 3 , 0 = 4
اگر کلید left + backward فشرده شود -->
0 = 2 , 1 = 3 , 0 = 4
در صورتیکه هیچ کلیدی فشرده نشود مقادیر نسبت داده شده به پین ها برابر 0 شود
در واقع من می خواهم یک ماشین که دارای 2 موتور هست را به سمت های جلو،عقب،چپ و راست از طریق اتصال به پورت پارالل هدایت کنم (همان کاری که در بازیهای کامپیوتری توسط کلیدهای جهت نمای کیبورد انجام میدیم را در حالت فیزیکی انجام دهم)
_ من از موتور DC معمولی بهره میبرم که فقط نیاز به اتصال یک سیم دارد.
در ادامه -->
اگر کلید ENTER فشرده شود -->
1 = 5
اگر کلید Space Bar فشرده شود -->
1 = 6
اگر کلید Tab فشرده شود -->
1 = 7
و با هربار فشردن کلیدها مقدار معکوس مقدار نسبت داده شده قبلی خود شود
-----------------
اگر از ادرس (مثلا: 375#) مقدرا 1 دریافت شود -->
1 = 8
ولی اگر مقدار 0 از ادرس (مثلا: 375#) دریافت شود -->
0 = 8
++++++++++++
اگر مقدار 1 از ادرس (مثلا: 376#) دریافت شود -->
1 = 9
ولی اگر مقدار 0 از ادرس (مثلا: 376#) دریافت شود -->
0 = 9
-----------------
در هر زمان هر کدام از کلیدها که فشرده شود برنامه مربوط به آن کلید اجرا شود.
با تشکر فراوان
SamaPic
جمعه 16 اسفند 1387, 10:26 صبح
با سلام خدمت دوست عزيز.
اگر شما بخواهيد يك صفحه كليد حدود 200 كليد بسازيد من مي توانم شما را راهنمايي كنم.
شما اول بايد بدانيد كه صفحه كليد چگونه كار مي كند و تا به اساس محاسبات آن برسيد.
در واقع صفحه كليد مانند پورت هاي سانترال (Iec) كار مي كند كه در تلفن ها به كار مي رود كه باعث ايجاد ارتباط ميان شما و مخاطب شما از طريق خط تلفن مي شود و مانع از تداخل دو خط با هم مي شود. (جمله بندي خراب)
به هر حال اگر مشكل شما اين است بگوييد تا به شما كمك كنم.
البته فكر مي كنم اگر شما خواسته باشيد تا به طريقه ي كار صفحه كليد آشنا شويد بهتر مطلب خود را در بخش زير مطرح كنيد تا بهتر پاسخ دريافت كنيد زيرا افراد موجود در اين انجمن بيشتر از افراد انجمن فعلي بصورت عملي با سخت افزار كار كرده اند.
http://barnamenevis.org/forum/forumdisplay.php?f=119
خدانگهدار.
jahromy
جمعه 16 اسفند 1387, 11:58 صبح
ببینید من قصد دارم یک ماشین که دارای 2 موتور DC ساده هست را با صفحه کلید به واسطه کامپیوتر از پورت پارالل کنترل کنم برای همین از کلیدهای جهت نما برای کنترل در سمت های مختلف
و از کلیدهای دیگر هم برای خواندن از ورودی و گرفتن خروجی از پورت پارالل به همان صورتیکه در تاپیک اول گفتم استفاده کنم
SamaPic
جمعه 16 اسفند 1387, 21:55 عصر
با سلام خدمت دوست عزيز.
شما در صورتي كه قرار باشد از صفحه كليد كامپيوتر براي مقصود خود استفاده كنيد كار سختي در پيش داريد ، ولي اگر قرار باشد در خود صفحه كليد را طراحي كنيد كار در پيش روي شما بسيار ساده است.
البته ساخت و طراحي برد شايد سخت باشد.
دوست من شما بايد يك صفحه كليد بوسيله ي يك آي سي AVR تهيه كنيد.
مبناي فشرده شدن كليد ها را مقاوت مدار در نظر بگيريد و به فراخور نياز كليد بگذاريد.
اين يك راه.اگر باز هم مشكلي داشتيد سوال كنيد.
يك سوال : با كد ويژهن مي نو يسيد ؟
خدانگهدار.
jahromy
شنبه 17 اسفند 1387, 00:27 صبح
1) ببینید برای من فرق نداره که با کدام ابزار برنامه نویسی زیرمجموعه ویژوال استودیو 2005 برنامه نوشته شود فقط همانطوری که در تاپیک های من خواندید نوشتن برنامه بطوریکه کلید فشرده شده مربوطه از صفحه کلید کامپیوتر یا ورودی داده شده توسط یک سنسور به پورت پارالل را شناسایی کرده و شرط یا دستور مرتبط با آن را روی خروجی (همان پایه های 2 - 9) پورت پرینتر اجرا کنه چون من برای کنترل این ماشین می خواهم از پورت پرینتر به کمک برنامه نوشته و اجرا شده روی کامپیوتر کنترل کنم
2) از لحاظ الکترونیک کار مشکلی ندارم
3) این وسط از AVR نمی خواهم استفاده نمیکنم و فقط کنترل توسط کامپیوتر مهمه.
4) برای اینکار فکر می کنید کدام زبان مناسبتره؟
SamaPic
شنبه 17 اسفند 1387, 17:28 عصر
با سلام خدمت دوست عزيز.
اين كار كه شما مي خواهيد بسيار سخت است و مشكل مي توان اجرا كرد.
من فكر كردم شما مي خواهيد با آي سي كار كنيد .
اگر كسي بتواند به شما جواب دهد (البته از بين افرادي كه من مي شناسم.) وي كسي نيست جز دوست خوبم kernel (http://barnamenevis.org/forum/member.php?u=63671) است.
چيزي كه شما مي خواهيد ارتباط مستقيم با سخت افزار و از آن طريق ارتباط با نرم افزار .
شما مي خواهيد كامپيوتر را به عنوان يك واسط تعيين كنيد .
البته خيلي هم مشكل نيست و من هم نگاهي مي كنم ببينم اگر توانستم براي شما از موارد جمع كرده از كتاب ها و اينترنت پيدا كردم برايتان بگذارم.
اگر خواستي بگو تا آدرس وبلاگش را برايت بفرستم.
البته به اين زودي ها جواب نخواهد داد چون مشغول ساخت و تكميل ربات انسان نما ي خود است.
شرمنده نتوانستم كمك كنم.وقتت را هم گرفتم.(فكر كردم در برنامه آي سي مانده ايد.)
براي كدام ربات مي خواهي ؟ (براي ربات تشخيص الگو):متعجب::متفکر:
خدانگهدار.
jahromy
چهارشنبه 21 اسفند 1387, 10:22 صبح
من فقط می خوام کنترل یک ماشین (فرضا همون ماشین اسباب بازیها) رو که دارای 2 موتور چپ و راست هست توسط کامپیوتر کنترل کنم تا بتوانم به جهت های مختلف حرکتش بدم
البته چنتا خروجی دیگه ای که در تاپیک اول خواسته بودم هم برای کارهای دیگه است
اگر در این زمینه مطلب یا آدرسی سراغ دارید همینجا قرار بدبد ممنون میشم
jahromy
شنبه 15 فروردین 1388, 16:27 عصر
اول اينكه سال نو شما مبارك
2) من هنوز منتظر پاسخ شماهستم
اگر نحوه نوشتن و اجراي دستورات، حلقه ها ، معرفي توابع ، شرط ها و خلاصه چيزهايي كه براي اينكار من لازم دارم بيان فرماييد تا حدي كه بتوانم شخصا برنامه را بنويسم ممنون ميشم.
SamaPic
دوشنبه 24 فروردین 1388, 20:04 عصر
با سلام خدمت دوست عزیز.
اولا اگر قرار باشه این سوال جوابی داشته باشه باید در بخش سی مطرح بشه.چون ویندوز به شما امکان دسترسی به پورت ها را که چه عرض کنم به خود وسایل جانبی هم نمی دهد.
دوما کار شما خیلی مشکل.
من باز هم به شما می گویم که این کار تقریبا مانند رسیدن به قله ی کوه اورست است.انجام شدنی است ولی خیلی سخت.
شما باید قبل از فهمیدن توابع بدانی که چگونه به پورت و کدام پورت دست پیدا کنی.
بهترین این پورت ها پورت های PCI است.و برای کار شما هم بهترین از این میان آن است که نزدیک به منبع تغذیه ی موجود روی مادربورد است.شما تا اینجا را انجام بدهید بعد به سراغ ادامه ی کار بروید.
دوست من ولی کم یک پیشنهاد دارم:
انجام چنین کارهایی خیلی مناسب نیست .چون در نهایت آن چیزی را که خود انسان نیاز دارد و می خواهد نمی شود.
تجربه:
من خودم کتاب برنامه نویسی سیستم های PC را که چیزی حدود 400 صفحه است خواندم.ولی حالا که به اینجا رسیدم می بینم که واقعا این موارد خیلی کم پیش می آید.الان از مدتی که من آن را خواندم تا الان فقط این کتاب به کار شما می آید. این کتاب خوب است.اطلاعات شما را از سخت افزار کامپیوتر چند برابر می کند و وقتی استاد سر کلاس مطلبی را بیان می کند شما بتر متوجه می شوید ولی می شد با خواندن یک کتاب 100 صفحه ای .... .
بنابراین من اصلا این را به شما پیشنهاد نمی کنم.
خدانگهدار.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.