PDA

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



h.moradof
10-07-2009, 03:28
سلام
من یه برنامه ارتباط میکرو با پورت سریال نوشتم ولی نمیدونم چجوری باید تو پروتئوس تستش کنم ؟
تو کار با ترمینال مجازیش مشکل دارم (مدار جواب نمیده)
آیا تنظیم خاصی داره یا برنامم غلطه
البته تو سیمولینک خود بسکام جواب میده
ابن هم برنامه:

$regfile = "m32def.dat"
$crystal = 8000000
$baud = 9600
Config Lcdpin = Pin , Db4 = Pinb.1 , Db5 = Pinb.2 , Db6 = Pinb.3 , Db7 = Pinb.4 , Rs = Pinb.6 , E = Pinb.5
Config Lcd = 16 * 2
Cls
Lcd "HELLO"
Dim A As String * 10


Do
Cls
Home
Input "input text then press enter" , A

If A = "1" Then
Lcd "1 SET"
End If
Loop

1nafar
10-07-2009, 08:13
سلام
برنامه شما دوتا مشکل داره :

$regfile = "m32def.dat"
$crystal = 8000000
$baud = 9600
Config Lcdpin = Pin , Db4 = Pinb.1 , Db5 = Pinb.2 , Db6 = Pinb.3 , Db7 = Pinb.4 , Rs = Pinb.6 , E = Pinb.5
Config Lcd = 16 * 2
Cls
Lcd "HELLO"
Wait 2
Dim A As String * 10


Do

Input "input text then press enter" , A

If A = "1" Then
Home
Lcd "1 SET"
End If
Loop
end
توی حلقه do loop از دستور cls استفاده کردید ، یعنی روی lcd عبارت 1 SET نمایش داده میشه و فورا پاک میشه و شما اون رو نمیبینید .
توی فایل پیوست من شماتیک رو هم توی پروتوس طراحی کردم ، کار با ترمنال نیاز به تنظیمات خاصی نداره ، فقط تنظیمات نرخ انتقال داده و... هست که توی کتاب اوزش پروتوس توضیح داده شده :
You can see links before reply
در صورتی که بعد از اجرا شبیه سازی پنجره ترمینال باز نشد بر روی اون راست کلیک کنید و اخرین گزینه ( termina emulator ) رو انتخاب کنید .
موفق باشید .

h.moradof
11-07-2009, 18:07
سلام.ممنون از کمکتون.:heart:;)
کارم درست شد
آخرش مجبور شدم با وی بی بنویسمش (هر چه کردم با دات نت جواب نداد(؟))
توی برنامه بسکامم هم به جای input از inkey استفاده کردم
اگه کسی با دات نت این کارو کرده ، یه کمکی به ما بکنه
1.کسی میدونه که چرا با input جواب نمیده ولی با inkey جواب میده ؟؟؟؟؟؟
2.آیا تو دات نت با دستور
_serialPort.Read() اطلاعات روی پورت سریالو میخونن؟ اگه آره
پس چرا تو دات نت من ارور ازش میگیره؟
3. شنیدم که میشه از تو دات نت از mscomm استفاده کرد . کسی میدونه چجوری میشه کامپوننت mscomm رو تو دات نت اضافه کرد ؟

1nafar
11-07-2009, 21:19
آخرش مجبور شدم با وی بی بنویسمش (هر چه کردم با دات نت جواب نداد(؟))
توی برنامه بسکامم هم به جای input از inkey استفاده کردم
اگه کسی با دات نت این کارو کرده ، یه کمکی به ما بکنه
1.کسی میدونه که چرا با input جواب نمیده ولی با inkey جواب میده ؟؟؟؟؟؟
2.آیا تو دات نت با دستور
کد:
_serialPort.Read()
اطلاعات روی پورت سریالو میخونن؟ اگه آره
پس چرا تو دات نت من ارور ازش میگیره؟
3. شنیدم که میشه از تو دات نت از mscomm استفاده کرد . کسی میدونه چجوری میشه کامپوننت mscomm رو تو دات نت اضافه کرد ؟
من تا حالا با .net کار نکردم ، اما یه مقاله در مورد ارتباط با پروت سریال و vb نوشتم ، توی سایت جستو جو کنید پیداش میکنید ، برای کار با پورت com مفید هست .

