تبلیغات
control
 
control
درباره وبلاگ


The department’s research activities encompass several broad areas, reflecting the multi-disciplinary nature of the control and mechatronics field. These include:


• Smart sensors and actuators
• Process tomography
• Intelligent machines
• Advanced and intelligent control algorithms
• Process control and its advancements
• Real-time control system
• Robot design and intelligent robot controllers
• Modeling and control of mechatronic systems
• Industrial automations
• Nanotechnology-based mechatronics and robotics

مدیر وبلاگ : mohammadreza
مطالب اخیر
نویسندگان
دوشنبه 8 اسفند 1390 :: نویسنده : mohammadreza
If u want the impossible event happens in your life, change your belief that it is impossible to happen

اگر میخواهی محال ترین اتفاق زندگیت رخ بدهد، باور محال بودنش را عوض کن




نوع مطلب :
برچسب ها :
لینک های مرتبط :
سه شنبه 1 مهر 1393 :: نویسنده : mohammadreza

مهندسی مکاترونیک

تلفیق مکانیکوالکترونیک

امروزه کمترمحصول صنعتى را مىتوان یافت که ترکیبى از حوزه هاى مختلف مهندسى نباشد. اگربیشتربه محیط زندگى خود و محصولاتى که در زندگى روزمره ازآنها استفاده مى شود دقت کنیم،از ساعت مچى دیجیتالى تاماشین لباسشویى در آشپزخانه، خودروى شخصى یا عمومى که باآنبه محل کار مى رویم، چاپگرها و اسکنرها در محیط ادارى وغیره، همگى نمونه های از ترکیب حوزه هاى مختلف مهندسى و بهخصوص مکانیک و الکترونیک است

اگر همبامحصولات جدیدتر صنعتى آشنا باشیم، تجمع نرم افزار و سختافزار کامپیوتر با حوزهه اى فوق را به وضوح مى توان دربسیارى از محصولات از جمله ماشین هاى لباسشویى و خشک کنجدید هوشمند، دوربین هاى خودتنظیم، روبوت هاى صنعتى،خودروهاى مجهز به سیستم ترمز ضدقفل، دیسک درایوهاىکامپیوتر، فرهاى مایکروویو، تلفن هاى همراه، سیستم پخشدیجیتال، محصولات دفاعى مدرن و تجهیزات پزشکى شناسایى کردکه مثال هایى از ترکیب حوزه هاى مهندسى مذکوراست

در واقع، پیشرفت روزافزون علوم فناورىاطلاعات،الکترونیک به خصوص الکترونیک قدرت، ریزپردازنده هاو همچنین سیستم هاى هوشمند، به همراه نیاز روزافزون بهتولید محصولات صنعتى با کیفیت بهتر، هزینه کمتر و زمانتولید کوتاه تر، افق جدیدى را در طراحى و ساخت محصولاتالکترومکانیکى، به همراه آورده است. این فناورى که براساستجمیع مهندسى مکانیک، الکترونیک، کامپیوتر و سیستم هاىکنترل است، مکاترونیک نامیده مى شود. این واژه ترکیبى ازدو بخش «مکا» مخفف مکانیسم و «ترونیک» مخفف الکترونیکاست.

واژه مکاترونیک براى اولین بار در اواخر دهه۶۰میلادى توسط یک مهندس ژاپنى، که در زمینه کنترلکامپیوترى موتورهاى الکتریکى در شرکت یاسکاوا الکتریکتحقیق مى کرد معرفى شد. تاکنون تعریف هاى گوناگونى ازمکاترونیک ارائه شده است که مهمترین آن عبارت استاز

«یک ترکیب همافزایانه از مهندسى مکانیک، الکترونیک، کامپیوتر، سیستمهاى کنترل وفناورى اطلاعات در طراحى و ساخت محصولات وفرآیندهاى صنعتى با دقت بالا». 

درواقع مکاترونیک یک تفکر جدید در طراحى و تولید محصولاتصنعتى است که به مهندسان اجازه مىدهد تا با یکپارچه سازىحوزه هاى تخصصى یاد شده، از اولین مراحل طراحى و تولید، بهخلق محصولاتى با کیفیت بهتر، قابلیت اعتماد بالاتر، هزینهکمتر و در زمان کوتاه تر،بیندیشند.

عناصر اصلى یکسیستم مکاترونیکى عبارتند ازفرآیند مکانیکى یاالکترومکانیکى، حسگرها، محرکه ها، ریزپردازنده ها و نرمافزارکنترل کننده سیستم. در طراحى کلاسیک، اجزاى مختلف یکسیستم به طور جداگانه طراحى شده و سپس تجمیع صورت مى گیردولى در مکاترونیک، اجزاى مکانیکى و الکتریکى بههمراهاستراتژى کنترلى از ابتدا به صورت یک سیستم یکپارچهدر نظر گرفته مى شوند و این بهمعناى مهندسى همزمان درطراحى است. نکته مهم در اینجا تفاوت مهندسى الکترومکانیکبامکاترونیک است. در مهندسى مکاترونیک، با آن که عموماً باسیستم هاى الکترومکانیکى سروکار داریم، نکته اساسى درحاکمیت همزمان بودن طراحى، یکپارچه سازى و حتى بهینه سازىاست، در حالى که مهندسى الکترومکانیک لزوماً این معنا رانمى دهد. به عنوان مثال، در تفکر مکاترونیکى دیگر جایزنیست یک سیستم را از ابتدا طراحى کنید بدون آنکه بهاستراتژى کنترلى آن اندیشیده باشید.

در اینجا ممکن است این سئوال پیش بیاید کهمنظور از یکپارچه سازى چیست؟ 

به طور کلى بایدگفت که یکپارچه سازى در دوبعد مطرحاست

طراحى وتولید:در مرحله طراحى اجزا، اگر هماهنگى با سایراجزاىسیستم در نظر گرفته شود قطعاً نتایج بهترى در پىخواهد داشت. به طور کلى، روندطراحى مکاترونیکى با تحلیلبازار و نیازهاى مشترى آغاز و سپس مشخصات مورد نیاز محصولبراساس تحلیل هاى انجام شده، تعیین مى شود. با آغاز روندطراحى، مرزهاى بین حوزه هاى گوناگون مهندسى کم رنگ شده ویکپارچه سازى این حوزه ها ضرورى مى نماید چراکه محدودیت هاو تصمیم گیرى ها در یک حوزه در واقع تابعى است از محدودیتها و تصمیم گیرى ها در حوزه هاى دیگر

به عنوان مثالدر بحث کنترل موتورهاىالکتریکى، امروزه دیگر براى کاهش زمان و هزینه تولید وبهبود کیفیت، طراحى موتور و درایو الکتریکى وکنترل کنندهدیجیتال و حسگرها، همگى با هم در نظر گرفته مى شوند. یکىاز مسائل صنعتى _ تحقیقاتى، روش هاى کنترل سرعت بدوناستفاده از حسگرهاى سرعت، به منظور کاهش هزینه است، یعنىیک موتور الکتریکى را به یک مهندس کنترل مى دهند تا یککنترل کننده سرعت بدون استفاده از حسگر سرعت، طراحى کند. کارهاى زیادى در این زمینه انجام شدهولى بعد از مدت ها بهاین نتیجه رسیده اند که بهتر است از همان ابتدا، هنگامطراحىموتور الکتریکى، استراتژى کنترل بدون حسگر در نظرگرفته شود، یعنى موتور را طورى طراحى کنیم تا کنترل آنبدون حسگر خارجى تا حد زیادى آسان شود. واضح است کهاینیکپارچه سازى باعث کاهش هزینه و زمان تولید محصول صنعتىخواهد شد.

بعد دیگر یکپارچه سازى، در مرحله تولیداست. شماى کلى یک سیستم کلاسیک الکترومکانیکى شامل فرآیندمکانیکى، محرکه ها و حسگرها و همچنین پردازشگر اصلى است. در واقع الگوریتم کنترلى در پردازشگر اصلى اجرا مى شود. بسیارى از فرآیندهاى صنعتى کلاسیک در قالب فوق نمایش دادهمى شوند.

در سیستم هاى مکاترونیکى، یکپارچه سازىاجزا در مرحله تولید، به دو روش انجام مى شود: یکپارچهسازى سخت افزارى و یکپارچه سازى نرم افزارى. در یکپارچهسازى سخت افزارى، فرآیند مکانیکى به همراه حسگرها، محرکهها وپردازشگرها، به عنوان یک سیستم جامع در نظر گرفته مىشوند. در اینجا معمولاً خودحسگرها و یا محرکه ها داراىپردازشگرهاى محلى هستند که عموماً به آنها حسگرها ویامحرکه هاى هوشمند اطلاق مى شود. در اینجا اجزاى سیستمداراى ارتباطات محلى بوده که این ارتباطات، معمولاً ازطریق خطوط ارتباطى باس یا به صورت بى سیماست.

دریکپارچه سازى نرم افزارى، یک سیستم نظارتىیا به عبارتى کنترل کننده مرکزى، به منظور مدیریت کلفرآیند، تشخیص خطا و بهینه سازى، بر کل سیستم نظارت مى کندکه درواقع به معناى پردازش اطلاعات در یک سطح بالاتر است. معمولاً این سیستم نظارتى یک سیستم هوشمند است که این امرتصمیم سازى براى بهبود عملکرد سیستم فیزیکى را قابل اجرامى سازد. در اینجا مى توان به این نکته پى برد که یکى ازدلایل منحصر به فردبودن محصولات مکاترونیکى، به کارگیرىقدرت محاسباتى بالا در خلق سیستم هایى است که داراى کیفیتو قابلیت اعتماد بسیار بالا هستند.

محصولات مکاترونیکى

فناورىمکاترونیک در بسیارى از زمینه ها کاربرد روزافزونى پیداکرده است که در اینجا به بعضى از آنها اشاره مى کنیم. درصنایع خودروسازى، استفاده از موتورهاى با کنترل الکترونیکىبه جاى کنترل کننده سنتى آن یعنى کاربراتور، باعث بهبودعملکرد موتور وکاهش مصرف سوخت و آلودگى شده است. همچنینسیستم ترمزهاى ضدقفل، سیستم تهویه هواى اتوماتیک، فرمانهاى با کمک الکتریکى _ هیدرولیکى، خودروهاى الکتریکى_ ترکیبى و… از دیگر کاربردهاى فناورى مکاترونیک در صنایعخودروسازى هستند.

در زمینه محصولات صنعتى با مصارفخانگى، مى توان به ماشین هاى لباسشویى و یا خشک کن جدیداشاره کردکه عملکرد آنها با استفاده از کنترل هوشمند بهمنظور مصرف بهینه انرژى، صرفه جویىدر مصرف آب و همچنینافزایش کیفیت، بهبود فراوانى یافته است.
در محصولاتصنعتى با کاربرد ادارى، مى توان به چاپگرها و اسکنرهاىلیزرى، دستگاه هاى کپى دیجیتال ویا دیسک درایوهاى جدیداشاره کرد که از جمله محصولات مکاترونیکى هستند.

درزمینه صنایع دفاعى مى توان به سیستم هاى هدایت موشک و یاسلاح هاى هوشمند اشاره کرد. همچنین از دیگر محصولاتمکاترونیکى، دوربین هاى خودتنظیم، ماشین هاىابزارکامپیوترى و روبوت هاى صنعتى هستند که تاثیر فراوانىدر کاهش هزینه و زمان تولید وبهبود کیفیت محصولات تولیدىگذاشته اند.

آموزشمکاترونیک

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

هسته اصلىمحتوى آموزشى مهندسى مکاترونیک، ترکیبى از دروس اساسىگرایش هاى سیستم هاى کنترل، الکترونیک، کامپیوتر و مهندسىمکانیک است.

 *استادیاردانشکده فنىتهران

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

دانشگاه های مختلفی در سراسر دنیا به اینرشته از مهندسی می پردازند و پیشرفتهای فراوانی همه روزهحاصل می شود.

در ایران نیزاولین دانشگاهی که اینرشته را تاسیس کرد , دانشگاه آزاد اسلامی قزوین بود که اینامر به همت آقای دکتر علیرضا محمد شهری و ریاست دانشگاهآقای دکتر مرتضی موسی خانی صورت گرفت. ایشان دارای دکتریمهندسی مکاترونیک از (دانشگاه ولونگنگ) استرالیا میباشند ودر حال حاضر عضو هیئت علمی دانشگاه علم و صنعت ایرانهستند.

این دانشگاه هم اکنون فارغ التحصیلان زیادیدر مقطع کارشناسی ارشد داشته است. اولین سال جذب این رشتهدر دانشگاه قزوین سال ۱۳۸۲بوده است.

علاوه بردانشگاه قزوین ، دانشگاه های مطرح وفعال در ایران در این زمینه عبارتند از:

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

علاوه بردانشگاه آزاد اسلامی، دانشگاههای خواجه نصیر الدین طوسی(۱۰نفر روزانه،۵نفرشبانه) وسمنان(۴نفر روزانه، ۱نفر شبانه) در سال ۸۵در این رشتهدانشجو پذیرش کردهاند.

به کشورهایی که در حال حاضرسرمایه گذاری وسیعی در این رشته داشته اند می توان بهآمریکا ، ژاپن ،استرالیا ، اتریش ، آلمان ، بلژیک و روسیهاشاره کرد.

دانشجویان دردوره فوق لیسانس بایستی ۳۲واحد درسی رو پاس کنند. که ۶واحد آنپروژهاست.

معمولا فارق التحصیلان لیسانس رشته سختافزار کامپیوتر و الکترونیک در این رشته موفق تر میباشند. به این دلیل که این گروه خودشونو بهتر با سیستم هایمکانیکی وفق میدند وپروژهای نهایی جالبی دارند(یه پروژهمکاترونیکی واقعی). دانشجویان نرم افزار از همه بیشتردردسر دارند چون معمولا نه مدار می دونند ، نه کنترل والکترونیک پاس کردند وتقریبا با مشکل مواجه میشند. البتهاستثنا هم داریم.

