PDA

View Full Version : روشن و خاموش کردن led از طریق پورت سریال



alasht
سه شنبه 09 اسفند 1390, 22:29 عصر
با سلام خدمت دوستان
من تو اینترنت راجع به این موضوع تحقیق کردم اما مشون از مدارات پیچیده استفاده کرده بودند
من میخوام یه led به پورت سریال وصل کنم و یتونم اون رو خاموش و روشن کنم
قبلا هم یه تاپیک مشابه زده بودم اما به نتیجه دلخواهم نرسیدم
من میخوام با خود امکانات سی شارپ این کار رو انجام بدم و نمیخوام از کامپوننت استفاده کنم
ممنون میشم دوستان یه راهنمایی بفرمایند
میخوام برنامه طوری باشه که مثلا اگر led روشن بود یه پیغام نشون بده که led روشن است و اگر خاموش بود یه پیغام دیگه
پایه های led رو به کدوم pin پورت سریال باید وصل کنم تا بتونم اطلاعات رد و بدل کنم
بعد در serial port سی شارپ یه اونت هست به نام DataReceived این lمتد چطوری اجرا میشه ؟

با تشکر

hi level hdd
سه شنبه 09 اسفند 1390, 23:01 عصر
سلام
اول این که نمیتونید ال ای دی رو مستقیم به ‍پورت سریال وصل کنید چون ولتاژ ‍ورت سریال فکر میکنم 12 یا 24 هستش
اون مدار هم که سرچ کردید مداری هست که با max232 هست که ولتاژ رو به 5 ولت تیدیل میکنه و خودش هم ورودی و خروجی به ‍پورت سریال رو میده.
یعنی یه خروجی که میتونی با سی شار‍پ داده ای رو به پورت انتقال بدید که میتونه رشته باشه یا کاراکتر و یا با مدار یا به صورت دستی داده ای رو از مدار به کامپیوتر بفرستید که در سی شارپ دربارش تصمیم گیری بشه. تو خود سی شارپ هم کامپوننت سریال پورت هستش که میتونید ازش استفاده کنید.

