PDA

View Full Version : سوال: کار با پرت com



parsajey
سه شنبه 08 مرداد 1387, 23:19 عصر
سلام به تمام اساتید برنامه نویس
راستش من یه برنامه می خوام بنویسم با VB و با استفاده از رله 5-220 که یک لامپ رو روشن و خاموش کنم
می خواستم بپرسم که چه جوری می تونم با vb با com ارتباط بر قرار کنم و چه سخت افزاری لازم هست تا بتونم با اون این لامپ رو روشن و خاموش کنم

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

vahid_d_0101
چهارشنبه 09 مرداد 1387, 12:35 عصر
شما با استفاده از یه میکرو کنترلر pic و ocx اماده خود وی بی راحت میتونید این کارو انجام بدید.

parsajey
چهارشنبه 09 مرداد 1387, 14:03 عصر
شما با استفاده از یه میکرو کنترلر pic و ocx اماده خود وی بی راحت میتونید این کارو انجام بدید.


سلام دوست عزیز ممنون از توجه شما به این بحث

می دونم میشه با- ocx - Microsft comm Control این کار رو کرد و باید از یک میکرو کنترلر PIC یا AVR برای این کار استفاده کنم ولی من مثل شما تو این زمینه وارد نیستم نمی دونم باید چی کار کنم

ممنون :خجالت:

vahid_d_0101
چهارشنبه 09 مرداد 1387, 14:11 عصر
خوب ببینید اول باید یکی از پورت های سریال را با دستور
MSComm1.CommPort =x انتخاب کنید که x پورت مورد نظرتون است ( معمولا در کامپیوتر های معمولی یک یا دو پورت وجود داره )
حالا باید پورت مورد نظر را باز کنید
MSComm1.PortOpen = True
حالا باید تنضیمات پورت را انجام بدید که این تنضیمات براش خوبه:
MSComm1.Settings = "2400,n,8,1"
خوب تو این مرحله هم باید دستورات را ارسال کنید که برای ارسال دستورات از
MSComm1.Output = "T"
و برای دریافت اطلاعات از
MSComm1.Input
استفاده کنید
برای دستورات میکرو هم میتونید دستورات ارسال و دریافت اطلاعات سریال را انتخاب کنید و بگید اگر مثلا عدد ورودی 7 بود یک رله را فعال کنه که خیلی راحت هست.
بازم اگر توضیح بد دادم بگید تا خود سورس برنامه را این جا قرار بدم

vahid_d_0101
چهارشنبه 09 مرداد 1387, 15:26 عصر
در ضمن برای این که اطلاعات به خوبی برای میکرو ارسال بشه باید از یه max232 استفاده کنید که میتونید با یه سرچ مدار اونو پیدا کنید

parsajey
چهارشنبه 09 مرداد 1387, 15:28 عصر
خوب ببینید اول باید یکی از پورت های سریال را با دستور
MSComm1.CommPort =x انتخاب کنید که x پورت مورد نظرتون است ( معمولا در کامپیوتر های معمولی یک یا دو پورت وجود داره )
-------------------------------------

دوست عزیز ممنون که به پستها توجه می کنی و دانشت رو در اختیار همه میزاری:تشویق:

خوب تا اینجای فرمایشات شما من باید بتونم

1. پرت رو باز کنم
2. با -output- و input اطلاعات را به پرت بفرستم و از اون بگیرم
--
خوب چند سوال پیش میاد

1. آیا ارسال اطلاعات به پرت قالب خاصی داره یا می شه هر کاراکتری رو به پرت فرستاد
2. چه جوری می تونم میکرو کنترلر رو Program کنم و بهش بگم که برای مثال اگر( به قول شما ) 7 رو دریافت کردی رله ی 1 رو فعال کن
:لبخندساده:

ممنون

vbhamed
چهارشنبه 09 مرداد 1387, 19:08 عصر
سلام
پورت سريال رو نمي دونم
اما اگر با پورت موازي كار كنيد نياز به ميكروكنترلر هم نيست
يك ترانزيستور تقويت كننده و بعدش هم رله
8 تا هم خروجي بهت مي ده
فقط اينكه بهتر هست ورودي base ترانزيستور مستقيم به پورت وصل نشه و از يك آي سي بافر مثل آي سي معروف LS 244 استفاده بشه