دروساصلی:

مکاترونیک ۱،مکاترونیک ۲، رباتیکپیشرفته ، ریاضیات مهندسی پیشرفته ، کنترل پیشرفته (معمولاکنترل دیجیتال درس میدند+ فضای حالت و…. تا فازی هم پیشمیرند) ، شناسایی سیستمها ،کنترل محرک هایالکتریکی.

دروساختیاری:

شبکه های عصبی ،سیستم های توزیعشده ، پردازش تصویر (بینایی ماشین) ، اتوماسیون صنعتی ،مدیریت صنعتی (دقیقا یادم نیست چی بود، راجب تیم ورک بود)،کنترل فازی ، سیستم هایخبره.

دروس پیش نیاز: (برای کسانی که ایندروس را دردوره لیسانس پاس نکردند!)

استاتیک،دینامیک ، الکترونیک ۱و۲، ریزپردازنده (ممکن است میکروکنترلر هم درس بدند) ، کنترل خطی.

دوره کارشناسیارشدمهندسی مکاترونیک

توصیه می شود ،جهت آشناییاولیه با مهندسی مکاترونیک ابتدا به آشنایى با مهندسىمکاترونیک وکاربردهاى آن مراجعه کنید.

پذیرش دانشگاه ها

در سال ۱۳۸۷دانشگاه تبریز ( ۱۰نفر روزانه و ۵نفر شبانه ) ، دانشگاهسمنان ( ۵نفر روزانه و ۱نفر شبانه ) ،دانشگاه صنعتیامیرکبیر ( ۵نفر روزانه ) ، دانشگاه خواجه نصیر الدینطوسی ( ۱۲نفرروزانه و ۶نفر شبانه ) و دانشگاه صنعتی شریف( ۸نفر روزانه و ۲نفر شبانه ) اقدام به ثبت نام پذیرفتهشدگان در رشته مهندسی مکاترونیک در مقطع کارشناسی ارشدکرده اند. درادامه به بررسی و معرفی این دوره پرداخته میشود.

طبق مصوبه سال ۱۳۸۰شورای عالی برنامه ریزیوزارت علوم ، تحقیقات و فناوری فارغ التحصیلان دوره هایکارشناسی مهندسی مکانیک ، مهندسی برق ، مهندسی کامپیوتر ومهندسی پزشکی می تواننددر آزمون ورود به دوره کارشناسیارشد مهندسی مکاترونیک شرکت نمایند.

آزمون ورودی

آزمون ورودیکارشناسی ارشد مهندسی مکاترونیک شامل موارد زیر می باشد:

دروس اجباری:

*زبانعمومی وتخصصی
*ریاضیات ( شامل ریاضیات عمومی ۱و ۲، معادلات دیفرانسیل و آمار)

دروس اختیاری : ( که داوطلبان باید از بیناین ۶درس ۳درس را به دلخواه انتخاب کرده و به سوالات آنپاسخ دهند)

*دینامیک
*کنترل
*هوشمصنوعی
*مدارهای منطقی و ریزپردازندهها
*الکترونیک ۱و۲
*برنامهنویسی و الگوریتم

معرفیدوره

حداقل طول این دوره ۳نیمسال است. بدین معنی که دانش جویانی که ناچار به گرفتن دروس جبرانینیستند، چنانچه کار درسی خود را به نحو مطلوبی انجام دهند،می توانند دوره را در ۳نیمسالبه پایان برسانند. زمان هرنیسمال ۱۷هغته و نظام آموزشی آن واحدی است و هر واحدنظریمشتمل بر ۱۶ساعت می باشد.

جهت به پایان رساندندوره ، دانشجویان می بایست در مجموع ۳۲واحد را گذراندهباشند ، که ترکیب آنها به این صورت زیر می باشد:

*
دروس اصلی و تخصصی۲۴واحد
*سمینار۲واحد
*پروژه تحقیق۶واحد

علاوه بر مواردفوق ، هر دانشجوی ایندوره که قبلا در دوره کارشناسی دروس جبرانی را نگذراندهباشدباید با موفقیت آنها را بگذراند. از دروس جبرانی واحدیبه دانشجو تعلق نمیگیرد.

برنامه آموزشی وپژوهشی

دروس جبرانی

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

دروس عمومی

هر دانشجو موظف است ۳درس ( ۹واحد ) زیررابه عنوان دروس اجباری بگذراند:

*مکاترونیک۱
*مکاترونیک ۲
*ریاضیات مهندسیپیشرفته

هر دانشجوموظفاست ۳درس از دروس زیر را به عنوان دروس تخصصیبگذراند:

* رباتیک پیشرفته
*کنترل خودکارپیشرفته
*شناسایی سیستم ها
*برنامه ریزی وکنترلتولید و کیفیت
*حساسه ها وکالیبراسیون ربات
*شبکه های عصبی
*شبیه سازیومدلسازی در بیومکاترونیک
*هوش مصنوعی وسیستم های خبره
*مدیریت کیفیت وعملیات
*مدیریت تجاریو بازرگانی
*اتوماسیون صنعتی

دروس اختیاری

هر دانشجو موظف است باقیمانده واحدهای درسیخود را (دو درس) ، را با موافقت استاد راهنما و شورایتحصیلات تکمیلی از لیست دروس اختیاری در زیر و یا از رشتههای مهندسی مکانیک، مهندسی برق، مهندسی کامپیوتر و مهندسیپزشکی مطابق با گرایش خود بگذراند:

*کنترل محرکه های الکتریکی
*روشاجزاء محدود
*تئوری و تکنولوژی ساخت نیمههادیها
*اتوماسیون در تولید
*تکنولوژی مواد نوین : مرکب ، چند لایه، پوشش دادهشده
*سیستم های بلادرنگ
*شبیهسازی کامپیوتری
*هیدرولیک و نیوماتیکپیشرفته
*بهینه سازی در طراحی وتولید
*بینایی ماشین
*هوشمصنوعی توزیع شده

سمینار

گذراندن سمینار برای هر دانشجوی این دورهاجباری می باشد. سمینار دوره کارشناسی ارشد مکاترونیک شاملقسمتهای زیر می باشد:

- معرفی مشکلات و نیاز کشور به بهینهسازی تولید
- معرفیفناوریهاینوین مکاترونیکی بکار گرفته شده در سطح دنیا یااستفاده از مجلات و گزارشات علمی و همچنین ارتباط بادانشگاه های خارج از کشور
- معرفی زمینه های تحقیقاتی مطابق با نیاز کشور که دانشجویانممکن است موضوع پروژه ی خود را ازمیان این زمینه هایپیشنهاد شده برگزینند.
-
تهیه یک گزارش مدون و ارائه آن در سمینار توسط هر دانشجوالزامی می باشد.

پروژه( پایاننامه)

تعداد واحدهای پایان نامه در دورهکارشناسی ارشد آموزشی ۶واحد و در دوره کارشناسی ارشدپژوهشی ۱۲واحد میباشد.

گرایشات این دوره

دوره کارشناسی ارشد مکاترونیک دارای سهگرایش زیر میباشد که دانشجویان با توجه به گرایش انتخابی،پروژه های تحقیقاتی ( ۶واحد ) خود رادر یکی ازآزمایشگاهها و در صنعت انجام خواهند داد:

*گرایشاتوماتیک و کنترل تولید
*گرایشطراحی رباتها و سیستم های مکاترونیکی
*گرایشارتباطات جنبی انسان – ماشین – کامپیوتر

بعداز انتخاب گرایش دانشجو دروس مناسب را با نظر استاد راهنمااز بین دروس عمومی و دروس اختیاری انتخاب می کند





نوع مطلب :
برچسب ها :
لینک های مرتبط :

Analog Read Voltage

این مثال روش ورودی آنالوگ را روی پین صفر خواندن، تبدیل کردن مقدار از analogRead() به ولتاژ و چاپ کردن خروجی آن روی Serial Monitor را به شما نشان می دهد.

سخت افزار مورد نیاز

  • برد آردوینو
  • یک مقاومت متغیر مثل پتانسیومتر

مدار

این تصویر با استفاده از نرم افزار Fritzing ایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

3 عدد سیم را از پتانسیومتر به برد آردوینو وصل کنید. اولین سیم، از یکی از پین های خارجی پتانسیومتر به زمین، دومی از 5 ولت به یکی از پین های خارجی دیگر پتانسیومتر و سومی از ورودی صفر آنالوگ به پین وسطی پتانسیومتر می رود.

شما با چرخاندن محور پتانسیومتر، مقدار مقاومت روی یک طرف wiper را که به پین مرکزی پتانسیومتر وصل شده است، تغییر می دهید. این عمل، ولتاژ پین مرکزی را تغییر می دهد. زمانی که مقاومت بین مرکز و کناره ای که به 5 ولت متصل است به صفر نزدیک می شود (و مقاومت سمت دیگر به 10 کیلو اهم نزدیک می شود) ولتاژ در پین مرکزی به 5 ولت نزدیک می شود. زمانی که مقاومت معکوس می شود، ولتاژدر پین مرکزی به سمت صفر ولت یا زمین می رود. این ولتاژی که شما به عنوان ورودی می خوانید، آنالوگ است.

آردوینو یک مدار داخلی به نام analog-to-digital converter دارد که ولتاژ متغیر را می خواند و آن را به عددی بین 0 تا 1023 تبدیل می کند. زمانی که محور در یک جهت می چرخد، ولتاژ صفر به سمت پین می رود و مقدار ورودی، صفر می شود. زمانی که محور به سمت مخالف می چرخد، ولتاژ پنج به سمت پین می رود و مقدار ورودی 1023 می شود. در این بین analogRead() یک عدد بین صفر تا 1023 را بر می گرداند که با مقدار ولتاژ اعمال شده روی پین متناسب است.

شماتیک

کد

در کد زیر، تنها کاری که شما باید در تابع setup انجام دهید، شروع ارتباط سریال، با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر می باشد. این عمل توسط دستور زیر انجام می شود:

Serial.begin(9600);

بعد در تابع Loop() برنامه، لازم است متغیری را برای ذخیره مقدار مقاومتی که از پتانسیومتر می آید (و عددی بین صفر تا 1023 می باشد و محدوده ای مناسب برای نوع int خواهد بود)، تعریف کنید.

int sensorValue = analogRead(A0);

برای تغییر مقدار از محدوده 0-1023 به عددی در محدوده ای که متناظر با ولتاژ خوانده شده از پین است، لازم است متغیر دیگری تعریف کنید. یک متغیر float، و یک محاسبه ریاضی کوچک. برای درجه بندی کردن اعداد بین 0.0 و 5.0 ، 5.0 را بر 1023.0 تقسیم می کنیم و آن را در sensorValue ضرب می کنیم. این کار را با دستور زیر انجام می دهیم:

float voltage = sensorValue * (5.0 / 1024.0);

در انتها، لازم است که این اطلاعات را روی Serial Monitor چاپ کنید. شما می توانید این کار را با دستور Serial.println() در آخرین خط کدتان انجام دهید:

Serial.println(voltage)

اکنون، وقتی شما Serial Monitor را ( با مستقیم کلیک کردن روی دکمه ای که سمت راست دکمه آپلود در بالای برنامه است)، در محیط برنامه نویسی آردوینو باز می کنید، باید رشته ای ثابت از اعداد در محدوده ی 0.0 تا 5.0 ببینید. هرچه پتانسیومتر را بچرخانید، مطابق ولتاژی که به پین A0 اعمال می شود، مقدار عوض خواهد شد.

/*
  ReadAnalogVoltage
  Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */


// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.println(voltage);
}




نوع مطلب :
برچسب ها :
لینک های مرتبط :

Fading

با استفاده از تابع analogWrite() می توانیم کم نور یا پر نور کردن یک LED را نشان دهیم. AnalogWrite جهت روشن و خاموش کردن بسیار سریع یک پین دیجیتال برای ایجاد افکت کم نور کردن از pulse width modulation (PWM) استفاده می کند.

سخت افزار مورد نیاز

  • برد آردوینو
  • برد بورد
  • یک LED
  • یک مقاومت 220 اهمی

مدار

از طریق یک مقاومت 220 اهمی، آنود(پایه بلندتر و مثبت)LED تان را به پین دیجیتال خروجی 9 روی آردوینو وصل کنید. کاتود (پایه کوتاه تر و منفی) را مستقیم به زمین وصل کنید.

برای بزرگ شدن تصویر روی آن کلیک کنید.

شماتیک

برای بزرگ شدن تصویر روی آن کلیک کنید.

این تصویر با استفاده از نرم افرارFritzingایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه نمایید.

کد

بعد از معرفی کردن پین 9 به ledPin، کار شما در تابع setup() تمام می شود.

تابع analogWrite() که شما در تابع Loop()  کدتان استفاده خواهید کرد به دو آرگومان نیاز دارد: یکی برای اینکه به تابع بگویید که روی کدام پین نوشته شود، و دیگری مقدارPWM ی که قرار است نوشته شود.

برای کم نور یا پر نورکردن یک LED ، به تدریج مفدار PWM شما از صفر(تمام بیت ها خاموش) به 255(تمام بیت ها روشن) افزایش می یابد، و بعد یک بار دیگر به مقدار صفر برمی گردد تا چرخه کامل شود. در برنامه ی آردوینو زیر، مقدار PWM با استفاده از متغیری به نام brightness تنظیم می شود. هر بار در Loop()، توسط مقدار متغیر fadeAmount افزایش می یابد.

اگر brightness در یکی از کران های مقدارش باشد (صفر یا 255) آنگاه fadeAmount به مقدار معکوس آن تغییر می کند. به عبارتی دیگر اگر fadeAmount حاوی مقدار 5 باشد، در این مرحله به 5- تبدیل می شود، اگر 5- باشد به 5 تبدیل می شود. بار بعد در Loop()  این تغییر باعث می شود که brightness جهت را نیز تغییر دهد.

