رفتن به مطلب

کنترل وسایل برقی توسط کامپیوتر


ارسال های توصیه شده

 

 

 

سلام دوستان

تا حالا فکرشو کردید که اگه چراغهای خونتونو با کامپیوتر خاموش و روشن کنید چه جالب میشه.

با توجه به اینکه خودم قبلا این مشکل رو داشتم و خیلی از دوستان هم ممکنه بخوان این کار رو انجام بدن به فکر این افتادم که این مقاله رو بنویسم و واسه دوستان نحوه کار رو توضیح بدم.

 

خب واسه انجام این کار، پروژه مون رو به دو قسمت تقسیم بندی میکنیم:

1-سخت افزار

2-نرم افزار

 

نه نه ! نترس سخت افزارش خیلی سادست .

 

ابتدا باید یه برد رو که شماتیک(نقشه) اون در زیر هست رو طراحی کنیم.

uln2803circuit.gif

خب.ساختن این مدار خیلی سادست

میبینید که مدارمون از یک آی سی ULN 2803 (تعداد 8 عدد ترانزیستور NPN جا سازی شده در یک آی سی)، 8 تا مقاومت 390 اهم،دیود زنر و 8 عدد LED تشکیل شده که بعد از اینکه مدار رو چک کردیم به جای 8 تا LED از 8 تا رله مناسب استفاده میکنیم.

خب این میشه سخت افزار پروژمون،دیدی که چقدر ساده بود.

اما این مدار باید از یه جایی به کامپیوتر وصل بشه دیگه !

برای این منظور ما از سوکت پارالل 25 پین استفاده میکنیم.

اما طریقه وصل کردن مدارمون به پارالل پورت در زیر نشون داده شده.

clip_image001.gif

اگه توجه کرده باشید میبینین که سمت چپ مدارمون تعداد 8 تا پین جا گذاشتیم که وصل بشه به یه جایی.در شکل بالا میبینید که پایه های 9 تا 2 به پین های 1 تا 8 در مدار بالا وصل میشه

 

از پایه 18 تا 25 هم به هم وصل میشه و همه به زمین یعنی منفی وصل میشن

باقی پین ها هم کاری نداریم

این هم از طریقه اتصال پارالل پورت به مدارمون !

در آخر هم در مکانهایی که تعیین شده ولتاژ 9 ولت وصل میکنیم که مدارمون تغذیه بشه

 

حالا میریم سراغ نرم افزار:

 

پورت پارالل همزمان قابلیت ارسال 8 بیت رو داره

میدونید که 8 بیت میشه یک بایت

 

حالا یه مثال عملی از کارمون میزنم

با این مداری که ساختیم و با پورت پارالل میتونیم 8 تا وسیله رو کنترل کنیم.

حالا شما فرض کنید میخواین وسیله اول و هشتم روشن بشن و بقیه خاموش باشن

پس باید پین اول و هشتم رو 1 و بقیه رو که میخوایم خاموش باشن 0 کنیم

اینطوری میشه: 10000001

یا مثلا میخوایم وسیله دوم ،سوم و هفتم روشن باشن و بقیه خاموش عدد باینری اینطوری میشه

01100010

 

حالا باید این عدد رو به پورت پارالل بفرستیم.

اما قبل از این کار باید یه تغییراتی در عدد ایجاد کنیم و اونو از مبنای 2(باینری) به مبنای 10(دسیمال)ببریم.

بعد از اینکه این تغییر رو انجام دادیم باید عدد دسیمال ایجاد شده رو به پورت بفرستیم.

نحوه تبدیل باینری به دسیمال در پروژه ضمیمه قرار داده شده.

 

اما چطور این عدد رو به پورت بفرستیم .

کاری نداره !

برای این منظور میایم از اکتیو ایکس یا دی ال ال های آماده استفاده میکنیم که من در پروژه از اکتیو ایکس hwinterface استفاده کردم

کار باهاش خیلی راحته :

اگر اسم اکتیو ایکس که تو فرم گذاشتم Po1 باشه

با این کد عدد دسیمال به پورت فرستاده میشه

کد:

Po1.OutPort &H378, 255

&378 همیشه ثابته و نیازی به تغییر نداره

255 هم عدد دسیمالیه که تبدیلش کردیم

 

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

تموم شد.

 

دریافت فایل سلس برنامه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه
  • 4 ماه بعد...

سلام.ممنون ازپروژه جالبتون!ولی پورت پارالل دیگه بعنوان پورت استاندارددربسیاری ازلپ تاپ و..استفاده نمیشه!!ازسریال rs232استفاده میکنیم!یاusb,بعدازتعطیلات باکمک هم پروژه های جالب وساده اپلودوازکارگام میگیرم,تقدیم علاقه مندان ب هوشمندسازی منازل میکنم.یاحق

لینک به دیدگاه
سلام.ممنون ازپروژه جالبتون!ولی پورت پارالل دیگه بعنوان پورت استاندارددربسیاری ازلپ تاپ و..استفاده نمیشه!!ازسریال rs232استفاده میکنیم!یاusb,بعدازتعطیلات باکمک هم پروژه های جالب وساده اپلودوازکارگام میگیرم,تقدیم علاقه مندان ب هوشمندسازی منازل میکنم.یاحق

 

سلام دوست من...

 

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

 

:a030:

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...