vof.ir
سه شنبه 09 اسفند 1390, 23:13 عصر
سلام
دوست عزیز شما فکر کنم که تاپیک قبلیتان به جاهای خوبی رسیده بود که!!!
چی شد؟
قبلا تاپیک زده بودید؟
آقای Esmail Solhkhah (http://barnamenevis.org/member.php?27551-Esmail-Solhkhah) که راهنمایی کرده بودند
مشکلتان چی هست الان؟

Esmail Solhkhah
چهارشنبه 10 اسفند 1390, 00:22 صبح
قبلا هم یه تاپیک مشابه زده بودم اما به نتیجه دلخواهم نرسیدمتعجب میکنم بنده که تا حد امکان قضیه رو تو همون تاپیک (http://barnamenevis.org/showthread.php?329289-%D8%B1%D9%88%D8%B4%D9%86-%DA%A9%D8%B1%D8%AF%D9%86-led-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-%D9%BE%D9%88%D8%B1%D8%AA-%D8%B3%D8%B1%DB%8C%D8%A7%D9%84) توضیح دادم کار به این سادگی کجاش مشکل داره که شما به نتیجه دلخواه نرسیدید ؟


من میخوام با خود امکانات سی شارپ این کار رو انجام بدم و نمیخوام از کامپوننت استفاده کنمهمون تاپیک serialPort خود VS رو هم توضیح دادم ، دیگه مورد کجاس

بعد از مدیران گلایه میکنید چرا تاپیکها رو حذف میکنن ، آخه دوست عزیز اگه به نتیجه نرسیدی چرا همون تاپیک رو ادامه ندادی و یه تاپیک جدید باز کردی ؟


اول این که نمیتونید ال ای دی رو مستقیم به ‍پورت سریال وصل کنید چون ولتاژ ‍ورت سریال فکر میکنم 12 یا 24 هستشمقاومت سر مسیر واسه همین کار هست که ولتاز نامتعارف پورت سریال رو محدود کنه.


اون مدار هم که سرچ کردید مداری هست که با max232 هست که ولتاژ رو به 5 ولت تیدیل میکنه و خودش هم ورودی و خروجی به ‍پورت سریال رو میده.زمانی از MAX232 یا همخانواده هاش استفاده میکنیم که معمولا قصد داشته باشیم با دیتای سریال پورت کار کنیم و ولتاز نامتعارف پورت رو به سطح TTL برسونیم تا بتونیم با مدارات

واسط تو این سطح کار کنیم، در حالی که مورد دوستمون با یه بیت حل میشه و نیاز به کار با دیتای سریال نداره.


پایه های led رو به کدوم pin پورت سریال باید وصل کنم تا بتونم اطلاعات رد و بدل کنمشما میخاید با پورت LED رو روشن کنید (این میشه خروجی از پورت) یا به پورت ورودی بدید ، اگه هدف ورودی دادن هست LED واسه چیه ؟

alasht
چهارشنبه 10 اسفند 1390, 14:51 عصر
سلام
بله حق با شماست و اون تاپیک به نتیجه خوبی رسید
الان اینجا مشکلم چیز دیگست
شاید بد توضیح دادم
الان من میخوام با استفاده از serialport خود سی شارپ نه با استفاده از کامپوننت دیگه بتونم این کار رو انجام بدم
الان تو اونت DataReceived فرض کنید یه کد نوشتم
من تو یه جا خوندم به محض اینکه سیستم اطلاعاتی از طریق پورت سریال دریافت کنه کدهای داخل این اونت اجرا میشه
اما من نتونستم این کار بکنم
در واقع هر چی سیمها رو جا به جا میکنم اطلاعاتی ارسال نمیشه به سیستم
میخوام به عنوان مثال یه مدار ببندم که وقتی led روشن شد به سیستمم یه چیزی فرستاده بشه که برنامه بتونه اونو دریافت کنه و اونت DataReceived اجرا بشه
الان من دقیقا باید چیکار کنم ؟
بازم عذر خواهی میکنم از دوستان ولی من قصد نداشتم تاپیک تکراری بزنم فقط چون فکر کردم یخورده با اون موضوع تفاوت داره یه تاپیک جدید زدم
با تشکر

Esmail Solhkhah
چهارشنبه 10 اسفند 1390, 16:16 عصر
من تو یه جا خوندم به محض اینکه سیستم اطلاعاتی از طریق پورت سریال دریافت کنه کدهای داخل این اونت اجرا میشه
اما من نتونستم این کار بکنمبله این به شرطی هست که شما بخاید دیتا رو از پورت بخونید نه از پین DTR

برای خوندن دیتا از پورت اولا مطمئن بشید که پورت رو درست انتخاب کردید مثلا COM1 بعد باید پارامترهای پورت رو ست کنید منجمله BaudRate و DataBits و StopBits و Parity بعد

بررسی کنید اگه پورت Open نبود اونو Open کنید اونوقته که میتونید از ایونت DataReceived پورت استفاده کنید ، تازه با این شرط که دیتا از یه دیوایس بیاد که با RS232 سازگار باشه ولی

شما دارید بصورت بیتی کار میکنید و مطابق مباحث تاپیک هدف شما خوندن و نوشتن یه بیت هست


در واقع هر چی سیمها رو جا به جا میکنم اطلاعاتی ارسال نمیشه به سیستمسیمها رو جابجا میکنید ؟ اگه ممکنه مدارتون رو بذارید.

alasht
چهارشنبه 10 اسفند 1390, 17:13 عصر
سلام
بفرمایید اینم مدار من
البته نمیشه بهش مدار گفت یه 4 تا سیمه وصل کردم بهم دیگه !!!!
جزییاتشم رو عکس نوشتم
حالا باید چیکار کنم که بتونم از این مدار اطلاعات دریافت کنم ؟

83490

alasht
چهارشنبه 10 اسفند 1390, 21:06 عصر
آقای صلح خواه عکس مدار رو گذاشتم میشه راهنمایی بفرمایید
با تشکر

Esmail Solhkhah
چهارشنبه 10 اسفند 1390, 23:46 عصر
موارد:

تغذیه IC برقرار نیست

جفت ورودیهای AND تو یه سطحه

پین اوتهای پورت درست نیست

مهمتر اینکه 7408 سطح ولتاژش با RS232 نمیخونه ، هر چند تو این عکس بنده ندیدم تغذیه شده باشه

دوست عزیز نقشه شماتیک بذارید نه عکس از مدار.

alasht
پنج شنبه 11 اسفند 1390, 09:17 صبح
ممنون از شما
من اینو همینطوری درست کردم
شما نقشه ای دارید که بدرد من بخوره ؟
اگه بتونید نقشش رو به من بدید عالی میشه
با تشکر

Salar Ashgi
پنج شنبه 11 اسفند 1390, 11:49 صبح
کاربر alasht ، لطفا ادامه بحث تون رو تو همون تاپیک قبلی (http://barnamenevis.org/showthread.php?329289-%D8%B1%D9%88%D8%B4%D9%86-%DA%A9%D8%B1%D8%AF%D9%86-led-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-%D9%BE%D9%88%D8%B1%D8%AA-%D8%B3%D8%B1%DB%8C%D8%A7%D9%84) مطرح کنید .
و از ایجاد تاپیک های تکراری با موضوع یکسان خودداری کنید ./

* تاپیک قفل می شود *