آموزش ارتباط با سخت افزار
ارتباط بین نرم افزار و سخت افزار یکی از کارهای بسیار دوست داشتی و پر کاربرد در صنعت امروز دنیاست. ولی این کار از یک مهندس نرم افزار یا یک مهندس سخت افزار و الکترونیک به تنهایی ساخته نیست بلکه مجموعه ای از هر دو تخصص رو طلب میکنه. ولی این مطلب فقط در مورد کار های صنعتی و بزرگ صدق میکنه نه درباره کارهای کوچیک و تجربه های شخصی (البته همین کارهای کوچیک هستن که پایه گذار یک تخصص میشن). پس تکلیف کسانی که دوست دارن تو خونه برای تجربه خودشون یه برنامه جمع و جور بنویسن چی میشه. باید چی کار کنن؟
سوالات زیر تیتر خیلی از تاپیک هایی هست که تو این چند سالی که سایت داره فعالیت میکنه زده شدن.
چطوری میشه با کامپیوتر یک LED رو روشن کرد؟
کنترل سخت افزار به کمک کامپیوتر
چگونگی برقراری ارتباط بین کامپیوتر و دستگاه های جانبی
بعضی ها به نتیجه رسیده و بعضی ها هم نه بعضی هم از نظر نرم افزار به نیجه رسیده ولی به خاطر عدم آشنایی کامل با پورت و سخت افزار باعث صدمه دیدن پورت یا دستگاه جانبی شده.
مطالب بالا دلیل این بود که من به این نتیجه برسم که شاید بد نباشه یه بخش آموزش ارتباط با سخت افزار هر چند مختصر تو سایت داشته باشیم.
میدونم مطالب کامل نیست و خیلی جاها شاید مشکل داره ولی این بخش حاصل تجربیات شخصی خود من هست و سعی میکنم در حد امکان و توانایی خودم مطالب مهم تو برنامه نویسی، ساخت بخش سخت افزاری و نکات مهم پورتی که برای اون برنامه مینویسیم رو در اختیار دوستان قرار بدم امیدوارم دوستان و اساتید مشکلات و کمبود های کار بنده رو به من تذکر بدن.
یه خواهشی هم دارم اینه که اگر درباره هرکدوم از برنامه ها یا مدارات سوالی داشتید به من پیغام خصوصی بدید تا جواب اون رو در بخش پرسش و پاسخ مربوط به همون برنامه قرار بدم و این طوری از به هم ریختگی تاپیک جلوگیری بشه و دوستان هم راحت تر از مطالب استفاده کنن.
برای شروع و انجام این برنامه ها به امکانات زیر نیاز داریم
1- کامپیوتر شخصی
2- کامپایلر C++ (خودم از borland استفاده میکنم ولی برنامه ها محدودیتی تو کامپایلر ندارن)
3-PortTalk
4- تعدادی مقاومت
5- منبع تغذیه 5 ولتی یا باطری
موارد ذکر شده قسمت های اصلی و مورد نیاز بود ولی برای ادامه پروژه ها یک سری امکانات دیگه هم هست که برای راحتی کار و بعضی جاها محافظت از خودتون و کامپیوتر نیاز دارید ولی بدون اون ها هم میشه کار رو انجام داد. یک سری امکانات هم هست که برای دیدن نتایج کار لازم و ضروری هست ولی نه برای کل پروژه ها بلکه برای یک یا چند پروژه خاص که اون ها رو هم در زیر نوشتم:
1- کابل پرینتر
2- بردبورد
3- مقداری سیم نازک
4- ترانزیستور
5- گیره سوسماری
مواردی که برای تست برنامه نیاز داریم:
1- LED
2- LCD
3- StepMotor
متشکرم.
موفق باشید.
نقل قول: آموزش ارتباط با سخت افزار
با سلام
مي شه توضيح بديد در C++ به وسيله پورت USB چطور با يه پرينتر مي شه ارتباط برقرار كرد و مثلاْ وضعيت اون رو خوند؟يا بهش رشته رو براي چاپ فرستاد؟
اصلاْ اين كار شدني هست؟راحته يا سخته؟
نقل قول: آموزش ارتباط با سخت افزار
پیشنهاد میکنم به بچها که برای کار با سخت افزار اول برن میکرو کنترلر یاد بگیرن .
میکرو کنترلر یه ای سی کوچیکه که پایه های اونو به صورت 8 تایی به اسم پورت می شناسیم
میکرو داخل خودش یک پروسسور و چند نوع حافظه مختلف داره که شما می تونین برنامتون رو به زبان های
پاسکال - C و بیسیک بنویسید و بعد از کامپایل داخل میکرو کپی کنید و بعد با اتصال میکرو به کامپیوتر می تونین با فرمان هایی که خودتون براش تعریف کردین وسائل مختلف رو باهاش کنترل کنین .
البته میکرو حتما نیازی به کامپیوتر نداره و خودش هم میتونه کلی کارا رو انجام بده.
در مورد پورتها هم باید بگم بین سریال و پارالل ، سریال برای کار بهتره چون خطر اسیب رسوندن به مادربورد کمتر میشه ولی در کل هردوی اینها دیگه قدیمی شدن و تو مادربورد های جدید اثری ازشون نیست پس بهتره برای ارتباط با سخت افزارهایی که خودمون میسازیم از USB استفاده کنیم که کلی برتری نسبت به هردو پورت قبلی داره .
من تا بحال 9 تا روبوت ساختم که 7 تا از اونا با میکرو کنترل می شد ( به تنهایی ).
تو روبات 8 چون از تکنیک های پردازش تصویر استفاده کردم یک ارتباط با کامپیوتر هم به صورت wireless درست کردم که به پورت سریال متصل می شد.
تو روبات آخری هم که ساختم از پورت USB برای اتصال به کامپیوتر استفاده کردم در ضمن این آخریه قابلیت اتصال و کنترل از طریق اینترنت هم داره
اگه چیز دیگه ای برای سوال دارین من با اطلاعات اندک خود میتونم راهنمایی تون بکنم
نقل قول: آموزش ارتباط با سخت افزار
نقل قول:
نوشته شده توسط
rabbitwatcher
با سلام
مي شه توضيح بديد در C++ به وسيله پورت USB چطور با يه پرينتر مي شه ارتباط برقرار كرد و مثلاْ وضعيت اون رو خوند؟يا بهش رشته رو براي چاپ فرستاد؟
اصلاْ اين كار شدني هست؟راحته يا سخته؟
در مورد سوال شما باید بگم ارتباط با سخت افزار با ارتباط با پرینتر تفاوت داره ، چون هر سخت افزاری که میسازیم طبق نیاز و نوع طراحی خودمون درایورش رو می سازیم و با اون ارتباط بر قرار می کنیم و این یک مسئاله شخصی برای خودمان است ، اما پرینتر ! تصور کنید شما که برنامه نویس هستید میخواهید در برنامه تان یک صفحه گزارش را پرینت بگیرید ، پس شما مجبورید که با پرینتر خود با استفاده از پورت ارتباط بر قرار کنید بنابر این لازم است تا با دستورات داخلی پرینتر خود ارتباط بر قرار کنید و هدها و موتورها و .... ر ا کنترل کنید . اما اینجا یک مشکل وجود دارد و آن اینکه تعداد بسیار زیادی شرکت در دنیا مشغول ساخت پرینتر می باشند و هر کدام از این دستگاهها معماری سخت افزاری خاص خود را دارند ! ایا شما به عنوان برنامه نویس باید کار با تمام پرینترهای دنیا را بلد باشید ؟
قطعا اینطور نیست!
در واقع امکان چاپ و ارتباط با انواع چاگر یک امکان در سیستم عامل میباشد و شما تنها به استفاده از این امکانات می پردازید ، و بقیه ماجرا و ارتباط سیستم با پرینتر به عهده سیستم عامل می باشد!
نقل قول: آموزش ارتباط با سخت افزار
با سلام
از تایپیکی که زدید خیلی متشکرم ...
انشاءالله ادامه داشته باشد ما که استفاده کردیم.
نقل قول: آموزش ارتباط با سخت افزار
سلام
این تاپیک چرا غیر فعال است.
من میخواستم بدانم که چگونه میتوانم پورت com را در c راه اندازی کنم و از آن استفاده کنم.
نقل قول: آموزش ارتباط با سخت افزار
با سلام و خسته نباشید. میخواستم یک pdf کامل در مورد cpp برای دانلود بزارید. خیلی ممنون.
نقل قول: آموزش ارتباط با سخت افزار
با سلام
من می خوام از طریق پورت پرینتر بیت های 0 و 1 را به کامپیوتر بدم، بعد نسبت به کد ورودی ، در کامپیوتر اونها را شناسایی کنم و در در قبال هر کد یک برنامه در کامپیوتر اجرا بشه
کسی می تونه به من کمک کنه؟ با چه برنامه ای بهتر هست این کار رو انجام بدم؟ چه چیزی لازم دارم؟
با تشکر
نقل قول: آموزش ارتباط با سخت افزار
با سلام. من هم در تصدیق صحبت های kernel عزیز توصیه می کنم کار با میکرو کنترلرها بخصوص AVR رو یاد بگیرید. البته رشته من نرم افزار هست. اما در کار با میکرو ها آدم با مسایلی برمی خوره که واقعا جالبه.
نقل قول: آموزش ارتباط با سخت افزار
کسی پاسخ به من نمی ده؟
اقا مسعود، من هم نرم افزار خوندم
با برنامه نویسی های مختلف کار کردم اما معمولا نیاز به کار با پورت نداشتم
من می خوام از طریق پورت پرینتر بیت های 0 و 1 را به کامپیوتر بدم، بعد نسبت به کد ورودی ، در کامپیوتر اونها را شناسایی کنم و در در قبال هر کد یک برنامه در کامپیوتر اجرا بشه
پیشنهاد شما چیه و از چه روشی استفاده کنم؟ منبع هم اگه هست معرفی کنید لطفا
ممنون
نقل قول: آموزش ارتباط با سخت افزار
سلام
میخواستم اگه کسی میتونه در مورد کار با فلش مموری های که با یو اس بی به سیستم وصل میشن کمم کنه
میخوام به تک تک خانه های حافظه توی این نوع حافظه ها دسترسی داشته باشم.و بتونم مستقیما" توش چیز بنویسم.
نقل قول: آموزش ارتباط با سخت افزار
نقل قول: آموزش ارتباط با سخت افزار
لطفا اگر میتوانید برنامه چراغ چشمک زن را با زبان c برای من ارائه دهیید. فقط با زبان c
نقل قول: آموزش ارتباط با سخت افزار
[quote=Alireza Orumand;423614]masoud جان درسته که این توابع توی این سرفایل ها وجود داره ولی یادتون باشه شما دارید تو ویندوز برنامه مینویسید ولی این سرفایل مال زمانه داسه و تو داس اجازه دسترسی مستقیم به پورت ها گرفته نشده بود. به هر حال شما میخواهید برنامه رو تو ویندوز اجرا کنید و برای دسترسی به پورت هم باید به یکی از روش هایی که گفته شد عمل کنید.
شرمنده از اینکه تنها کمکمی که میتونم به شما بکنم اینه که بگم از کامپایلر جدید تری استفاده کنید که این سرفایل رو داشته باشه.
راستی میشه بگید مشکلتون چی هست که از کامپایلر های قدیمی استفاده میکنید؟
این یک پروژه که باید با c بنویسم . اگه ویندوز 98 باشه میتونیم برنامه رابا c اجرا کرد وجواب گرفت
نقل قول: آموزش ارتباط با سخت افزار
سلام
برای ارسال اطلاعات روی پورت سریال هم راهنمایی کنید . ممنون.
نقل قول: آموزش ارتباط با سخت افزار
نقل قول:
نوشته شده توسط
kernel
من تا بحال 9 تا روبوت ساختم که 7 تا از اونا با میکرو کنترل می شد ( به تنهایی ).
تو روبات 8 چون از تکنیک های پردازش تصویر استفاده کردم یک ارتباط با کامپیوتر هم به صورت wireless درست کردم که به پورت سریال متصل می شد.
تو روبات آخری هم که ساختم از پورت USB برای اتصال به کامپیوتر استفاده کردم در ضمن این آخریه قابلیت اتصال و کنترل از طریق اینترنت هم داره
اگه چیز دیگه ای برای سوال دارین من با اطلاعات اندک خود میتونم راهنمایی تون بکنم
سلام،
خوشحالم که بالاخره یه نفرو پیدا کردم که با میکرو کار کرده و ربات ساخته:لبخندساده::قلب:
در ضمن میخواد راهنمایی هم بکنه!:کف::لبخند:
من به تازگی عضو یه گروه ساخت روبات شدم :لبخندساده: در این گروه طبق معمول کارها تقسیم شده و متاسفانه وشاید هم خوشبختانه برنامه نویسی آن را به من دادن!:متفکر:
در حالی که من اصلا چیز زیادی در مورد پورت ها نمی دونم:ناراحت:
که با این تاپیک یه چیزایی دستگیرم شد:لبخندساده:(ممنون)
حالا از شما میخوام منو راهنمایی کنید،
تکنیک پردازش تصویر چیه؟!:خجالت:
چطوری میشه به صورت wireless به پورت سریال متصل شد؟(برنامه نویسیش چه جوریه؟):متفکر:
مانیتورینگ چیست؟
اطلاعاتی که از روبات گرفته میشه (ازطریق پورت) اگر بخواهیم به صورت گرافیکی باشد کدام نرم افزار را پیشنهاد میکنید؟
و....:گیج:
مرسی