h.moradof
14-07-2009, 00:45
سلام. خیلی ممنون از کمکهاتون
شما میدونین که چجوری برنامه وی بی مو exe کنم ؟

1nafar
14-07-2009, 08:37
شما میدونین که چجوری برنامه وی بی مو exe کنم ؟

سلام
هر برنامه نویسی پس از نوشتن برنامه در IDE مخصوص به خودش مثل VB و پس از Debug کردن اون نیاز داره که برنامش تبدیل به یک برنامه مستقل و احتمالاً دارای فایل EXE بشه که با انتقال دادن آن فایل به کامپیوتر دیگران بدون نصب VB عمل کنه.برای اینکار مراحل زیر رو دنبال کنید :

1.VB را باز کنید.
2.پروژه مورد نظرتون رو Open کنید.
3.به منوی Add-ins Manager و سپس Add in manager را باز کنید.
4.روی گزینه Package and Deployment Wizard دویار کلیک کنید تا جلوی آن عبارت Loaded بیاید.
5.پروژه خودتون رو Save کنید.
6.دوباره به منوی Add-ins Manager برین و حالا یک عبارت جدید به لیست اضافه شده (Package and Deployment Wizard ) وارد این ویزارد شوید.
7.گزینه Package رو کلیک کنید کمی صبر کنید.اگر پیغامی ظاهر شد گزینه Compile را بزنید.در اینصورت VB فایل EXE از برنامه تهیه می کند ولی این فایل به تنهایی برای اجرا شدن بر روی Computer هایی که VB ندارند کافی نیست.
8.اگر پیغامی مبنی بر Save پروژه آمد Yes را کلیک کنید.
9.Next
10.Folder ی که می خواهید Package برنامه شما د آنجا ساخته شود را معرفی کنید.
11.Next
12.Next
13.Next
14.Title و یا همان تیتر برای Setup برنامه خود بنویسید.و سپس Next
15.در این مرحله Setup یک Shortcut از برنامه شما در منوی Start می خواهد تهیه کند.مانند خیلی از برنامه ها.ولی یک مشکل دارد و آن این که فایلی را که در منوی Start بعد از Setup می سازد بدون پسوند است در نتیجه Windows آنرا نمیشناسد و Unknown می دهد.برای دفع این مشکل در همان صفحه ای که هستید دکمه Properties رو کلیک کنید و در قسمت Name به انتهای آن پسوند Exe. را اضافه کنید .OK و سپس Next.
16.Next
17.Next
18.Finish
مراحل ساخت Package برای پروژه شما تمام شد.به محلی که ساخته شده بروید و فایل Setup رو اجرا کنید.با این عمل پروژه تان بر روی کامپیوترتون نصب می شود.با انتقال کل این Package به کامپیوتری دیگر می توانید آن را در هر جا نصب کنید
منبع (You can see links before reply)

h.moradof
15-07-2009, 01:24
سلام
خیلی ممنون از کمکهاتون :blush:
میشه بگین که چجوری کامپوننت mscomm که توی وی بی هست رو به دات نت اضافه کنم ؟

شرمنده که اینقده سوال می پرسم
راستی با کمکهای شما و دیگر دوستان آخرش پروژم با وی بی جواب داد.

لطفا درباره کنترل دور موتور dc با pwm هم توضیح بدین؟
ممنون

1nafar
17-07-2009, 08:05
میشه بگین که چجوری کامپوننت mscomm که توی وی بی هست رو به دات نت اضافه کنم ؟
فکر نکنم این کار عملی باشه .

لطفا درباره کنترل دور موتور dc با pwm هم توضیح بدین؟
توی کتاب اموزش avr به زبان بیسیک گفته شده ، یه مقاله هم دوستان گذاشته بودن به نام کنترل موتور ها .... جستوجو کنید میتونید پیداش کنید .
در کل با pwm ما نسبت زمان روشن ، به خاموش بودن موتور رو کنترل میکنیم ، مثلا موتور 20 میلی ثانیه روشن و 5 میلی ثانیه خاموش باشه در این حالت سرعت موتور کمتر از زمانی است که موتور کامل روشن هست .
روش دیگه هم تبدیل pwm به ولتاژ هست که باید اون رو یکسو کرد و بعد تقویت جریان .