parsajey
چهارشنبه 09 مرداد 1387, 20:30 عصر
سلام
پورت سريال رو نمي دونم
اما اگر با پورت موازي كار كنيد نياز به ميكروكنترلر هم نيست
يك ترانزيستور تقويت كننده و بعدش هم رله
8 تا هم خروجي بهت مي ده
فقط اينكه بهتر هست ورودي base ترانزيستور مستقيم به پورت وصل نشه و از يك آي سي بافر مثل آي سي معروف LS 244 استفاده بشه


ممنون دوست عزیز

اوایل کارم می خواستم از پرت های موازی ( LPT ) استفاده کنم ولی به دلیل قدیمی شدن این پرت کم کم داره از روی PC های جدید حذف میشه و به همین دلیل هم تصمیم به استفاده از پرت های سریال ( COM ) گرفتم

vahid_d_0101
پنج شنبه 10 مرداد 1387, 00:11 صبح
اولا شما میتونید هر کاراکتری را ارسال کنید
ولی شما برای این که بتونید راحت اطلاعات را دریافت کنید باید این کار را بکنید


Chr (7)

که این کد را جلوی ارسال mscomm1.output= مینویسید بعد یه ای سی max232 را به پورت سریال میزنید و خروجی اونو به میکرو وصل میکیند
برنامه میکرو هم باید این جوری باشه (pic)
b1 var byte
start:
serin portb.1,2400,b1
if b1 = 7 then loop
goto start
loop:
high portb.2
end

که در این برنامه اول اطلاعات را از پورت b.1 دریافت میکنه و بعد چک میکنه اگر مساوی 7 بود به برچپسب میره که در اونجا پورت b.2 پنچ ولت یا 1 میشه که میتونید به یه رله متصل کنید.

parsajey
پنج شنبه 10 مرداد 1387, 02:00 صبح
اولا شما میتونید هر کاراکتری را ارسال کنید
ولی شما برای این که بتونید راحت اطلاعات را دریافت کنید باید این کار را بکنید
--------------------------------.

سلام
ممنون از توضیح خوبتون

یه سوال : من برنامه ی میکرو کنترلر PIC رو کجا بنویسم ( ببخشید تازه کاریم )

DarkSoroush
پنج شنبه 10 مرداد 1387, 02:45 صبح
البته کار با میکرو خیلی استاندارد تره و شخصا هم این موضوع رو پیشنهاد میکنم ولی میتونید به طور مستقیم هم از اتصالات پرت سریال هم استفاده کنید اگر نمیخواهید زیاد هزینه کنید و فقط به چند خروجی نیاز دارید (4 تا فکر کنم یا 3 تا)

vahid_d_0101
پنج شنبه 10 مرداد 1387, 22:31 عصر
برنامه اونو باید تو Micro Code Studio بنویسید که بعد از کامپایل شدن اونو با برنامه ICPROG روی ای سی میریزید

parsajey
جمعه 11 مرداد 1387, 00:19 صبح
سلام
ممنون از توجه شما به این بحث

من معادل این برنامه رو با زبان بیسیک برای میکروکنترلر AVR --ATMEGA8 ( معمولی ) نوشتم
باز هم چند سوال
1. خوب آیا پین ها در تمام میکرو ها دارای اسم خاصی است ؟ برای مثال کد


Config Porta.2=Output
Porta.2=&B0111011

پین خروجی در میکرو ی من که کد باینری روش نوشته میشه کدام است ( برای اتصال به رله )؟
2. آیا برای برنامه نویسی رو میکروی من Programer خاصی وجود داره یا نه ( من این Programmer رو از کجا می تونم جور کنم )

ممنون

vahid_d_0101
جمعه 11 مرداد 1387, 01:10 صبح
بله شما می تونید با پورت lpt هم ای سی پروگرامر کنید فقط چون از این جا به بعد ربطی به برنامه نویسی vb نداره من ادرس یه تاپیک رو میدم که میتونید اونجا سوالات راجع به avr را اونجا بپرسید.
http://www.eca.ir/forum2/index.php?board=161.0