Fa کنترل usb

hadi1602005

New Member
با سلام خدمت دوستان عزیز
آیا می توان از طریق مالتی مدیا بیلدر یک آرمیچر را از طریق پورت usb کنترل کرد:
مثلا خاموش و روشن کرد و یا دور برگردان زد
لطفا به زبان کاملا ساده توضیح دهید.
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
با خود بیلدر که نمیشه بای دپلاگینش رو داشته باشید که بشه پورت رو کنترل و داده ای رو بهش ارسال کرد

من پلاگینش رو نوشتم برای یکی از دوستان خودم نتونستم تست کنم ولی تستی که ایشون انجام دادن توی دریافت مشکل داره ولی توی ارسال نه

حالا مشکل رفع بشه برای دانلود قرا میدم
 

9up

Active Member
سلام جناب hadi1602005
آقای MahmoodM30 دارن لطف میکنن این پلاگین رو به درخواست بنده مینویسن. من با این پلاگین کار کردم، خوبه، فقط توی دریافت اطلاعات مشکل داره.
انشالله وقتی پلاگین تکمیل شد، من تو قسمت سخت افزار و برنامه نویسی مربوط به اون می تونم کمکتون کنم.
ظاهرا چیزی که شما خواستید، فقط کنترل موتور از طریق MMB هست و هیچ فیدبکی از سخت افزار ندارید. که همین پلاگین نیمه تمام میتونه به شما کمک کنه و کارتون رو راه بندازه.

البته نکته ای رو متذکر شوم به آقای
hadi1602005، که ارتباط با پورت USB به دو صورت CDC و HID می باشد که این پلاگین برای استفاده از CDC_USB می تونه مورد استفاده قرار بگیره یا به زبان روان تر، شما باید با میکروکنترلر یک پورت سریال مجازی بسازید، سپس بعد از نصب درایور مربوط پورت نام برده، با این پلاگین با اون سخت افزار ارتباط برقرار کنین.

با تشکر ویژه از جناب MahmoodM30
 
آخرین ویرایش:

hadi1602005

New Member
بی نهایت از شما متشکرم
اما کار نصب درایور پورت به چه صورت انجام میشه و آیا نیاز به برنامه خاصی داره؟
 

9up

Active Member
نه، نیاز برنامه خاصی نداره.
اگه شما با میکروکنترلر 8051 و یا AVR کار می کنید، حتما نیاز به یک ماژول دارید که بعد از خریداری ماژول درایور مربوطه نیز در یک سی دی قرار دارد.
من با PIC کار می کنم و از میکرو 18F4550 که ماژول داخلی USB داره استفاد می کنم. در محل نصب کامپایلر این میکرو فایل های مربوط به درایور وجود دارد.

طریقه نصب دراور:
بعد از اینکه سخت افزار رو به کامپیوتر متصل کردی، پیغام Found New Hardware میده. یعد میری توی Device Manager و میبینی که یک پورت ساخته شده که علامت زرد رنگ کنارش داره. روش راست کلیک میکنی، Update Driver رو میزنی و سپس آدرس مربوط به فایل درایور رو میدی و نصب میشه و تموم.

تنها بدی CDC_USB همین نصب درایور هست. اما در HID_USB شما اصلا نیازی به نصب درایور نداری و خود ویندوز اونو شناسایی و آماده به کار میکنه که برنامه نویسی سخت افزاری و نرم افزاری مشکل تر و پیچیده تری داره.
 

m javad

کاربر متخصص
تشکر ویژه از محمود عزیز
و تبریک بابت پشتکار خوبی که داره بابت ساخت پلاگینهای جدید و جالب
موفق باشی محمود جان
 

hadi1602005

New Member
با تشکر خدمت دوست عزیزم
اما برنامه رو که اجرا می کنم با کلیک روی گزینه دوم برنامه بسته می شه!!!!!!!!!!!
 

9up

Active Member
این حالت به دو دلیل اتفاق می افته:
1- شماره پورت رو اشتباه وارد کرده باشی و یا اصلا چنین پورتی در کامپیوتر وجود نداشته باشه.
2- پورت در اختیار سخت افزار دیگه ای باشه.
که به احتمال خیلی زیاد مشکل شما همون اولی است که با تصحیح شماره پورت حل میشه.
اسم اون پورت مثلا "COM3" رو توی Set$='COM3' وارد کن.
 

hadi1602005

New Member
با تشکر از دوست بسیار عزیز و دوست داشتنی ام
این برنامه یه خطش کد در خواست موجودی ایرانسل هست.آیا این برنامه الزاما باید به یک گوشی موبایل وصل بشه؟
 