benam_miri
09-07-2011, 23:32
فکر نکنم این کار عملی باشه .

توی کتاب اموزش avr به زبان بیسیک گفته شده ، یه مقاله هم دوستان گذاشته بودن به نام کنترل موتور ها .... جستوجو کنید میتونید پیداش کنید .
در کل با pwm ما نسبت زمان روشن ، به خاموش بودن موتور رو کنترل میکنیم ، مثلا موتور 20 میلی ثانیه روشن و 5 میلی ثانیه خاموش باشه در این حالت سرعت موتور کمتر از زمانی است که موتور کامل روشن هست .
روش دیگه هم تبدیل pwm به ولتاژ هست که باید اون رو یکسو کرد و بعد تقویت جریان .
سلام دوست خوب:
دستور input را باید به صورت INPUT A بنویسی نه بیشتر و نه کمتر .اما این دستور تا کاراکتری دریافت نکنه برنامه رو نگه میدارد.اما INKEY کاری به بودن یا نبودن کاراکتر ندارد .اگر بود نمایش میدهد و اگر نبود صفر رو بر میگرداند.توی وی بی به نکته های زیر دقت کن:
توی FORM LOAD() باید تنظیماتت رو به صورت زیر انجام بدی:
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.SThreshold = 1
MSComm1.CTSHolding = 1
MSComm1.InputLen = 1
MSComm1.PortOpen = True
End Sub
برای ارسال به میکرو هم یک COMMAND رو صفحه قرار بده و:
Private Sub Command_Click()
MSComm1.Output = "MAJIDMEHRI2000@YAHOO.COM"
MSComm1.Output = Chr(13)
End Sub
نکته ای که توی هیچ سایتی ندیدم و بعد از یک روز ناقابل یادم اومد این کاراکتر 13 هست که معادل ENTER هست.اگر اینو نذاری هیچی از PC به میکرو ارسال نمیشود .اما اگر به کامیوتر دیگه وصل کنی میاد .:oاین تنظیمات زیر رو هم اگر انجام ندی تو ویبی از میکرو چیزی دریافت نمیکنی:
MSComm1.SThreshold = 1
MSComm1.CTSHolding = 1
MSComm1.InputLen = 1
که توی بالا اینو هم اضافه کردم.
(به ما آموختند پس بیاموزید.)
اگر سوالی بود به من میل بزن
MAJIDMEHRI2000@YAHOO.COM:0013:

jn_1983
09-07-2011, 23:50
سلام دوست خوب:
دستور input را باید به صورت input a بنویسی نه بیشتر و نه کمتر .اما این دستور تا کاراکتری دریافت نکنه برنامه رو نگه میدارد.اما inkey کاری به بودن یا نبودن کاراکتر ندارد .اگر بود نمایش میدهد و اگر نبود صفر رو بر میگرداند.توی وی بی به نکته های زیر دقت کن:
توی form load() باید تنظیماتت رو به صورت زیر انجام بدی:


دوست عزيز فقط خواستم متذكر بشم كه اين پست مال 2 سال پيشه!! فكر كنم اين دوست ما از 2 سال پيش تا الان به جوابش رسيده باشه!نه؟؟

اين پست فقط محض يادآوري بود!!

morteza_rk
15-07-2011, 14:21
سلام

درسته که اصل پست مال دو سال پیشه ، ولی ممکنه بعضی ها الان با همین مشکل مواجه باشن و بیان به این تاپیک نگاه کنن ، اونوقت ممکنه پست این دوست عزیز هم بدردشون بخوره.

تقریبا می تونم بگم حق با هر دو نفرتونه!؟!:0013:

aliramazani
03-09-2014, 23:52
آره چون من هنوز نتونستم با این mscomm لعنتی اطلاعات را بخونم