analogWrite() می تواند به سرعت مقدار PWM را تغییر دهد، بنابراین تأخیر در پایان برنامه سرعت پر نور یا کم نور شدن را کنترل می کند. تغییر مقدار تأخیر را تست کنید و ببینید که چطور برنامه تغییر می کند.

/*
 Fade
 
 This example shows how to fade an LED on pin 9
 using the analogWrite() function.
 
 This example code is in the public domain.
 */


int led = 9;           // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup()  {
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop()  {
  // set the brightness of pin 9:
  analogWrite(led, brightness);   

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }    
  // wait for 30 milliseconds to see the dimming effect   
  delay(30);                           
}





نوع مطلب :
برچسب ها :
لینک های مرتبط :

Analog Read Serial

این مثال به شما نشان می دهد که چطور با استفاده از پتانسیومتر، ورودی آنالوگ را از محیط فیزیکی بخوانید. پتانسیومتر یک وسیله مکانیکی ساده است که زمانی که محور آن می چرخد، مقدارهای مختلف مقاومت را ایجاد می کند. با عبور ولتاژ از میان پتانسیومتر و به سمت ورودی آنالوگ از روی برد آردوینو، می توانید مقدار مقاومت تولید شده توسط پتانسیومتر را به عنوان یک مقدار آنالوگ اندازه گیری کنید. در این مثال شما می توانید وضعیت پتانسیومترتان را بعد از برقرار کردن ارتباط سریال بین برد آردوینو و کامپیوتر کنترل کنید.

سخت افزار مورد نیاز

  • برد آردوینو
  • پتانسیومتر 10 کیلو اهمی

مدار

3 عدد سیم را از پتانسیومتر به برد آردوینو وصل کنید. اولین سیم، از یکی از پین های خارجی پتانسیومتر به زمین، دومی از 5 ولت به یکی از پین های خارجی دیگر پتانسیومتر و سومی از ورودی صفر آنالوگ به پین وسطی پتانسیومتر می رود.

برای بزرگ شدن تصویر روی آن کلیک کنید.

این تصویر با استفاده از نرم افرار Fritzingایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

شما با چرخاندن محور پتانسیومتر، مقدار مقاومت روی یک طرف wiper را که به پین مرکزی پتانسیومتر وصل شده است، تغییر می دهید. این عمل، ولتاژ پین مرکزی را تغییر می دهد. زمانی که مقاومت بین مرکز و کناره ای که به 5 ولت متصل است به صفر نزدیک می شود (و مقاومت سمت دیگر به 10 کیلو اهم نزدیک می شود) ولتاژ در پین مرکزی به 5 ولت نزدیک می شود. زمانی که مقاومت معکوس می شود، ولتاژدر پین مرکزی به سمت صفر ولت یا زمین می رود. این ولتاژی که شما به عنوان ورودی می خوانید، آنالوگ است.

آردوینو یک مدار داخلی به نام analog-to-digital converter دارد که ولتاژ متغیر را می خواند و آن را به عددی بین 0 تا 1023 تبدیل می کند. زمانی که محور در یک جهت می چرخد، ولتاژ صفر به سمت پین می رود و مقدار ورودی، صفر می شود. زمانی که محور به سمت مخالف می چرخد، ولتاژ پنج به سمت پین می رود و مقدار ورودی 1023 می شود. در این بین analogRead() یک عدد بین صفر تا 1023 را بر می گرداند که با مقدار ولتاژ اعمال شده روی پین متناسب است.

شماتیک

برای بزرگ شدن تصویر اینجا را کلیک کنید.

کد

در کد زیر، تنها کاری که شما باید در تابع setup انجام دهید، شروع ارتباط سریال، با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر می باشد. این عمل توسط دستور زیر انجام می شود:

Serial.begin(9600);

بعد در تابع Loop() برنامه، لازم است متغیری را برای ذخیره مقدار مقاومتی که از پتانسیومتر می آید (و عددی بین صفر تا 1023 می باشد و محدوده ای مناسب برای نوع int خواهد بود)، تعریف کنید.

int sensorValue = analogRead(A0);

در انتها، لازم است که این اطلاعات را روی پنجره سریالتان به عنوان مقدار دهدهی (DEC) چاپ کنید. شما می توانید این کار را با دستور Serial.println() در آخرین خط کدتان انجام دهید:

Serial.println(sensorValue, DEC)

اکنون، وقتی Serial Monitor را (با مستقیم کلیک کردن روی دکمه ای که سمت راست دکمه آپلود در بالای برنامه است)، در محیط برنامه نویسی آردوینو باز می کنید، باید رشته ای ثابت از اعداد را در محدوده ی 1023 - 0 بینید، این اعداد مرتبط با موقعیت پتانسیومتر هستند. هنگامی که شما پتانسیومترتان را می چرخانید، اعداد به سرعت تغییر می کنند.

/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */


// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}





نوع مطلب :
برچسب ها :
لینک های مرتبط :

Digital Read Serial

این مثال به شما نشان می دهد که چطور وضعیت سوییچ را با برقرار کردن ارتباط سریال بین آردوینو و کامپیوتر از طریق USB کنترل کنید.

سخت افزار مورد نیاز

  • برد آردوینو
  • سوییچ دو وضعیتی، کلید یا سوییچ چند وضعیتی
  • یک مقاومت 10 کیلو اهمی
  • برد بورد
  • سیم برد بوردی

مدار

این تصویر با استفاده از نرم افزار Fritzing ایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

سه عدد سیم را به برد آردوینو وصل کنید. دو سیم اول یعنی سیم قرمز و مشکی را به دو ردیف بلند عمودی در کناره ی برد بورد وصل کنید تا دسترسی به 5 ولت و زمین را تأمین کنند. سومین سیم از پین دیجیتال 2 به یکی از پایه های کلید فشاری وصل می شود. همان پایه کلید را از طریق یک مقاومت pull down (در اینجا 10 کیلو اهمی) به زمین وصل کنید. پایه ی دیگر کلید را به ولتاژ 5 ولت وصل کنید.

زمانی که کلیدهای فشاری یا سوییچ ها فشرده می شوند، دو نقطه روی مدار را به هم وصل می کنند. وقتی دکمه های فشاری باز هستند (فشار داده نشده) هیچ ارتباطی بین دو پایه کلیدها وجود ندارد، بنابراین پین (با مقاومت pull down) به زمین وصل است و به عنوان LOW یا صفر خوانده می شود. وقتی کلید بسته شد (فشرده شد)، بین دو پایه خودش ارتباطی ایجاد می کند، یعنی پین به 5 ولت وصل می شود، بنابراین پین به عنوان HIGH یا یک خوانده می شود.

اگر شما پین ورودی/خروجی دیجیتال را از همه چیز قطع کنید، LED ممکن است به صورت بی نظم چشمک بزند. این مسئله به این دلیل است که ورودی شناور است. LED یک ارتباط ثابت با Vcc یا زمین ندارد و بصورت تصادفی مقدار آن HIGH یا LOW می شود. به همین دلیل است که شما نیاز به اتصاب مقاومت pull down به زمین دارید.

شماتیک

کد

در برنامه زیر اولین چیزی که شما در تابع setup انجام می دهید، شروع ارتباط سریال با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر است که با خط زیر این کار را انجام می دهید:

Serial.begin(9600);

بعد پین دیجیتال 2 را به عنوان ورودی تنظیم می کنید، این پین، خروجی را از کلید خواهد خواند:

pinMode(2,INPUT);

الان setup شما کامل شده است، وارد تابع loop() برنامه ی خود شوید. وقتی کلید فشار داده می شود، 5 ولت آزادانه وارد مدار شما می شود و زمانی که فشار داده نشده است، پین ورودی با یک مقاومت 10 کیلو اهمی به زمین وصل خواهد شد. این یک ورودی دیجیتال است، به این معنی که کلید فقط می تواند یک وضعیت روشن (توسط آردوینو به عنوان HIGH یا یک در نظر گرفته شده) یا یک وضعیت خاموش (توسط آردوینو به عنوان LOW یا صفر در نظر گرفته شده) داشته باشد.

اولین چیزی که شما در تابعloop() برنامه لازم است انجام دهید این است که متغیری را جهت نگهداری اطلاعاتی که از سوییچ می آید، تعریف کنید. زمانی که اطلاعات به سمت کلید می آید یا صفر است یا یک. شما می توانید از نوع int استفاده کنید. این متغیر راsensorValue بنامید، و برابر با آنچه که از پین دیجیتال 2 خوانده می شود، قرار دهید. شما همه ی اینها را فقط با یک دستور می توانید انجام دهید:

int sensorValue = digitalRead(2);

زمانی که آردوینو ورودی را خوانده است، اطلاعات را به عنوان مقدار decimal به کامپیوتر بر می گرداند و چاپ می کند. شما می توانید این کار را با دستور Serial.println() درخط آخر کد انجام دهید.

Serial.println(sensorValue);

اکنون وقتی شما سریال مانیتور را در محیط آردوینو باز می کنید، اگر کلید شما باز باشد رشته ای از صفر را، و اگر کلید شما بسته باشد رشته ای از یک را خواهید دید.

/*
  DigitalReadSerial
 Reads a digital input on pin 2, prints the result to the serial monitor
 
 This example code is in the public domain.
 */


// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  pinMode(pushButton, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input pin:
  int buttonState = digitalRead(pushButton);
  // print out the state of the button:
  Serial.println(buttonState);
  delay(1);        // delay in between reads for stability
}





نوع مطلب :
برچسب ها :
لینک های مرتبط :
چهارشنبه 26 شهریور 1393 :: نویسنده : mohammadreza

Blink

این مثال ساده ترین کاری که شما می توانید با آردوینو برای دیدن خروجی فیزیکی انجام دهید را نشان می دهد.این مثال LED را به صورت چشمک زن در می آورد.

سخت افزار مورد نیاز

  • برد آردوینو
  • LED

مدار

برای ساختن مدار، یک مقاومت 220 اهمی را به پین 13 وصل کنید، بعد پایه بلند LED (پایه مثبت که آنود نامیده می شود) را به مقاومت و پایه کوتاه (پایه منفی که کاتود نامیده می شود) را به زمین متصل نمایید. سپس برد آردوینو را به کامپیوتر متصل کنید، برنامه آردوینو را شروع و کد زیر را وارد کنید.

اکثر بردهای آردوینو یک LED دارند که به پین 13 میکروکنترلر وصل است. اگر شما این مثال را بدون اتصال هیچ وسیله ی اجرا کنید، باید یک LED چشمک زن ببینید.

برای بزرگ شدن تصویر روی آن کلیک کنید.

این تصویر با استفاده از نرم افزار Fritzing ایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

شماتیک

برای بزرگ شدن تصویر روی آن کلیک کنید.

کد

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

pinMode(13, OUTPUT);

در تابع Loop() برنامه، LED را با دستور زیر روشن می کنید:

digitalWrite(13, HIGH);

این دستور یک ولتاژ 5 ولتی را به پین 13 ارسال  و اختلاف پتانسیلی را روی پین های LED ایجاد کرده و آن را روشن می نماید. سپس با دستور زیر آن را خاموش می کنید:

digitalWrite(13, LOW);

این دستور پین 13 را به ولتاژ صفر برمی گرداند و LED را خاموش می کند. میان این خاموش و روشن کردن، شما می خواهید وقت کافی برای دیدن تغییرات را به افراد بدهید، بنابراین دستورdelay() به آردوینو می گوید که برای مدت 1 ثانیه یا 1000 میلی ثانیه، کاری انجام ندهد. وقتی شما از دستور delay() استفاده می کنید، درآن مدت زمان هیچ اتفاقی نمی افتد. زمانی که مثال های ساده را متوجه شدید، مثال BlinkWithoutDelay را هم بررسی کنید تا یاد بگیرید چگونه طی زمانی که کارهای دیگر انجام می شوند، یک تأخیر ایجاد کنید.

زمانی که این مثال را نیز متوجه شدید، مثال  DigitalReadSerial را چک کنید تا یاد بگیرید که چطور وضعیت سوییچ وصل شده روی برد آردوینو را بخوانید.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);    
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}






نوع مطلب :
برچسب ها :
لینک های مرتبط :
چهارشنبه 26 شهریور 1393 :: نویسنده : mohammadreza

حداقل کد لازم برای آغاز کار

این مثال شامل حداقل کدی است که برای کامپایل یک برنامه آردوینو لازم است. متد setup() و متد loop() .

سخت افزار مورد نیاز

  • برد آردوینو

مدار

تنها برد آردوینو شما برای این مثال کافی است.

این تصویر با استفاده از نرم افزار Fritzingایجاد شده است. جهت مشاهده مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

کد

وقتی یک اسکچ شروع می شود، تابع setup() صدا زده می شود. از این تابع جهت تعریف متغیرها، حالات پین، آغاز بکارگیری کتابخانه ها و غیره استفاده کنید. این تابع تنها یک بار پس از هر بار روشن یا ریست شدن برد آردوینو اجرا می شود.

بعد از ساختن تابع setup()، تابع loop() دقیقاً کاری را انجام می دهد که از نامش پیداست. مرتباً حلقه را تکرار می کند تا به برنامه شما این امکان را بدهد که تغییر کند و همزمان که در حال اجراست، پاسخ بدهد. کدی که در قسمت loop() برنامه است برای کنترل فعالانه ی برد آردوینو استفاده می شود.

در حقیقت کد زیر کاری انجام نمی دهد، اما ساختار آن برای copy و paste مفید است تا شما برنامه آردوینو خود را آغاز کنید.