hadi1602005

New Member
در ضمن شماره پورت ها رو از 1 تا 6 امتحان کردم اما باز هم برنامه خارج میشه.:-? مشکل چیه دوست عزیز؟ واقعا این برنامه برام حیاتیه؟ آیا می تونم توسط این برنامه یه آرمیچر ساده رو کنترل کنم؟
 

9up

Active Member
نخیر دوست عزیز
شما بجای کد اعلام اعتبار ایرانسل، هر چیزی میتونید بنویسید. این نوشته به پورت ارسال میشه و فقط با میکرو قابل دریافت و تحلیله!
اما در مورد شماره پورت و کنترل آرمیچر:
تا شما پورت رو نسازید، مطمعنا ارور خواهید گرفت.
کنترل آرمیچر ساده که سهله، میتونید استپ موتور و حتی موتورهای AC و سه فاز رو هم کنترل کنید.
من اطلاع ندارم که شما چقدر به مبحث میکروکنترلر و برنامه نویسی اون اشراف دارید. بنابراین یه توضیح کلی میدم تا مبحث رو روشن کنم.

شما اول سعی کنید با میکروکنترلر همون آرمیچر ساده ای که گفتید رو کنترل کنید. مثلا چپ گرد یا راست گرد یا سرعت اون را با PWM کم و یا زیاد کنید.
مسلما شما برای اعمال داده ها به میکروکنترلر، نیاز به Push Button دارید. یعنی اول توسط کلیدها خواسته های خودتون رو برطرف کنید.
وقتی که نتیجه مطلوبتون رو گرفتید حالا برید سراغ کار با کامپیوتر که اگه نیاز بود در مرحله بعدی توضیح خواهم داد.

در ضمن اگر شما بخاید بدون میکروکنترلر موتور رو راه بندازید می تونید از پورت پرینتر LPT استفاده کنید.

موفق باشید.

 

hadi1602005

New Member
دوست خوبم سلام
راستش من فکر نمی کردم برای کنترل یک ارمیچر(راست گرد_چپ گرد) کارم به میکرو کنترولر برسه.من در زمینه ی میکرو کنترولر هیچ اطلاعاتی ندارم.با پورت پرینتر هم که فکر کنم فقط بشه روشن و خاموش کرد و جهت گردش رو نتونیم القا کنیم اگرهم بشه لپ تاپ من پورت پرینتر نداره آیا پورت های دیگر نظیر hdmi یا پورت شبکه این کارایی رو میتونن داشته باشن؟
 
آخرین ویرایش:

9up

Active Member
به جز پورت LPT که اطلاعات به صورت هشت بیت موازی ارسال و یا دریافت میشه، قریب به اتفاق دیگر پورت ها، اطلاعات رو به صورت سریال رد و بدل می کنند و تنها تفاوت آنها در کد گذاری برای ارسال و دریافت است.
ما در پورت سریال هم از دو پایه RX و TX برای رد و بدل کردن اطلاعات استفاده می کنیم. در پورت USB نیز از دو پایه D+ و D- استفاده میشه و در دیگر پورت هم تقریبا به همین شکل.
اطلاعات روی پورت سریال یه سری صفر و یک هست که با سرعت زیاد پشت سر هم ارسال میشه. شما با این صفر و یک ها میخوای چیکار کنی!؟ اصلا میتونی کاری کنی؟؟
پس یک تراشه ای باید این وسط باشه تا مفهوم این صفر و یک ها رو به شما بفهمونه. شاید تراشه هایی مخصوص این کارها وجود داشته باشه. اما بهترین کار استفاده از میکروکنترلر است.
یه مثال می زنم تا مطلب رو روشن کنم.
در محیط برنامه نویسی کامپیوتر، فرض می کنیم یک دکمه داریم که با زدن اون دکمه حرف L به میکرو فرستاده میشه.
این L یه کد اسکی داره. یعنی همون صفر و یک هایی که قبلا گفتم.
با میکرو هم کد اسکی رو میخونیم.
به این مثال که مربوط به برنامه میکرو میشه توجه کنید
.
Visual Basic Code:

If receive_data = 76 Then
PORTB.0 = 1
PORTB.1 = 0
EndIf
If
receive_data = 82 Then
PORTB.0 = 0
PORTB.1 = 1
EndIf



اون کد 76 یعنی L و 82 هم یعنی R
پس نسبت به کد دریافتی تصمیم گیری می کنیم.
به همین راحتی.
 

جدیدترین ارسال ها

بالا