این کد همچنین روش کامنت گذاری روی کدتان را به شما نشان می دهد. هر خطی که با دو اسلش(//) شروع شود، توسط کامپایلر خوانده نمی شود. بنابراین شما می توانید هر چیزی که می خواهید، بعد از آن بنویسید. این طریق کامنت گذاشتن روی کد می تواند به شما کمک کند که جزء به جزء توضیحات مفیدی هم برای خودتان و هم برای دیگران بدهید که توابع برنامه شما قدم به قدم چه کارهایی انجام می دهد؟

void setup() {
  // کد راه اندازی خود را در اینجا قرار دهید، تا یک بار اجرا شود:


}

void loop() {
  // کد اصلی خود را در اینجا قرار دهید، تا مکرراً اجرا شود:

}







نوع مطلب :
برچسب ها :
لینک های مرتبط :
سه شنبه 25 شهریور 1393 :: نویسنده : mohammadreza

مقدمه: آردوینو چیست و چرا شما می خواهید از آن استفاده کنید؟

نصب: دستورالعمل های گام به گام جهت نصب نرم افزار آردوینو و ایجاد ارتباط بین آن و برد آردوینو Uno
Mega2560، Duemilanove، Mega یا Diecimila.

  • ویندوز
  • Mac OS X
  • لینوکس (روی playground wiki)

محیط: شرح محیط توسعه آردوینو و چگونگی تغییر زبان پیش فرض.

توابع کتابخانه ای: استفاده و نصب توابع کتابخانه ای آردوینو.

رفع اشکال: توصیه هایی راجع به اینکه در زمان کار نکردن بعضی موارد، باید چه کار کرد؟

................................................................................................

آردوینو چیست؟

آردوینو ابزاری است برای تولید کامپیوترهایی که نسبت به کامپیوتر شخصی شما، مقدار بیشتری از دنیای فیزیکی را احساس و کنترل می کنند. این ابزار، یک پلت فرم محاسباتی فیزیکی open-source است که بر اساس یک برد میکروکنترلر ساده تهیه شده، و نیز یک محیط توسعه برای نوشتن نرم افزار جهت کار با برد می باشد.

آردوینو می تواند جهت ایجاد اشیای تعاملی، گرفتن ورودی از تعداد زیادی سوییچ و حسگر، و کنترل تنوعی از لامپ ها، موتورها، و سایر خروجی های فیزیکی به کار گرفته شود. پروژه های آردوینو می توانند مستقل باشند، و یا با نرم افزاری که روی کامپیوتر شما در حال اجراست(مثل Flash ، Processing، MaxMSP)، ارتباط برقرار کند.  شما می توانید بردها را به طور دستی مونتاژ کنید و یا به صورت از پیش مونتاژ شده، خریداری کنید؛ محیط برنامه نویسی open-source را می توانید به صورت رایگان دانلود کنید.

زبان برنامه نویسی آردوینو، یک پیاده سازی از Wiring(یک پلت فرم محاسباتی و فیزیکی مشابه) است، که بر اساس محیط برنامه نویسی چندرسانه ای Processing کار می کند.

چرا آردوینو؟

تعداد زیادی میکروکنترلر و پلت فرم میکروکنترلر دیگر، جهت محاسبات فیزیکی موجود است. بردهای Parallax Basic Stamp، Netmedia's BX-24، Phidgets، MIT's Handyboard و بسیاری بردهای دیگر، عملکرد مشابهی را ارائه می دهند. کلیه این ابزارها، جزئیات درهم و برهمی از برنامه نویسی میکروکنترلر را برداشته و آن را در یک پکیج easy-to-use جمع بندی نموده اند. برد آردوینو همچنین فرایند کار با میکروکنترلرها را تسهیل می کند. لیکن مزایایی را برای معلمان، دانش آموزان و مبتدیان علاقه مند در کلیه سیستم های دیگر ارائه می دهد:

  • ارزان -  در مقایسه با سایر پلت فرم های میکروکنترلر، بردهای آردوینو نسبتاً ارزان هستند. ارزان ترین نسخه از ماژول آردوینو می تواند به صورت دستی مونتاژ شود، و حتی ماژول های آردوینو از پیش مونتاژ شده، کمتراز 50 دلار قیمت دارد.
  • مستقل از سیستم عامل (Cross-platform) - نرم افزار آردوینو روی سیستم های عامل ویندوز، مکینتاش OSX و لینوکس اجرا می شود. اکثر سیستم های میکروکنترلر منحصر به ویندوز شده اند.
  • محیط برنامه نویسی شفاف و ساده - محیط برنامه نویسی آردوینو برای استفاده مبتدیان، ساده است، در عین حال جهت استفاده ی کاربران حرفه ای از مزیتها نیز به اندازه کافی منعطف است. برای مدرسان، بر اساس محیط برنامه نویسی Processing به راحتی قابل استفاده است، بدین ترتیب، دانش آموزانی که برنامه نویسی در آن محیط را یاد می گیرند، با ظاهر و باطن آردوینو آشنا خواهند شد.

  • نرم افزار قابل توسعه و open-source - نرم افزار آردوینو به صورت یک ابزار open-source منتشر شده است که برای توسعه توسط برنامه نویسان باتجربه موجود می باشد. این زبان می تواند از طریق کتابخانه های C++ گسترش یابد، و افرای که می خواهند جزئیات فنی را بفهمند، می توانند از آردوینو گریزی به زبان برنامه نویسی AVR C که زبان پایه ی آن است، بزنند. به طور مشابه اگر بخواهید، می توانید مستقیما کد AVR-C را درون برنامه های آردوینو خود درج کنید.
  • سخت افزار قابل توسعه و open-source - آردوینو بر اساس میکروکنترلرهای ATMEGA8 و ATMEGA168 شرکت Atmel پایه ریزی شده اند. طرح ماژول ها تحت لیسانس Creative Commons مجوز گرفته اند، بنابراین طراحان با تجربه مدار، می توانند ماژول خود را ساخته، توسعه داده و آن را بهبود ببخشند. حتی کاربران نسبتاً بی تجربه می توانند یک نسخه بردبوردی از ماژول را جهت فهم شیوه کار آن بسازند و هزینه ای جهت آن نپردازند.

چگونه از آردوینو استفاده کنم؟

به راهنمای آغاز کار مراجعه نمایید.

متن راهنمای آغاز کار آردوینو تحت لیسانس Creative Commons Attribution-ShareAlike 3.0 مجوز گرفته است. نمونه کدها در راهنما، در حوزه عمومی منتشر شده است.

...................................................................................

آغاز کار با Arduino روی سیستم عامل ویندوز

این مطلب شرح می دهد که چطور برد آردوینو را به کامپیوتر متصل کرده و اولین برنامه آردوینو خود را آپلود کنید.

  • 1 | یک برد آردوینو و یک کابل USB تهیه کنید.
  • 2 | محیط برنامه نویسی آردوینو را دانلود نمایید.
  • 3 | برد را متصل کنید.
  • 4 | نرم افزارهای راه انداز را نصب کنید.
  • 5 | یک برنامه کاربردی آردوینو را آغاز کنید.
  • 6 | مثال Blink را باز کنید.
  • 7 | برد خود را انتخاب نمایید.
  • 8 | پورت سریال خود را انتخاب کنید.
  • 9 | برنامه را آپلود کنید.

1 | یک برد آردوینو و کابل USB تهیه کنید.

در این مرجع آموزشی، فرض بر آن است که شما از برد آردوینو مدل Uno ، Duemilanove، Nano، Mega 2560 یا Diecimila استفاده می کنید. اگر برد دیگری دارید، صفحه مربوط به آن را در این راهنمای آغاز کار بخوانید.

همچنین احتیاج به یک کابل USB استاندارد (A plug to B plug) دارید: به عنوان مثال همان نوع کابلی که شما به یک پرینتر USB متصل می کنید. (برای برد آردوینو مدل Uno، به جای آن به یک کابل A to Mini-B احتیاج دارید.)

2 | محیط برنامه نویسی آردوینو را دانلود نمایید.

آخرین نسخه را از این صفحه دانلود کنید.

زمانی که دانلود شما تمام شد، فایل را unzip کنید. اطمینان حاصل کنید که ساختار پوشه را حفظ کرده باشید. روی پوشه دابل کلیک کنید تا باز شود. باید تعداد کمی فایل و زیرپوشه در آن وجود داشته باشد.

3 | برد را متصل کنید.

برد آردوینو مدل Uno، Mega، Duemilanove و Nano به صورت خودکار برق خود را از اتصال USB به کامپیوتر یا یک منبع تغذیه خارجی می گیرد. اگر از آردوینو مدل Diecimila استفاده می کنید، لازم است اطمینان حاصل کنید که برد به نحوی پیکربندی شده است که جهت تأمین برق از اتصال USB استفاده کند.

منبع تغذیه توسط یک جامپر انتخاب شده است، یک تکه پلاستیک کوچک که در دو پین از سه پین بین USB و پاورجک، فرو رفته است. بررسی کنید که این جامپر روی دو پینی که به پورت USB نزدیک تر است قرار گرفته باشد.

برد آردوینو را با استفاده از کابل USB به کامپیوتر خود متصل کنید. چراغ سبز رنگ مربوط به منبع، (که با برچسب PWR مشخص شده است) باید روشن شود.

4 | نرم افزارهای راه انداز را نصب کنید.

جهت نصب نرم افزار برای آردوینو مدل Uno یا Mega 2560 روی ویندوز 7، ویستا یا XP:

  • برد خود را متصل کنید و منتظر بمانید تا ویندوز فرایند نصب راه انداز را آغاز نماید. پس از چند لحظه، این فرایند با شکست مواجه می شود، با اینکه تلاش خود را کرده است.
  • روی منوی Start کلیک کرده و Control Panel را باز نمایید.
  • در پنجره Control Panel به System and Security بروید. سپس، روی System کلیک کنید.. زمانی که پنجره System بالا آمد، Device Manager را باز کنید.
  • زیر Ports (Com & LPT) را نگاه کنید. باید یک پورت باز به نام "Arduino UNO (COMxx)" ببینید.
  • روی پورت "Arduino UNO (COmxx)" راست کلیک کنید و گزینه "Update Driver Software" را انتخاب نمایید.
  • سپس، گزینه "Browse my computer for Driver software" را انتخاب کنید.
  • در نهایت، به مسیر برنامه رفته و فایل راه انداز را به نام "arduino.inf" که در پوشه "Drivers" نرم افزار آردوینو قرار دارد، انتخاب نمایید. ( زیرشاخه "FTDI USB Drivers"). اگر از یک نسخه قدیمی محیط برنامه نویسی ( 1.0.3 یا قدیمی تر) استفاده می کنید، فایل راه انداز Uno را با نام "Arduino UNO.inf" انتخاب کنید.
  • در اینجا ویندوز، نصب راه انداز را به پایان می رساند.

پیوند رو به رو را نیز مشاهده کنید: راهنمای تصویری مرحله به مرحله جهت نصب Uno در ویندوز XP.

نصب راه انداز برای بردهای آردوینو مدل Duemilanove ، Nano یا Diecimila در ویندوز 7، ویستا یا XP:

زمانی که برد را متصل می کنید، ویندوز باید فرایند نصب راه انداز را آغاز کند (اگر شما تاکنون برد آردوینو را به کامپیوتر متصل نکرده اید).

در ویندوز ویستا، راه انداز باید به صورت خودکار دانلود و نصب شود (واقعا این مورد اتفاق می افتد!)

روی ویندوز XP، ویزارد Add New Hardware باز می شود:

  • زمانی که پرسید Can Windows connect to Windows Update to search for software? شما گزینه No, not this time را انتخاب نمایید. دکمه Next را کلیک کنید.
  • گزینه Install from a list or specified location (Advanced) را انتخاب نموده و دکمه Next را کلیک کنید.
  • اطمینان حاصل کنید که گزینه Search for the best driver in these locations تیک خورده باشد؛ گزینه Search removable media را از حالت انتخاب خارج کنید و گزینه Include this location in the search را تیک بزنید و پوشه drivers/FTDI USB Drivers در مسیر آردوینو را Browse کنید. (آخرین نسخه ی راه اندازها را می توانید در آدرس FTDI پیدا کنید.) دکمه Next را کلیک کنید.
  • این ویزارد به دنبال راه انداز خواهد گشت و سپس به شما می گوید که "USB Serial Converter" پیدا شد. دکمه Finish را کلیک کنید.
  • ویزارد New Hardware مجدداً ظاهر خواهد شد. همان مراحل را طی کنید و همان گزینه ها و مکانها را جهت جستجو انتخاب کنید. این بار، یک "USB Serial Port" پیدا خواهد شد.

با باز کردن Windows Device Mananger (در برگه Hardware از control panel سیستم) می توانید بررسی کنید که راه اندازها نصب شده باشند. در بخش Ports، به دنبال گزینه ی "USB Serial Port" بگردید؛ این، برد آردوینو است.

5 | یک برنامه کاربردی آردوینو را آغاز کنید.

روی برنامه آردوینو دابل کلیک کنید. (توجه: اگر نرم افزار آردوینو به زبان دیگری اجرا شد، شما می توانید آن را در کادر مکالمه Preferences تغییر دهید. جهت کسب اطلاعات بیشتر پیوند محیط برنامه نویسی آردوینو را مشاهده کنید.)

................................................................................

محیط برنامه نویسی آردوینو

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

نوشتن برنامه های آردوینو

نرم افزاری که با استفاده از آردوینو نوشته می شود، اسکچ خوانده می شود. این اسکچ ها در ویرایشگر متن نوشته می شوند و با پسوند .ino ذخیره می شوند. این مسئله قابلیت هایی را برای cut/paste و search/replace کردن متن فراهم می کند. زمانی که عملیات ذخیره و Export انجام می شود، ناحیه پیام بازخورد می دهد. همچنین پیغام های خطا را نشان می دهد. کنسول، خروجی متنی را که توسط محیط برنامه نویسی آردوینو ایجاد می شود، شامل کلیه پیام های خطا و اطلاعات دیگر را نشان می دهد. گوشه سمت راست پایین پنجره، برد جاری و پورت سریال را نشان می دهد. دکمه های نوار ابزار به شما این امکان را می دهند تا برنامه را بازبینی و آپلود کنید، اسکچ ها را ایجاد، باز و ذخیره نمایید و Serial Monitor را باز کنید.

توجه: نسخه های قبل از 1.0 محیط برنامه نویسی آردوینو، اسکچ ها را با پسوند .pde ذخیره می کردند. باز کردن این فایلها با نسخه 1.0 نیز امکان پذیر است، هنگام ذخیره، برنامه از شما می خواهد که اسکچ را با پسوند .ino ذخیره کنید.

Verify
کد شما را جهت یافتن خطا بررسی می کند.

Upload
کد شما را کامپایل کرده و آن را به برد ورودی/خروجی آردوینو آپلود می کند. جهت کسب اطلاعات بیشتر، به قسمت آپلود کردن در زیر مراجعه کنید.

توجه: اگر از یک پروگرمر جانبی استفاده می کنید، می توانید هنگام استفاده از این آیکن، کلید "shift" کامپیوتر خود را پایین نگه دارید. در این صورت متن روی آن به "Upload using Programmer" تغییر می کند.

New
یک اسکچ جدید ایجاد می کند.

Open
فهرستی از همه اسکچ های موجود در SketchBook شما را نمایش می دهد. با کلیک کردن روی یکی از آنها، درون پنجره جاری باز می شود.

توجه: به سبب یک باگ در جاوا، این منو پیمایش(Scroll) نمی شود؛ اگر احتیاج دارید که یک اسکچ را از انتهای لیست باز کنید، به جای آن از منوی File | Sketchbook استفاده کنید.

Save
اسکچ شما را ذخیره می کند.

Serial Monitor
serial monitor را باز می کند.

فرمان های دیگری در 5 منو دیده می شود: File، Edit، Sketch، Tools، Help. منوها حساس به متن می باشند. یعنی تنها آن سری از موارد موجود است که مربوط به کاریست که هم اکنون در حال اجراست.

Edit

  • Copy for Forum
    کد اسکچ شما را در قالبی مناسب برای ارسال به انجمن، کپی کرده و آن را از لحاظ رنگ بندی نیز تکمیل می نماید.
  • Copy as HTML
    کد اسکچ شما را به صورت HTML، در قالبی که جهت وارد شدن در صفحه وب مناسب باشد، در کلیپ برد کپی می کند.

Sketch

  • Verify/Compile
    اسکچ شما را برای یافتن خطا بررسی می کند.
  • Show Sketch Folder
    پوشه اسکچ کنونی را باز می کند.
  • Add File...
    یک فایل سورس را به اسکچ اضافه می کند (این فایل از مسیر جاری خود کپی می شود). فایل جدید در یک برگه جدید در پنجره اسکچ نمایش می یابد. فایل ها می توانند با استفاده از منوی Tab از اسکچ حذف شوند.
  • Import Library
    با افزودن دستورات #include به بالای کد شما یک کتابخانه را به اسکچتان اضافه می کند. برای آگاهی از جزئیات بیشتر، به بخش کتابخانه ها در زیر مراجعه کنید. به علاوه، با نسخه 1.0.5 و نسخه های پس از آن از محیط برنامه نویسی آردوینو، می توانید یک کتابخانه را از یک فایل Zip وارد کنید.

Tools

  • Auto Format
    این گزینه کد شما را به زیبایی قالب بندی می کند: قالب بندی به معنای ایجاد تو رفتگی هایی در کد است. یعنی آکولادهای باز شده و بسته شده را به خط می کند و دستورات داخل آکولادها کمی بیشتر به سمت داخل می روند.
  • Archive Sketch
    یک کپی از اسکچ کنونی را در قالب .Zip بایگانی می کند. فایل بایگانی در همان مسیری قرار می گیرد که اسکچ در آن وجود دارد.
  • Board
    بردی که از آن استفاده می کنید را انتخاب کنید. بخش توصیف بردهای مختلف را در زیر مشاهده کنید.
  • Serial Port
    این منو شامل همه وسایل Serial (واقعی یا مجازی) روی سیستم شماست. این منو باید هر بار که منوی Tools را باز می کنید، به صورت خودکار به روزرسانی شود.
  • Programmer
    جهت انتخاب یک پروگرمر سخت افزاری در زمان پروگرم کردن یک برد یا تراشه جدید، و بدون استفاده از اتصال USB-serial موجود روی برد از این منو استفاده می شود. به طور معمول، شما این گزینه را احتیاج ندارید، اما اگر یک Bootloader را روی یک میکروکنترلر جدید بارگذاری کنید، از این گزینه استفاده خواهید کرد.
  • Burn Bootloader
    گزینه های این منو به شما این امکان را می دهد تا یک bootloader را روی یک میکروکنترلر بر روی یک برد آردوینو بارگذاری کنید. این مورد جهت استفاده عادی از یک برد آردوینو لازم نیست. اما اگر یک میکروکنترلر ATmega جدید خریداری می کنید (که به صورت عادی بدون یک bootloader می آید)، می تواند مفید باشد. پیش از بارگذاری bootloader مطمئن شوید که برد صحیح را از منوی Boards انتخاب کرده باشید.

Sketchbook

محیط برنامه نویسی آردوینو از مفهوم Sketchbook استفاده می کند: محلی استاندارد جهت ذخیره سازی برنامه ها (یا اسکچ ها)ی شما. اسکچ های درون sketchbook  را می توان از منوی File > Sketchbook یا از دکمه Openدر نوار ابزار باز شوند. اولین بار که نرم افزار آردوینو را اجرا می کنید، به طور خود کار پوشه ای برای sketchbook ایجاد خواهد کرد. شما می توانید مکان sketchbook را از طریق کادر مکالمه Preferences ببینید یا تغییر دهید.

زمانی که با نسخه 1.0 کار می کنید، فایل ها با پسوند .ino ذخیره می شوند. نسخه های قبلی از پسوند .pde استفاده می کنند. شما هنوز هم می توانید فایلهایی که در نسخه 1.0 و قبلتر از آن با پسوند .pde ذخیره شده اند را باز کنید، نرم افزار به طور خودکار پسوند آنهارا به .ino تغییر می دهد.

برگه ها، فایل های چندگانه و تلفیق

این امکان را به شما می دهد تا اسکچ هایی با بیش از یک فایل را (که هر یک در برگه خود ظاهر می شود) مدیریت کنید. این فایل ها می توانند فایل های معمولی کد آردوینو (بدون پسوند) باشند، یا فایل های C (با پسوند .C)،یا فایل های C++(با پسوند .CPP)، یا فایل های پیش پردازنده(با پسوند .h )

آپلود کردن

پیش از اینکه اسکچ خود را آپلود کنید، لازم است گزینه های صحیح را از منوی Tools > Board و Tools > Serial Port انتخاب کنید. بردها در زیر شرح داده شده اند. روی سیستم عامل مکینتاش، پورت سریال احتمالاً چیزی شبیه /dev/tty.usbmodem241 (برای بردهای Uno یا Mega2560 یا Leonardo) یا /dev/tty.usbserial-1B1 (برای بردهای Duemilanove یا بردهای USB جدیدتر)، یا /dev/tty.USA19QW1b1P1.1 (برای یک برد سریال که با یک آداپتور Keyspan USB-to-Serial متصل است)خواهد بود. در ویندوز، احتمالا COM1 یا COM2 (برای یک برد سریال) یا COM4، COM5، COM7یا بالاتر (برای یک برد USB ) می باشد. - جهت دانستن شماره پورت، در Windows Device Manager در قسمت Ports بگردید. در سیستم عامل لینوکس،

باید چیزی شبیه /dev/ttyUSB0 یا /dev/ttyUSB1 یا موارد مشابه باشد.

زمانی که شما برد و پورت سریال صحیح را انتخاب کردید، دکمه آپلود را در نوار ابزار کلیک کنید یا گزینه Upload را از منوی File انتخاب کنید. بردهای آردوینو کنونی، به طورخودکار ریست می شوند و عملیات آپلود را آغاز می کنند. با بردهای قدیمی تر، (pre_Diecimila) که فاقد ریست خودکار می باشند، لازم است پیش از آپلود کد، دکمه ریست روی برد را فشار دهید. روی بیشتر بردها، هنگام آپلود کد، چراغ های RX و TX را به صورت چشمک زن می بینید. محیط برنامه نویسی آردوینو زمانی که آپلود کامل شد، پیغامی را نمایش می دهد، و یا خطای آن را نشان می دهد.

زمانی که شما یک اسکچ را آپلود می کنید، از bootloader آردوینو استفاده می کنید، bootloader برنامه ای کوچک است که روی میکروکنترلر برد شما بارگذاری می شود. این برنامه به شما امکان می دهد تا کد خود را بدون استفاده از هیچ سخت افزار اضافی، آپلود کنید.

bootloader برای چند ثانیه در هنگام ریست شدن برد، فعال می شود؛ سپس اسکچی را که اخیراً روی میکروکنترلر آپلود شده است را شروع می کند. زمانی که bootloader آغاز می شود، چراغ موجود روی برد (متصل به پین 13) را به حالت چشمک زن در می آورد (یعنی زمانی که برد ریست می شود).

کتابخانه ها

کتابخانه ها عملکرد فوق العاده ای را برای استفاده از این اسکچ ها مثل، کار با سخت افزار یا دستکاری داده ها فراهم می کنند. جهت استفاده از یک کتابخانه در یک اسکچ، آن را از منوی Sketch > Import Library انتخاب کنید. این عمل یک یا چند دستور #include را در بالای اسکچ درج می کند و کتابخانه را با اسکچ شما کامپایل می کند. به این دلیل که کتابخانه ها همراه با اسکچ شما روی برد آپلود شده اند، مقدار فضایی که اشغال می کنند افزایش می یابد. اگر یک اسکچ فعلا احتیاجی به یک کتابخانه ندارد، به سادگی دستر #include را از بالای کدتان پاک کنید.

فهرستی از کتابخانه ها در مرجع وجود دارد. برخی کتابخانه ها در نرم افزار آردوینو تعبیه شده اند. سایر کتابخانه ها می تانند از منابع مختلف دانلود شوند. وقتی از نسخه 1.0.5 آردوینو استفاده می کنید، می توانید یک کتابخانه را از یک فایل Zip وارد کرده و در یک اسکچ باز از آن استفاده کنید. این دستورات را برای نصب یک کتابخانه Third-Partyمشاهده کنید.

جهت تهیه کتابخانه شخصی، این آموزش را مشاهده کنید.

سخت افزار Third-Party

پشتیبانی جهت سخت افزار third-party می تواند در مسیر hardware در پوشه اسکچتان اضافه شود. Support for third-party hardware can be added to the hardware directory of your sketchbook directory. پلت فرم هایی که در این مسیر نصب شده اند می توانند شامل مشخصات برد(که در منوی board ظاهر می شوند) ، کتابخانه های اصلی، bootloader ها، و مشخصات پروگرمرها باشد.

جهت نصب، پوشه hardware را ایجاد کنید، سپس پلت فرم third-party را درون زیرشاخه خودش unzip کنید. (از کلمه "arduino" به عنوان نام زیرشاخه استفاده نکنید و پلت فرم آردوینو را override نکنید.) جهت uninstall کردن آن، پوشه آن را حذف کنید.

جهت آگاهی از جزئیات بیشتر در مورد ایجاد بسته ها برای سخت افزار third-party، صفحه پلت فرم ها را در سایت Arduino Google Code developers مشاهده کنید.

Serial Monitor

داده های سریالی که از برد آردوینو (USB یا برد سریال) می آید را نمایش می دهد. جهت ارسال داده به برد، متن را وارد کنید روی دکمه "send" کلیک کنید یا کلید Enter را فشار دهید. baud rate ی را که برابر با پارامتر ورودی Serial.begin در اسکچ شماست از لیست کشویی انتخاب کنید. توجه داشته باشید که روی سیستم عامل لینوکس و مکینتاش، زمانی که با سریال مانیتور ارتباط برقرار می کنید، برد آردوینو ریست خواهد شد (یعنی اسکچ شما را به نقطه آغاز باز می گرداند).

به علاوه، شما می توانید از طریق Processing، Flash ، MaxMSP و غیره، با برد ارتباط برقرار کنید (صفحه ارتباط را جهت کسب اطلاعات بیشتر مشاهده کنید).

تنظیمات

در کادر مکالمه preferences، تنظیماتی وجود دارد که می توان آن ها را تعیین نمود. (این گزینه را می توانید زیر منوی Arduino در سیستم عامل مکینتاش، یا منوی File در ویندوز و لینوکس بیابید). سایر موارد را می توانید در فایل preferences که مسیر آن در کادر مکالمه preferences نشان داده شده است، پیدا کنید.

پشتیبانی از زبان


نسخه 1.0.1 از محیط برنامه نویسی آردوینو، به بیش از 30 زبان مختلف ترجمه شده است. به صورت پیش فرض، این محیط به زبانی که توسط سیستم عامل شما انتخاب شده است، بارگذاری می شود. (توجه: در سیستم عامل ویندوز و احتمالاً لینوکس، این مورد بر اساس زبانی تعیین می شود که در تنظیمات Locale (که قالب تاریخ و ارز را کنترل می کند) انتخاب شده است و نه بر اساس زبانی که سیستم عامل با آن نمایش می یابد.)

اگر شما بخواهید زبان را به صورت دستی تغییر دهید، در نرم افزار آردوینو، پنجره Preferences را باز کنید. حال در قسمت Editor Language یک لیست کشویی از زبان هایی که هم اکنون پشتیبانی می شود را خواهید دید. زبانی که دوست دارید را از این لیست انتخاب کنید و نرم افزار را بسته و مجدداً باز کنید تا از زبان انتخابی شما استفاده کنید. اگر زبان انتخابی شما پشتیبانی نشود، محیط برنامه نویسی به صورت پیش فرض به زبان انگلیسی باز می گردد.

با انتخاب System Default از لیست کشویی Editor Language می توانید آردوینو را به تنظیمات پیش فرض خود یعنی انتخاب زبان بر اساس سیستم عامل، باز گردانید. این تنظیمات زمانی تأثیر می گذارد که شما نرم افزار آردوینو را یک بار Restart کنید. به همین ترتیب، پس از تغییر تنظیمات مربوط به سیستم عامل، باید نرم افزار آردوینو را یک بار باز و بسته کنید تا با زبان پیش فرض جدید، به روز رسانی شود.

بردها

انتخاب برد، دو نتیجه را در بر خواهد داشت. این عمل، پارامترها(مثل سرعت CPU و baud rate) را تنظیم می کند یی که در زمان کامپایل و آپلود اسکچ ها استفاده می شود را تنظیم می کند؛ و و and sets and the file و تنظیماتی فیوز که توسط دستور burn bootloader استفاده می شود را تنظیم می کند. برخی مشخصات برد، فقط در مورد دوم، متفاوت عمل می کنند. بنابراین حتی اگر عملیات آپلود در یک انتخاب خاص، موفقیت آمیز باشد، باید آن را پیش از burn کردن bootloader بررسی کنید.

  • Arduino Uno
    یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ همراه با ریست خودکار، که از optiboot bootloader (با سرعت 115200 و 0.5 کیلوبایت) استفاده می کند.
  • Arduino Duemilanove w/ ATmega328
    یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز
  • Arduino Diecimila or Duemilanove w/ ATmega168
    یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز اجرا می شود؛ به همراه ریست خودکار. تلفیق و آپلود با Arduino NG or older w/ ATmega168 برابر است، اما bootloaderی که بارگذاری شده است، time out سریع تری دارد (و LED که به پین 13 متصل است، هنگام ریست تنها یک بار چشمک می زند).
  • Arduino Nano w/ ATmega328
    یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ همراه با ریست خودکار و دارای 8 ورودی آنالوگ می باشد.
  • Arduino Nano w/ ATmega168
    یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست؛ همراه با ریست خودکار. تلفیق و آپلود مشابه Arduino NG or older w/ ATmega168می باشد، اما bootloaderی که بارگذاری شده است، time out سریعتری دارد (و LED ای که به پین 13 متصل است، هنگام ریست فقط یک بار چشمک می زند). شامل 8 ورودی آنالوگ است.
  • Arduino Mega 2560 or Mega ADK
    یک میکروکنترلر ATmega2560 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. از یک stk500v2 bootloader استفاده می کند.
  • Arduino Mega (ATmega1280)
    یک میکروکنترلر ATmega1280 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار.
  • Arduino Leonardo
    یک میکروکنترلر ATmega32u4 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار.
  • Arduino Mini w/ ATmega328
    یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. از optiboot bootloader (با سرعت115200 و 0.5 کیلوبایت). دارای 8 ورودی آنالوگ.
  • Arduino Mini w/ ATmega168
    برابر است با Arduino NG or older w/ ATmega168 (یعنی یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست، بدون ریست خودکار).
  • Arduino Ethernet
    با Arduino UNO همراه با یک شیلد Ethernet برابر است.
  • Arduino Fio
    یک میکروکنترلر ATmega328 که با سرعت 8 مگاهرتزدر حال اجراست؛ همراه با ریست خودکار. برابر است با Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328.
  • Arduino BT w/ ATmega328
    ATmega328 که با سرعت 16 مگاهرتزدر حال اجراست. bootloader ی که بارگذاری شده است (4 کیلوبایت) شامل کدهایی جهت تنظیم ماژول بلوتوث آماده روی برد است.
  • Arduino BT w/ ATmega168
    ATmega168 که با سرعت 16 مگاهرتز در حال اجراست. bootloaderی که بارگذاری شده است شامل کدهایی جهت تنظیم ماژول بلوتوث موجود روی برد است.
  • LilyPad Arduino w/ ATmega328
    یک میکروکنترلر ATmega328 که با سرعت 8 مگاهرتز در حال اجراست (3.3V) همراه با ریست خودکار. برابر است با Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328.
  • LilyPad Arduino w/ ATmega168
    یک میکروکنترلر ATmega168 که با سرعت 8 MHz در حال اجراست. تلفیق و آپلود برابر با Arduino Pro or Pro Mini (8 MHz) w/ ATmega168 می باشد. bootloader بارگذاری شده است، با این حال، time out کندتری دارد (و LED که به پین 13 متصل است، هنگام ریست، 3 بار چشمک می زند). چون نسخه اورجینال LilyPad ریست خودکار را پشتیبانی نمی کرد. به علاوه، آنها شامل یک کلاک خارجی بودند، بنابراین فرمان burn bootloader فیوزهای ATmega168 را برای کلاک 8 مگاهرتزی داخلی پیکربندی می کند.

    اگر شما یکی از نسخه های اخیر LilyPad را دارید، (w/ a 6-pin programming header)، پیش از بارگذاری bootloader احتیاج است که Arduino Pro or Pro Mini (8 MHz) w/ ATmega168 را انتخاب کنید.
  • Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
    یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. برابر است با Arduino Duemilanove or Nano w/ ATmega328.
  • Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168
    یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. برابر است با Arduino Diecimila, Duemilanove, or Nano w/ ATmega168.
  • Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
    یک میکروکنترلر ATmega328 که با سرعت 8 مگاهرتز (3.3V) در حال اجراست؛ به همراه ریست خودکار. برابر است با LilyPad Arduino w/ ATmega328.
  • Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168
    یک میکروکنترلر ATmega168 که با سرعت 8 مگاهرتز (3.3V) در حال اجراست؛ به همراه ریست خودکار.
  • Arduino NG or older w/ ATmega168
    یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست؛ بدون ریست خودکار. تلفیق و آپلود برابر است با Arduino Diecimila or Duemilanove w/ ATmega168 ، اما bootloaderی که بارگذاری شده است، timeout کندتری دارد (و LED که به پین 13 متصل است، هنگام ریست، 3 بار چشمک می زند).
  • Arduino NG or older w/ ATmega8
    یک میکروکنترلر ATmega8 که با سرعت 16 مگاهرتز در حال اجراست؛ بدون ریست خودکار.

جهت گرفتن راهنمایی راجع به پشتیبانی نصب برای بردهای دیگر، پیوند سخت افزار third-party را در بالا مشاهده کنید. متن راهنمای آغاز کار با آردوینو تحت لیسانس Creative Commons Attribution-ShareAlike 3.0 مجوز گرفته است. نمونه کدهای راهنما، در حوزه عمومی منتشر شده اند.


......................................................................

نصب کتابخانه های جدید به آردوینو

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

کتابخانه چیست؟

کتابخانه ها یک مجموعه کد می باشند که اتصال سنسور، صفحه نمایش، ماژول و غیره را تسهیل می بخشند. به عنوان مثال، کتابخانه آماده LiquidCrystal برقراری ارتباط با صفحه نمایش LCD کاراکتری را آسان می کند. صدها کتابخانه جدید جهت دانلود در اینترنت موجود می باشد. کتابخانه های داخلی و برخی از این کتابخانه های جدید در مرجع لیست شده اند. جهت استفاده از کتابخانه های جدید، باید آنها را نصب کنید.

روش نصب یک کتابخانه

کتابخانه ها اغلب به صورت یک پوشه یا فایل ZIP منتشر می شوند. نام پوشه، نام کتابخانه است. درون پوشه یک فایل .cpp، یک فایل  .h و اکثر اوقات یک فایل keywords.txt، یک پوشه Examples، و فایل های دیگری که کتابخانه به آن احتیاج دارد، موجود است.

نصب خودکار

برای شروع کار با ورژن 1.0.5، می توانید کتابخانه های 3rd party را در محیط برنامه نویسی آردوینو نصب کنید.

کتابخانه ی دانلود شده را UNZIP نکنید، آن را به همان صورتی که هست، رها کنید.

در محیط برنامه نویسی آردوینو، به Sketch > Import Library بروید. در بالای لیست کشویی، گزینه ی "Add Library" را انتخاب کنید.

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

به منوی Sketch > Import Library بازگردید. اکنون باید کتابخانه را در پایین منوی کشویی ببینید. این کتابخانه آماده است تا در برنامه شما استفاده شود.

فایل Zip در پوشه libraries در مسیر برنامه های آردوینو شما بسط داده خواهد شد.

NB : کتابخانه جهت استفاده در برنامه های آردوینو موجود خواهد بود، اما نمونه کدهای آن، تا زمانی که محیط برنامه نویسی مجدداً باز نشود، در File > Examples ظاهر نمی شود.

نصب دستی

جهت نصب کتابخانه، ابتدا برنامه آردوینو را ببندید.

سپس فایل ZIP را که شامل کتابخانه است، از حالت Zip خارج کنید. به عنوان مثال، اگر در حال نصب کتابخانه ای به نام "ArduinoParty" هستید، فایل ArduinoParty.zip را UnZip کنید. این فایل باید شما پوشه ای به نام ArduinoParty باشد، و فایل هایی مثل ArduinoParty.cpp و ArduinoParty.h در این پوشه موجود باشد. (اگر فایل های .cpp و .h در یک پوشه نباشد، باید آن را ایجاد کنید. در این حالت، شما پوشه ای به نام "ArduinoParty" را می سازید و تمام فایلهایی که در فایل ZIP بود را،  مثل ArduinoParty.cpp و ArduinoParty.h،  به آن انتقال می دهید.)

پوشه ArduinoParty را به این پوشه (پوشه کتابخانه تان) منتقل کنید. در سیستم عامل ویندوز، احتمالا به صورت "My Documents\Arduino\libraries" نام گذاری شده است. برای کاربران سیستم عامل مکینتاش، ممکن است به این صورت "Documents/Arduino/libraries" باشد. در لینوکس، پوشه "libraries" در sketchbook شما خواهد بود.

پوشه کتابخانه آردوینو شما باید چیزی شبیه این باشد (در سیستم عامل ویندوز):

  My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.cpp
  My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.h
  My Documents\Arduino\libraries\ArduinoParty\examples
  ....

یا شبیه این (در سیستم عامل مکینتاش):

  Documents/Arduino/libraries/ArduinoParty/ArduinoParty.cpp
  Documents/Arduino/libraries/ArduinoParty/ArduinoParty.h
  Documents/Arduino/libraries/ArduinoParty/examples
  ...

برای لینوکس هم به همین ترتیب است.

ممکن است فایل های بیشتری موجود باشد. فقط اطمینان حاصل کنید که همه اینها در آن باشد.

(اگر فایل های .cpp و .h را مستقیماً درون پوشه کتابخانه ها قرار ندهید، و یا آنها را در پوشه ای اضافه بریزید، کتابخانه عمل نخواهد کرد.) برای مثال:

  Documents\Arduino\libraries\ArduinoParty.cpp 
  Documents\Arduino\libraries\ArduinoParty\ArduinoParty\ArduinoParty.cpp

برنامه آردوینو را بسته و مجدداً باز کنید. توسط گزینه Import Library در نرم افزار، اطمینان حاصل کنید که کتابخانه جدید در برنامه ظاهر شده باشد؛

همین! اکنون شما یک کتابخانه نصب کرده اید!

این مرجع آموزشی بر اساس نوشته ای از Limor Fried تهیه شده است.

متن راهنمای آغاز کار با آردوینو تحت لیسانس Creative Commons Attribution-ShareAlike 3.0 مجوز گرفته است. کدهای نمونه در راهنما، در حوزه عمومی منتشر شده اند.








نوع مطلب :
برچسب ها :
لینک های مرتبط :
دوشنبه 8 اردیبهشت 1393 :: نویسنده : mohammadreza

Modeling, Verification, and Control of Complex Systems for Energy Networks


Motivation

Power networks (or generally energy networks) are systems of great societal and economic relevance and impact, particularly given the recent growing emphasis on environmental issues and on sustainable substitutes (renewables) to traditional energy sources (coal, oil, nuclear).

The aim of this Dagstuhl seminar is to survey existing and explore novel formal frameworks for modeling, analysis and control of complex, large scale cyber-physical systems, with emphasis on applications in power networks. Power networks also represent systems of considerable engineering interest, since:

  • they can be large-scale and involve various devices interconnected in a complex manner,
  • they are heterogeneous, that is they can be naturally modeled through a combination of continuous dynamical elements (to capture the evolution of quantities such as voltages, frequencies and generation output) and discrete dynamical components (to capture changes in the network topology, controller logic, state of breakers, isolation devices, transformer taps, etc.),
  • they involve substantial stochastic components. Sources of uncertainty traditionally considered in power networks include hardware faults and unforeseen events, as well as stochasticity arising from continuous processes, particularly power demand. Furthermore, the increasing availability of renewable energy sources (e.g. photovoltaic panels, wind turbines, etc.) implies that uncertainty (for example, uncertainty in weather forecasts) also enters at the power supply side,
  • some variables are only partially observable due to the absence of real-time sensing circuitry in large parts of the existing power distribution network.

Stochastic hybrid systems (SHS) stand for a mathematical framework that allows capturing the complex interactions between continuous dynamics, discrete dynamics, and probabilistic uncertainty. In the context of power networks, stochastic hybrid dynamics arises naturally: (i) continuous dynamics models the evolution of voltages, frequencies, etc.; (ii) discrete dynamics models controller logic and changes in network topology (unit commitment); and (iii) probability models the uncertainty about power demand, power supply from renewables and power market price.

The seminar will cover relevant approaches to modeling and analysis of stochastic hybrid dynamics, in the context of energy networks. It will thus foster cross-fertilization between techniques originating from disparate scientific communities, with the seminar hosting contributions from a number of different fields, such as the computer sciences, systems and control theory, power systems and probability theory. Bridging the gap and providing formal links between the different classes of methods will help with the goal of developing novel methodological approaches that are powerful enough to deal with complex, dynamical systems. The participation of practitioners and researchers from the field of power networks will enable exploration of the benefits offered by the use of such complex models and methods.

Classification

  • Modelling / Simulation
  • Optimization / Scheduling
  • Semantics / Formal Methods

Keywords

  • Analysis / control / verification of complex stochastic systems
  • Formal synthesis
  • Reliability engineering and assessment
  • Energy networks




نوع مطلب :
برچسب ها :
لینک های مرتبط :
دوشنبه 8 اردیبهشت 1393 :: نویسنده : mohammadreza

What is MoVeS ?

Transportation systems, power networks, biological systems, communication networks and other large-scale systems often involve the interaction between continuous, discrete and stochastic phenomena. In systems theory and computer science, stochastic hybrid systems have been developed as an ideal framework for capturing the intricacies of complex, large-scale systems.

Considerable research effort has been devoted to the development of modeling, analysis and control methods for stochastic hybrid systems, both in computer science (giving rise to theorem proving and model checking methods) and in control engineering (giving rise to optimal control and randomized methods).

Despite several success stories, however, none of the methods currently available are powerful enough to deal with real life, large-scale applications. We believe a key reason for this is that different communities have developed these methods for various applications in relative isolation. As a consequence, potential synergies between these methods have never been fully explored.

In October 2010, the MoVeS project received three-year funding from the European Commission's Seventh Framework Programme to develop methods and computational tools to support the modeling, analysis and control of stochastic hybrid systems. Specifically, our aims are to establish links between existing methods of model checking, theorem proving, optimal control and randomized methods, and to leverage their complementary strengths to enable novel applications for large-scale, complex systems.

In this context, common case studies from the area of power networks will provide a fertile testing ground for the fundamental developments.

Stable operation of the electric power system is crucial to any advanced society. And yet the safety, stability and efficiency of our power networks are affected by many uncertainties, including fluctuating demands, unforeseen events such as natural failures or acts of malice, and, more recently, uncertainty in power production due to the push to integrate renewable sources of energy and distributed generation into existing grids.

This combination of continuous dynamics (e.g. the evolution of voltages, frequencies), discrete dynamics (e.g. changes in network topology), and probability (e.g. uncertainty about power demand and supply) make power systems an ideal testing ground for stochastic hybrid systems methods.

The MoVeS project will explore the potential impact of our novel methodological developments on this important application.

Key Deliverables

  • Report on modeling framework, model composition, and bisimulation notions
  • Final report on model predictive control for stochastic hybrid systems
  • Final report on modeling, analysis, impact and potential exploitation




نوع مطلب :
برچسب ها :
لینک های مرتبط :
دوشنبه 8 اردیبهشت 1393 :: نویسنده : mohammadreza

Control of Complex Systems

Complexity is all around us. Whether new streamlined production processes, organisational structures or the evolution of markets, understanding and controlling complex systems is critical to success. Nowhere is this need greater than in the planning and delivery of space missions.

Our world leading expertise in systems engineering, mission analysis and control design, has been honed by delivering modelling, analysis and control system design services to the space industry. Our more terrestrial client portfolio now benefit from the innovative approaches to algorithm design, estimation techniques, signal processing and target identification emerging from this work.





نوع مطلب :
برچسب ها :
لینک های مرتبط :
دوشنبه 8 اردیبهشت 1393 :: نویسنده : mohammadreza

Welcome Message from the Chair

Large-scale complex systems have been traditionally characterized by a large number of variables, nonlinearities and uncertainties. Their decomposition into smaller, more manageable subsystems, possibly organized in a hierarchical form, has been associated with intense and time-critical information exchange and with the need for efficient decentralization and co-ordination mechanisms.

The last decade of the past century and the beginning of the 21st century have revealed new characteristic features of industrial and non-industrial large-scale complex systems. In particular the issue of system complexity has become transparent. Moreover, the enterprise of the present time are to operate in a highly networked environment and there is an ever more increased concern for integration of various technologies and for economic, environmental and social aspects. Consequently the design of control and decision support systems must take into account more aspects and needs additional skills and tools. At the same time, the recent advances in computer and communication technologies can provide effective tools and adequate technical infrastructures to support the design and implementation of control and decision support systems for the large-scale complex system applications of the present time.

The IFAC Technical Committee on "Large-Scale Complex Systems" has already 30 years tradition. The main event of this TC are symposia entitled "Large Scale Systems: Theory and Applications" (abbreviated as LSS). The inaugural edition has held in Udine, Italy in 1976. Since then, at a three-year succession, the Symposium took place in Toulouse, France (1980), Warsaw, Poland (1983), Zurich, Switzerland (1986), Berlin, GDR (1989), Beijing, China (1992), London, UK (1995), Partas, Greece (1998), Bucharest, Romania (2001), Osaka, Japan (2004) and Gdansk, Poland in 2007. The next edition of Symposium will be held in Lille, France in 2010.

It can be appreciated now that several subfields that are traditional for LSS events remain of increasing interest to the scientific community, such as decentralized and hierarchical control, model reduction, optimization and complex system analysis. Traditional applications of LSS methods, such as power, gas, transportation, manufacturing, water systems agriculture, process industry, robotics and communication networks are still of interest. However, these application systems have been continuously developing and new challenges have emerged.

For example, during last Symposium in Gdansk key ideas regarding generic inteligent network systems and their application to decision support and control of critical infraracture systems were presented. The Inteligent Network Systems were identified as strongly emergent field with the applications such as water and mobile communication networks, autonomous intelligent unmaned vehicle systems and security systems.

The TC members and other members of the control community are welcome to contribute to the successful fulfillment of the mission of this TC.

Mietek A. Brdys
Chair of IFAC TC 5.4





نوع مطلب :
برچسب ها :
لینک های مرتبط :

ذیرش در دوره دکتری رشته های مختلف گرایش مکاترونیک

پذیرش در دوره دکتری رشته های مختلف گرایش مکاترونیک

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

ممکن هست افرادی موفق به پذیرش در رشته مستقل مکاترونیک را نداشته باشند و ناچار بشوند به گرایش مکاترونیک بروند

همچنین ممکن است افرادی در یک رشته دیگر دارای سوابقی بوده اند (مثلا مکانیک) و نمی خواهند با مباحث رشته های دیگر در تماس باشند و فقط می خواهند در زمینه مکاترونیک پروژه هایی انجام دهند

بنابراین ضرورت ایجاد تاپیکی برای داوطلبان گرایش مکاترونیک احساس می شود.

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

=============


دانشگاه دیترویت

University of Detroit Mercy
دکتری مهندسی برق با گرایش مکاترونیک
و
دکتری مهندسی مکانیک با گرایش مکاترونیک


رشته های مهندسی این دانشگاه دارای 51 واحد معادل با 17 درس می باشد. دو درس عمومی، تعدادی درس اجباری و بقیه دروس اختیاری هستند

دروس عمومی رشته برق و مکانیک
Design of Experiments
Advanced Engineering Mathematics

دروس اجباری رشته برق گرایش مکاترونیک
Introduction to Microcontrollers and Lab
Sensors and Actuators
Mechatronics Modeling & Simulation

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

Mechatronics
Mechatronics: Modeling & Simulation
Sensors and Actuators
Robotics
Controls Modeling and Design for Advanced Electric Vehicle
Electric Drives/Electromechanical Energy Conversion
دروس اختیاری گرایش مکاترونیک
هر درسی به پیشنهاد استاد راهنما!


رنک

دانشکده برق و مکانیک این دانشگاه جزء 125 دانشکده برتر دانشگاه های آمریکا نیست
یعنی رنک بسیار بدی دارد
می توانید به عنوان اولویت آخر خود انتخاب کنید
البته این رنک برای افرادی که که رزومه ی ضعیفی دارند موهبتی است


کارشناسی ارشد و کارشناسی
این دانشگاه دارای رشته مستقل مکاترونیک در مقطع کارشناسی است
در مقطع کارشناسی ارشد نیز با همین دروس دکتری ارائه می شود
یعنی دوره کارشناسی ارشد نیز رشته برق گرایش مکاترونیک و رشته مکانیک گرایش مکاترونیک است
هرکه را اسرار حق آموختند
مهر کردند و دهانش دوختند




نوع مطلب :
برچسب ها :
لینک های مرتبط :
سه شنبه 15 بهمن 1392 :: نویسنده : mohammadreza
  1. تفاوت رباتیک و مکاترونیک

    تضاد رباتیک با مکاترونیک

    تضاد خودمختار با خودکار

    ROBOTICS VS MECHATRONICS

    AUTONOMOUS VS AUTOMATIC


    مکاترونیک یک رشته ی چند تخصصی ، شامل رشته های مهندسی مکانیک ، مهندسی الکترونیک و مهندسی کامپیوتر است . مکاترونیک از دو کلمه ی "مکا" مخفف مکانیک و "ترونیک" مخفف الکترونیک مشتق شده است . رباتیک نیز همانند مکاترونیک از سه رشته ی هندسی مکانیک ، مهندسی الکترونیک و مهندسی کامپیوتر بوجود آمده است .
    تفاوت اصلی در آن است که سیستم های مکاترونیکی ورودی هایشان فراهم شده است (تمام ورودی ها از قبل تعریف شده و شناخته شده است) ؛ در حالی که سیستم های رباتیکی باید خودشان ورودی ها را از محیط دریافت نمایند. به عنوان مثال چراغ راهنمایی و رانندگی و ماشین لباسشویی ، سیستم های مکاترونیکی هستند . در چراغ راهنمایی و رانندگی وقتی انسان دکمه ای را فشار می دهد رنگ چراغ تغییر می کند و در ماشین لباسشویی دمای آب ، زمان و ... به آن داده شده است. حتی وقتی چراغ راهنمایی و رانندگی در حالت خودکار قرار می گیرد و بدون نیاز به فشردن دکمه ای ، کار می نماید . هنوز به عنوان سیستم مکاترونیکی شناخته می شود چون ورودی هایش (زمان روشن بودن هر رنگ) برایش فراهم گردیده است . این فرایند ، خوکار (اتوماتیک) نامیده می شود . آن چه گفته شد در تضاد است با حالتی که چراغ راهنمایی و رانندگی دارای یک دوربین جهت تشخیص مردمی که می خواهند از عرض خیابان شوند باشد و رنگ چراغ را با توجه به فشردگی جمعیت تغییر دهد. آن چه گفته شد یک سیستم رباتیک است . این فرایند را خودمختاری (اتونوموس) گویند .

    نتیجه

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

    -------------------------
    پی نوشت مترجم : امروزه دو علم مکاترونیک و رباتیک در ایران یک علم جدید شناخته می شود ، مهندسی مکاترونیک در مقطع کارشناسی و کارشناسی ارشد تدریس می شود ، اما متاسفانه مهندسی رباتیک فقط در مقطع کارشناسی تدریس می شود و خبری از تدریس مهندسی رباتیک در مقطع کارشناسی ارشد حتی در آینده نیز به گوش نمی رسد . این در حالی است که در کشور های پیشرفته صنعتی دنیا مانند ایالات متحده آمریکا رشته ی مهندسی رباتیک به طور مجزا از مکاترونیک و رشته های دیگر از مقطع کارشناسی تا مقطع پست دکتری تدریس می شود . متاسفانه بعضی ها در ایران این دو رشته را یکی می دانند یا دیده شده است که مهندسی رباتیک را یکی از گرایش های مکاترونیک نام می برند . این درست است که یکی از گرایش های مکاترونیک در مقطع کارشناسی ارشد رباتیک است اما رشته های مکانیک طراحی کاربردی ، مکانیک ساخت و تولید ، کنترل ، هوش مصنوعی نیز دارای گرایش رباتیک در مقطع کارشناسی ارشد می باشند . این در حالی است که رشته ی رباتیک با رشته های مکاترونیک ، مکانیک طراحی کاربردی ، مکانیک ساخت و تولید ، کنترل و هوش مصنوعی متفاوت است. چون رباتیک یکی از گرایش های رشته ی مذکور است دلیل نمی شود که رباتیک را زیر مجموعه ی آن رشته بنامیم. امیدواریم با خواندن این مقاله تفاوت مکاترونیک با رباتیک بر خوانندگان روشن شده باشد و این مقاله جرقه ای باشد برای گسترش مهندسی رباتیک در مقاطع بالاتر در دانشگاه های کشور .


    نویسنده : Rony Novianto
    مترجم : محسن جعفرزاده


    تکثیر و انتشار این مقاله ، بسیار توصیه می گردد.
    هرکه را اسرار حق آموختند
    مهر کردند و دهانش دوختند
  2. #2

    پیش فرض پاسخ : تفاوت رباتیک و کگاترونیک

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

    1- سیستم های رباتیک دارای حسگر هایی هستند که از محیط اطلاعات کسب کنند ولی سیستم های مکاترونیکی نسبت به محیط بی تفاوت هستند.
    2- سیستم های رباتیکی خود مختار اند سیستم های مکاترونیکی خودکار هستند

    یک مثال برای درک بهتر خودکار و خودمختار
    شما وقتی معدتون خالی می شود به طور خودکار احساس گشنگی می کنید و اختیار ندارید مهم نیست که ددر محیط شما غذا یافت شود و یا خیر. پس معده ی شما خودکار است.
    اما عمل غذا خوردن شما اختیاری است. یعنی اگر غذا در محیطتان هم باشد باز می توانید بخورید و یا خیرو پس انسان موجودی خودمختار است.


    یک مثال از حسگر های محیطی
    یک سیستم آبیاری هوشمند را در نظر بگیرید می تواند چهار حالت زیر داشته باشد
    1- یک کلید داشته باشد که هر وقت دکمه ای زد شد مزرعه را آبیاری نماید
    2- دارای برنامه ی زمان بندی باشد و شما جدول زمان بندی بدهی و یا بگویی هر 36 ساعت ، سپس سر موعد آبیاری شود
    3- سیستم آبیاری به اینترنت وصل باشد و از آن فرمان بگیرد که چه زمانی آبیاری کند و کی متوقف شود
    4- دارای حسگر های باران و رطوبت خاک باشد که وقتی رطوبت خاک از مقداری کمتر شد آبیاری کند و هنگامی که هوا بارانی شد آبیاری را متوقف کند
    سه حالت اول بیانگر یک سیستم مکاترونیکی هست حالت چهارم بیانگر یک سیستم رباتیکی است


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

    این طور که من متوجه شدم دو تخصص مکاترونیک و رباتیک در خیلی از موضوعات دارای نقاط مشترکی هستند...تنها تفاوتشون (که تو مقاله تضاد رباتیک و مکاترونیک هم خوندیم) اینه که سیستمهای مکاترونیکی با ورودیهاشون تنها به صورتی رفتار میکنن که برنامه ریزی شدند(خودکارند یا به عبارتی سیستم های مکاترونیکی ورودی هایشان فراهم شده است)...
    ولی سیستمهای رباتیکی قادرند بسته به شرایط مختلف نسبت به ورودیهاشون رفتارهای مختلفی نشون بدن(خودمختارند یا به عبارتی سیستم های رباتیکی باید خودشان ورودی ها را از محیط دریافت نمایند و پردازش های لازم رو روی ورودی ها انجام بدن....)که بسته به اینه که از چه فناوریهایی در اونها استفاده شده باشه(هوش مصنوعی، پردازش تصویر، منطق فازی و...)
    حالا سوالم اینجاست: چرا باید عنوان ربات رو به بازوهای صنعتی اختصاص بدیم... مگر این سیستمها کارهای مشخصی رو در وضعیت ثابت و یکسان و بدون تغییر به شکل پی در پی تکرار نمیکنن؟(جوشکاری، رنگپاشی،...)
    مگر ورودی این سیستمها مشخص و ثابت نیست؟
    آیا درست ترش این نیست که این بازوها رو سیستمهای مکاترونیکی خطاب کنیم تا بازوهای رباتیکی؟
    بازو های صنعتی (manipulator) به پنج نوع مختلف دسته بندی می شوند.
    1- یک نوع از این بازو ها با اپراتور کار می کند یعنی یک نفر پشت آن قرار می گیرد و آن را هدایت می کند. operator control
    2- دیگر نوع آن بدین صورت است که مسیر حرکت را از طریق معادله مسیر بر حسب زمان به صورت کد ویا GUI به سیستم می دهند. Positional commands
    3- روش دیگر با استفاده از تیچ پندانت یا در اصطلاح عامیانه روش "جاگ" برای ربات مسیر حرکت را مشخص می کنند. Teach pendant
    4- شیوه ی دیگر آن است که بازو را یک انسان جابجا می کند و مسیر در حافظه سیستم ذخیره می شود. Lead by the nose
    5- پنجمین نوع بدین گونه است که هدف مشخص می شود و ربات با بینایی و یا سنسور اطلاعات محیط را جمع آوری می کند و کار می کند مثلا بازویی که قرار است بسته هایی را از نوار نقاله اول به نوار نقاله دوم منتقل کند و این بسته ها داری زمان مشخصی نباشند مثلا فاصله ورود هر بسته متفاوت باشد و همچنین چون بسته دقیقا وسط نوار نقاله نیست یعنی می تواند راست تر و چپ تر و یا دارای زاویه باشد به عبارت دیگر با این که هدف انتقال از نوار نقاله اول به دوم است ولی زمان و مختصات دقیق را نداریم در این جا کل کار تشخیص به عهده سیستم است. Autonomous

    * بازو هایی که در چهار دسته اول قرار می گیرند بازو های مکاترونیکی هستند و بازو هایی که در دسته ی پنجم قرار می گیرند بازو های رباتیکی به شمار می روند.

    در هر سیستمی خطا وجود دارد . در مکاترونیک با تکیه بر استفاده از بهترین قطعات و روش ساخت ، سعی بر کاهش خطا دارند ولی در رباتیک با پیچیده کردن هوش ربات ؛ خطاها را کم تر می نمایند از این رو مشاهده می کنیم بازو های رباتیکی با وجود تکنولوژی ساخت پایین تر و مواد نا مرغوب تر ، خطای کمتری دارند.

    ===========

    در ادامه حتما تاپیک زیر را بخوانید

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

    هرکه را اسرار حق آموختند
    مهر کردند و دهانش دوختند

  3. #3

    پیش فرض پاسخ : تفاوت رباتیک و مکاترونیک

    نقل قول نوشته اصلی توسط robotic نمایش پست ها
    پی نوشت مترجم : امروزه دو علم مکاترونیک و رباتیک در ایران یک علم جدید شناخته می شود ، مهندسی مکاترونیک در مقطع کارشناسی و کارشناسی ارشد تدریس می شود ، اما متاسفانه مهندسی رباتیک فقط در مقطع کارشناسی تدریس می شود و خبری از تدریس مهندسی رباتیک در مقطع کارشناسی ارشد حتی در آینده نیز به گوش نمی رسد . این در حالی است که در کشور های پیشرفته صنعتی دنیا مانند ایالات متحده آمریکا رشته ی مهندسی رباتیک به طور مجزا از مکاترونیک و رشته های دیگر از مقطع کارشناسی تا مقطع پست دکتری تدریس می شود . متاسفانه بعضی ها در ایران این دو رشته را یکی می دانند یا دیده شده است که مهندسی رباتیک را یکی از گرایش های مکاترونیک نام می برند . این درست است که یکی از گرایش های مکاترونیک در مقطع کارشناسی ارشد رباتیک است اما رشته های مکانیک طراحی کاربردی ، مکانیک ساخت و تولید ، کنترل ، هوش مصنوعی نیز دارای گرایش رباتیک در مقطع کارشناسی ارشد می باشند . این در حالی است که رشته ی رباتیک با رشته های مکاترونیک ، مکانیک طراحی کاربردی ، مکانیک ساخت و تولید ، کنترل و هوش مصنوعی متفاوت است. چون رباتیک یکی از گرایش های رشته ی مذکور است دلیل نمی شود که رباتیک را زیر مجموعه ی آن رشته بنامیم. امیدواریم با خواندن این مقاله تفاوت مکاترونیک با رباتیک بر خوانندگان روشن شده باشد و این مقاله جرقه ای باشد برای گسترش مهندسی رباتیک در مقاطع بالاتر در دانشگاه های کشور .


    نویسنده : Rony Novianto
    مترجم : محسن جعفرزاده


    تکثیر و انتشار این مقاله ، بسیار توصیه می گردد.
    این مطلب را از روی یک سایتی که مربوط به سال 88 بود کپی کردم

    لازم به ذکر است دانشگاه صنعتی امیرکبیر از سال 1389 و دانشگاه صنعتی شاهرود از سال 1390 در مقطع کارشناسی ارشد دانشجو رباتیک پذیرش کرده اند.
    هرکه را اسرار حق آموختند
    مهر کردند و دهانش دوختند
    پاسخ با نقل قولRobotica آنلاین نیست.
  4. پیش فرض پاسخ : تفاوت رباتیک و مکاترونیک

    سلام دوستان . به لطف مطالب مفیدی که نوشتین مخصوصا دوست عزیزمون Robotic تفاوت میان رباتیک و مکاترونیک رو کامل فهمیدم. حالا خیلی برام مهمه که فرق رباتیک رو با رشته اتوماسیون بفهمم. آیا یکی هستند ؟ ممنون میشم کسی اگه میدونه جوابمو بده.
    ویرایش توسط artemis_743 : September 12th, 2013 در ساعت 02:53 PM دلیل: تغییر عنوان پست پس از انتقال به تاپیک مناسب
  5. #5

    پیش فرض پاسخ : تفاوت رباتیک و مکاترونیک

    نقل قول نوشته اصلی توسط Robotica نمایش پست ها
    حالا خیلی برام مهمه که فرق رباتیک رو با رشته اتوماسیون بفهمم. آیا یکی هستند ؟ ممنون میشم کسی اگه میدونه جوابمو بده.
    از نظر تئوری

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

    از نظر عملی

    در عمل وقتی در محیط صنعتی قرار دارید وقتی از کلمه اتوماسیون نام برده می شود منظورشان "اتوماسیون صنعتی در خطوط تولید" است و برای راحتی بقیه اش را تلفظ نمی کنند و خود شنونده معنی کاملش را می فهمد
    در عمل وقتی در محیط اداری قرار دارید وقتی از کلمه اتوماسیون نام برده می شود منظورشان "اتوماسیون اداری" است و برای راحتی بقیه اش را تلفظ نمی کنند و خود شنونده معنی کاملش را می فهمد
    در عمل وقتی در محیط روستایی قرار دارید وقتی از کلمه اتوماسیون نام برده می شود منظورشان "اتوماسیون کشاورزی" است و برای راحتی بقیه اش را تلفظ نمی کنند و خود شنونده معنی کاملش را می فهمد
    در عمل وقتی در محیط ... قرار دارید وقتی از کلمه اتوماسیون نام برده می شود منظورشان ... است و ...

    حوزه اتوماسیون اداری مربوط به رشته کامپیوتر و IT است
    حوزه اتوماسیون صنعتی مربوط به رشته مکاترونیک است
    و ...

    از نظر رشته شناسی

    به عنوان رشته مستقل وقتی از اتوماسیون نام برده می شود منظور همان "اتوماسیون صنعتی در خطوط تولید" است.
    به عنوان گرایش مکاترونیک وقتی از اتوماسیون نام برده می شود منظور اتوماسیون صنعتی است. چه در خطوط تولید و چه در خارج آن. چه در کارخانه و چه در خانه و چه در ...دروس رشته مستقل اتوماسیون به صورت تخصصی تر از دروس مکاترونیک تعریف می شود. یعنی در مکاترونیک چون فقط بحث خطوط تولید مطرح نیست دروس و سرفصل آن ها به صورت جامع تر تعریف می شود.

    رفع ابهام:
    در بعضی از دانشگاه ها می بینیم رشته ای تحت عنوان "رباتیک و اتوماسیون" و یا حالت برعکسش یعنی "اتوماسیون و رباتیک" دیده می شود.
    این به معنی این نیست که این دو به هم ربط دارند. بلکه به معنی این است که نصف دروس رباتیکی و نصف دروس مربوط به اتوماسیون هست.
    در واقع دانشگاه ها هدفشان از ارائه این دو رشته این است که فارغ التحصیلانشان بازار کار گسترده تری داشته باشند و هم بتوانند به کار های رباتیکی بپردازند و هم کار های اتوماسیونی.




نوع مطلب :
برچسب ها :
لینک های مرتبط :

 

ویكردی كه در شمال آمریكا به عنوان اولین قدم جهت رسیدن به شبكه هوشمند انتخاب شد، ایجاد دانشگاهی مبتنی بر Smart Microgrid  ها است. چنین Microgrid ای تجربیات تكنولوژیكی شركت ها، دانشگاهها و كارخانه ها را جمع آوری می نماید تا راهی معتبر،با كیفیت و مقرون به صرفه جهت رسیدن به شبكه هوشمند ایجاد نماید.

 سه نسل از Smart Microgrid تا كنون پدید آمده است:

 

1GM: نسل اول Microgrid ابتدا بر توسعه ظرفیت شبكه برق و مسائل پیرامون دسترسی از راه دور Microgrid ها تمركز می كند كه در آن مسائلی از قبیل كنترل، فرمان، ثبات، قابلیت اطمینان و یكپارچگی منابع تجدید پذیر انرژی در اهمیت بالایی قرار گرفته است.

نمونه ای از این Microgird  ها، Kythnos Microgrid است كه در یونان وجود دارد.

 http://www.microgrids.eu/index.php?page=index

2GM : نسل دوم Microgrid عمدتا روی مباحث توزیع و حول موضوعات مربوط به قابلیت و كیفیت سیستم های توزیع برق متمركز هستند. رویكرد عمده ای كه این Microgrid ها دارند ایجاد ظرفیت جایگزین برای تجهیزات شبكه در حالت های مختلف شبكه است. این روش روی DA (Distribution Automation) متمركز است و با توابع دیگر شبكه هوشمند مثل AMI (Advanced Metering Infrastructure) ، DSM (Demand Side Management) و یكپارگی منابع تجدید پذیر انرژی و ... سر و كار ندارد.

نمونه ای از این Microgrid ، در  IIT است كه توسط دكتر شاهیده­پور به انجام رسید.

http://www.iit.edu/perfect_power

3GM : در نسل سوم Microgrid  برای ساخت نسخه كوچك شده شبكه هوشمند از طریق توسعه نسل هوشمند ساختار توزیع و توابعاصلی شبكه هوشمند از قبیلAMI (Advanced Metering Infrastructure), DSM (Demand Side Management), DA (Distribution Automation), SA (Substation Automation), OM (Outage Management) and CIS (Customer Information System)  تلاش میكنند. تا كنون دو  Smart Microgrid از این نسل در شمال آمریكا استقرار یافته است. یكی در دانشگاه UCSD  (كالیفرنیا و سندیگو) و دیگری در موسسه BCIT  (انیستیتو تكنولوژی بریتیش كلمبیا).

 

اطلاعات بیشتر در این رابطه در سایتهای زیر موجود است:

 http://www.edsa.com/pa_articles/pdf/ucsd_smart_grid.pdf

http://www.bcit.ca/microgrid/

 

منبع : سایت سابا

 





نوع مطلب :
برچسب ها :
لینک های مرتبط :


( کل صفحات : 17 )    1   2   3   4   5   6   7   ...   
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
XML Parsing Error: unexpected parser state Location: jar:file:///C:/Program%20Files/Mozilla%20Firefox/omni.ja!/chrome/toolkit/content/global/netError.xhtml Line Number 308, Column 50: ابزار وب