# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded > AVR >  شروع برنامه نویسی میکروکنترلر

## sn2hsn2h

سلام دوستان
من میخوام برنامه نویسی میکروکنترلر یاد بگیرم. میخواستم کمکم کنید که بهترین راه برای شروع برنامه نویسی میکرو چیه؟ avr یاد بگیرم اول یا arm? آموزشگاه خوب کجا هست؟
آیا بدون آموزشگاه هم میشه یاد گرفت؟
کلا برای شروع باید چیکار کنم؟
از راهنماییتون ممنونم.
لیسانس کامپیوتر دارم و برنامه نویس جاوا هستم. با c , C++‎ ,C#‎ , اسمبلی , .net , ... هم کاردکردم و آشنایی دارم ولی از اول هم علاقه زیادی به برنامه نویسی میکرو داشتم.  :لبخند:  :لبخند:  :لبخند:  :لبخند:

----------


## sba.saeed

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

----------


## sn2hsn2h

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



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

----------


## sba.saeed

خواهش میکنم  :خجالت: 
نه ابتدا نیاز به گرفتن سخت افزار نداری چون پروژه های ابتدایی رو میتونیم با نرم افزار شبیه سازی کنیم.
شما در ابتدا نیاز داری نرم افزار codevision رو برای کد زدن  روی سیستمت نصب کنی و نرم افزار  proteus رو برای سیموله کردن.
بعداز این میتونی شروع کنی به برنامه نوشتن و سیموله کردن .

----------


## نیما عطایی

سلام
دوست عزیز اگه برنامه نویسی بلدی خودتو درگیر زبانهای سطح پایین و سخت و محدود قدیمی نکن
شما با Arduino میتونی تقریبا با همه میکرو کنترل های arm , avr کار کنی و اصلا نیازی هم به محدود شدن رو سخت افزار نداری
در ضمن حرفهایی که درباره سادگی اردیونو میشنوی رو هم فراموش کن 
پروژه های بسیار بزرگ صنعتی رو الان با اآردوئینو میسازند
یادگیریش هم خیلی راحت تره

----------


## dizgah

> پروژه های بسیار بزرگ صنعتی رو الان با اآردوئینو میسازند


???
و چرا ؟

----------


## sba.saeed

> شما با Arduino میتونی تقریبا با همه میکرو کنترل های arm , avr کار کنی و اصلا نیازی هم به محدود شدن رو سخت افزار نداری
> در ضمن حرفهایی که درباره سادگی اردیونو میشنوی رو هم فراموش کن 
> پروژه های بسیار بزرگ صنعتی رو الان با اآردوئینو میسازند
> یادگیریش هم خیلی راحت تره



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

----------


## sn2hsn2h

> خواهش میکنم 
> نه ابتدا نیاز به گرفتن سخت افزار نداری چون پروژه های ابتدایی رو میتونیم با نرم افزار شبیه سازی کنیم.
> شما در ابتدا نیاز داری نرم افزار codevision رو برای کد زدن  روی سیستمت نصب کنی و نرم افزار  proteus رو برای سیموله کردن.
> بعداز این میتونی شروع کنی به برنامه نوشتن و سیموله کردن .



ممنوم دوست گرامی. 
پس بهتره من فعلا این دوتا نرم افزار رو دانلود و نصب کنم و شروع به تمرین کنم تا کلا دستم بیاد چی به چیه و باید چیکار کنم.  :لبخند: 
راستی کارکردن با codevision راحته؟ آموزش نیاز داره؟ تو خود این نرم افزار نمیشه سیموله کرد؟

----------


## sn2hsn2h

> سلام
> دوست عزیز اگه برنامه نویسی بلدی خودتو درگیر زبانهای سطح پایین و سخت و محدود قدیمی نکن
> شما با Arduino میتونی تقریبا با همه میکرو کنترل های arm , avr کار کنی و اصلا نیازی هم به محدود شدن رو سخت افزار نداری
> در ضمن حرفهایی که درباره سادگی اردیونو میشنوی رو هم فراموش کن 
> پروژه های بسیار بزرگ صنعتی رو الان با اآردوئینو میسازند
> یادگیریش هم خیلی راحت تره



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

----------


## sba.saeed

> ممنوم دوست گرامی. 
> پس بهتره من فعلا این دوتا نرم افزار رو دانلود و نصب کنم و شروع به تمرین کنم تا کلا دستم بیاد چی به چیه و باید چیکار کنم. 
> راستی کارکردن با codevision راحته؟ آموزش نیاز داره؟ تو خود این نرم افزار نمیشه سیموله کرد؟


شما باید بتونی از codewizard نرم افزار استفاده کنی و یه سری تغییراتو همونجا اعمال کنی تا برنامه کدویژن رو آماده بهت بده و بری سراغ کدنویسی کردن.
codewizard خیلی کاررو برات راحت میکنه.
نه داخل خودش شبیه ساز نداره. :چشمک:

----------


## sn2hsn2h

> شما باید بتونی از codewizard نرم افزار استفاده کنی و یه سری تغییراتو همونجا اعمال کنی تا برنامه کدویژن رو آماده بهت بده و بری سراغ کدنویسی کردن.
> codewizard خیلی کاررو برات راحت میکنه.
> نه داخل خودش شبیه ساز نداره.


اوکی دستت درد نکنه. دانلود میکنم و شروع کنم ببینم چی میشه.  :تشویق:  :تشویق:  :تشویق:  :تشویق:  :تشویق:  :تشویق:  :چشمک:  :چشمک:  :چشمک:  :چشمک:  :چشمک:  :چشمک:  :چشمک:

----------


## sba.saeed

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

----------


## sba.saeed

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

----------


## نیما عطایی

سلام
مشکل شما از کمبود اگاهی و چسبیدن به دانش قدیمی است
اردیونو از دو بخش نرم افزار و سخت افزار تشکیل شده
اون چیزی که شما به عنوان برد های اردیونو میبینید مثل همون برد های آموزشی AVR میمونه نه چیزی که لازم و اجبار باشه
موضوع زبان برنامه نویسی است نه اون برد که به چشم میبینید 
تو پروژه های صنعتی از زبان اردیونو استفاده میکنند نه برد هاش 
برد ها با ARM , AVR طراحی و ساخته میشند و میکرو با اردیونو برنامه ریزی میشه.
لطفا دفعه بعد که خواستید اطلاعات غلط منتشر کنید کمی دربارش تحقیق هم بکنید
درضمن اگر دوست داشتید همه روزه از 9 تا 21 دفتر در خدمتم تا پروژه های صنعتی که با زبان اردیونو نه برد آموزشیش ساخته شده رو نشونتون بدم.

----------


## dizgah

> سلام
> * مشکل شما از کمبود اگاهی و چسبیدن به دانش قدیمی است*
> اردیونو از دو بخش نرم افزار و سخت افزار تشکیل شده
> اون چیزی که شما به عنوان برد های اردیونو میبینید مثل همون برد های آموزشی AVR میمونه نه چیزی که لازم و اجبار باشه
> موضوع زبان برنامه نویسی است نه اون برد که به چشم میبینید 
> * تو پروژه های صنعتی از زبان اردیونو استفاده میکنند نه برد هاش* 
> برد ها با ARM , AVR طراحی و ساخته میشند و میکرو با اردیونو برنامه ریزی میشه.
> * لطفا دفعه بعد که خواستید اطلاعات غلط منتشر کنید کمی دربارش تحقیق هم بکنید*
> درضمن اگر دوست داشتید همه روزه از 9 تا 21 دفتر در خدمتم تا پروژه های صنعتی که با زبان اردیونو نه برد آموزشیش ساخته شده رو نشونتون بدم.


میشه لطفا چند نمونه رو همینجا بفرمایید؟ تا بررسی کنیم ببینیم واقعا روش بهتر ، ارزانتر و مطمعن تری وجود نداشته یا طراح نخواسته یا نتوانسته از اونها استفاده کنه!
هدف از خلقت آردوینو و رسپری و ... آموزشیه دوست عزیز حالا ممکنه یه بنده خدایی برا هابی چن تا پروژه براش داده !
اصلا میتونین بگین منظور از صنعتی بودن چیه ؟ و چه استانداردهایی نیازه تا یه محصول چه در بعد سخت افزار و چه نرم افزار بدست بیاره تا بتونه ادعای استفاده صنعتی رو بکنه ؟
همونطور که میدونین با آردوینو حتی ماهواره های سایز کوچک هم ساخته شده ولی آیا این آردوینو رو به بهترین گزینه که نه حتی گزینه ی قابل قبولی برای این حوزه تبدیل میکنه؟
جامعه ی هدف آردوینو تنها متخصصان نرم افزار و افراد عادی هستن که میخوان براحتی برنامه نویسی برای رایانه با دستگاههای امبدد هم کار کنن!و استفاده تجاری از اون به نظر من برای صرفه جویی در زمان و برای مرحله پروتو تایپ تنها مقوله.
--بنا براین با در نظر گرفتن سخت افزار مشابه، برنامه نویسی با IDE و استفاده از بوتلدر اون رو با یه IDE حرفه ای مثل IAR قابل مقایسه نیست!مگر زبان خود آردوینو خود چیزی بغیر از نمونه کاستومایز شده ای از CPP میباشد ؟
و حتی صرف نظر از نرم افزار استفاده از سخت افزار های این محصول آیا صرفه اقتصادی (در تولید انبوه و استفاده صنعتی ) و مشخصات مورد نیاز یک محصول صنعتی رو داره؟
----------بنا براین چنانچه یک متخصص الکترونیک یا سخت افزار یا امبدد هستید و یا قصد ورود حرفه ای به این زمینه رو دارید آردوینو گزینه ی مناسبی براتون نیست!!!
البته هر چیزی استفاده خودش رو داره و اگر ی متخصص نرم افزار هستید یا به هر علت نمیخواید درگیر سخت افزار و ویژگیهای سطح پایین بشید، یا یک کاربر عادی علاقمند به امبدد هستید ، تبریک میگم آردوینو انتخاب فوق العاده ای برای شماست!

----------


## مهدی کرامتی

چند سال پیش وقتی مجددا به حوزه الکترونیک وارد شدم (اون قدیم ها میکروکنترلر تو ایران نبود!) آردوئینو شدیدا نظرم رو جلب کرد، چون:
به جای درگیر کردن برنامه نویس برای ست کردن تعدادی رجیستر برای فهماندن تنظیمات مورد نظر به میکروکنترلر همون کار را با فراخوانی یک تابع انجام می داد.اگر کتابخانه مورد نیاز برای هر سنسور یا قطعه ای برای محیط CodeVision و ... پیدا نمی شد حتما معادلش برای آردوئینو وجود داشت!سرعت یادگیری برنامه نویسی میکروکنترلر در آردوئینو خیلی بیشتر و قابل فهم تر از CodeVision بود.*با استفاده از زبان ++C آردوئینو شما می توانید کدی بنویسید که بدون تغییر روی ARM, PIC و AVR (و اخیرا FPGA !!!) اجرا شود. این قاعده شامل میکروهای خیلی خاص ARM مانند خانواده Tensilica نیز هست.*  

بنابراین من کار با آردوئینو رو شروع کردم.

چند وقت بعد سعی کردم همون برنامه هایی که تو آردوئینو نوشته بودم رو در CodeVision بنویسم. برنامه هایی که می خواستم بنویسم برنامه هایی بودند که کلی کار باید انجام می دادند. نوشتن اون برنامه ها در CodeVision زمان بسیار بیشتری می برد (حداقل 4 برابر) ولی سایز کد کامپایل شده خروجی همیشه 1K کمتر از فایل Hex ای بود که توسط آردوئینو کامپایل می شد.
در CodeVision باید با محدودیت های زبان C کنار بیای، ولی در آردوئینو شما در حقیقت با ++C برنامه می نویسی. این یعنی می تونی اجزاء سخت افزارت مانند Port ها و ... رو به شکل Class تعریف کنی و هر وقت با اون اجزا کار داری یک نمونه از کلاس مربوطه در کد بسازی و ... .

Library Manager و Board Manager آردوئینو واقعا یک نعمت است. در Board Manager شما یک بار مشخصات سخت افزارت رو تعریف می کنی و هر بار برد مربوطه رو انتخاب کنی تنظیمات Fusebit ها به صورت خودکار انجام میشه. Library Manager در آردوئینو خیلی شبیه مکانیسم مشابهی به نام Nuget است که ما در Visual Studio داریم. یعنی وقتی دنبال نمونه کد برای کار با یک قطعه یا سنسور می گردی، کافیه اون پنجره رو باز کنی و اسم قطعه را جستجو کنی، خودش کتابخانه مورد نظر رو برات میاره و دانلود و نصب کرده و مثال هاش رو در دسترس ات قرار میده. در حالی که همین کتابخانه ها برای CodeVision بسیار کمیاب است. بسیار برایم جالب بود وقتی دیدم جزو امکانات آخرین نسخه منتظر شده CodeVision نوشته بود "اضافه شدن کتابخانه کار با LCD های کاراکتری"! . چرا که این کتابخانه در آردوئینو جزو اولین چیزهایی بود که استفاده کردم.




> منظور از صنعتی بودن چیه ؟ و چه استانداردهایی نیازه تا یه محصول چه در بعد  سخت افزار و چه نرم افزار بدست بیاره تا بتونه ادعای استفاده صنعتی رو  بکنه ؟


از نظر من و مشتری هایمان سخت افزار صنعتی، سخت افزاری است اولا با قطعات Grade صنعتی ساخته شده باشه و بتونه با سنسورها و مدارهای فرمان رایج در محیط صنعت کار کنه. 
یک Rotary Encoder آموزشی را می توانید با چند هزار تومان تهیه کنید، اما قیمت همون Encoder اگر Grade صنعتی باشه قیمت اش از 500.000 تومان شروع می شه.
همچنین یک سخت افزار صنعتی باید بتونه در محیط پر نویز نزدیک دستگاه های صنعتی مانند موتورهای غول پیکر و یا تابلوهای فشار بالا کار کنه. در چنین محیط هایی شما دائما با EMP های خفیف روبرو هستید. رایج هست که می گن Arduino و AVR برای کار در چنین محیط هایی خوب نیست چون نویز پذیر است. صرف اطلاع اینکه سخت افزار شما بتونه در یک محیط پر نویز کار کنه یک سری نکته داره که اگر رعایت کنید سخت افزار شما بدون مشکل در اون محیط ها می تونه کار کنه.




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


بستگی داره به اینکه شما قراره چه کاری انجام بدهید و آیا ابزاری که در اختیار دارید توانایی انجام کار رو به شما می دهد یا نه. 
از نظر من هر ابزاری که در کمترین زمان به بهترین وجه امکان انجام کاری که قرار است انجام دهید را به شما بدهد بهترین گزینه محسوب می شود.




> استفاده از سخت افزار های این محصول آیا صرفه اقتصادی (در تولید انبوه و استفاده صنعتی ) و مشخصات مورد نیاز یک محصول صنعتی رو داره؟


اگر پشت بردهای آماده آردوئینو را بخوانید نوشته "Hardware Prototyping Platform". این یعنی شما برای دسترسی به پایه های میکرو نیاز نیست خیلی زحمت بکشید و با استفاده از بردهای آردوئینو از این لحاظ کلی صرفه جویی زمانی دارید.
اما زمانی که از کارکرد صحیح همه چیز مطمئن شدید دیگر قرار نیست از همان برد آماده استفاده کنید. بلکه می بایست در محیط های طراحی Schematic و PCB رایج، همان ترکیب سیم های سنسور با میکرو و بقیه قطعات را در یک برد طراحی شده توسط خودتان قرار دهید و برد را به تعداد انبوه بسازید. مشخصا در این حالت به جای پرداخت (مثلا) 35.000 تومان برای خرید یک برد آماده آردوئینو (که وجهه کاری تولید کننده سخت افزار را به دلیل مبتدی جلوه کردن کار مختل خواهد کرد) ، شما فقط پول خرید میکرو استفاده شده در همان برد (که الان تو بازار تهران 5.500 تومان است) را پرداخت خواهید کرد.





> بنابراین چنانچه یک متخصص الکترونیک یا سخت افزار یا امبدد هستید و یا قصد  ورود حرفه ای به این زمینه رو دارید آردوینو گزینه ی مناسبی براتون  نیست!!!


شدیدا با این حرف تون مخالفم. اگر به صفحه اصلی سایت CodeVision سر بزنید  نوشته اند که 15.400 نفر تا بحال به عنوان مشتری شناخته شده CodeVision دارند، در حالی که تعداد استفاده کننده های Arduino از مرز میلیون گذشته است. آیا این اعداد برای شما قابل تامل نیست؟!

----------


## dizgah

> چند سال پیش وقتی مجددا به حوزه الکترونیک وارد شدم (اون قدیم ها میکروکنترلر تو ایران نبود!) آردوئینو شدیدا نظرم رو جلب کرد، چون:
> 
> به جای درگیر کردن برنامه نویس برای ست  کردن تعدادی رجیستر برای فهماندن تنظیمات مورد نظر به میکروکنترلر همون کار  را با فراخوانی یک تابع انجام می داد.اگر کتابخانه مورد نیاز برای هر سنسور یا قطعه ای برای محیط CodeVision و ... پیدا نمی شد حتما معادلش برای آردوئینو وجود داشت!سرعت یادگیری برنامه نویسی میکروکنترلر در آردوئینو خیلی بیشتر و قابل فهم تر از CodeVision بود.


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



> چند وقت بعد سعی کردم همون برنامه هایی که تو آردوئینو نوشته بودم رو در  CodeVision بنویسم. برنامه هایی که می خواستم بنویسم برنامه هایی بودند که  کلی کار باید انجام می دادند. نوشتن اون برنامه ها در CodeVision زمان  بسیار بیشتری می برد (حداقل 4 برابر) ولی سایز کد کامپایل شده خروجی همیشه  1K کمتر از فایل Hex ای بود که توسط آردوئینو کامپایل می شد.
> در CodeVision باید با محدودیت های زبان C کنار بیای، ولی در آردوئینو شما  در حقیقت با ++C برنامه می نویسی. این یعنی می تونی اجزاء سخت افزارت مانند  Port ها و ... رو به شکل Class تعریف کنی و هر وقت با اون اجزا کار داری  یک نمونه از کلاس مربوطه در کد بسازی و ... .


 افراد و شرکت هایی که به طور حرفه ای از سری AVR در محصولاتشون استفاده میکنن از IAR استفاده میکنن که توصیه میکنم در پروژه هاتون استفاده کنین.Codevision معمولا بین هابیست ها و برای راه اندازی سریع و آسان پریفرال ها بکار میره و در سطح IDE های حرفه ای فکر نمیکنم به حساب بیاد.بنا براین به نظرم مقایسه تون صحیح نیست.



> بسیار برایم جالب بود وقتی دیدم جزو امکانات آخرین نسخه منتظر شده  CodeVision نوشته بود "اضافه شدن کتابخانه کار با LCD های کاراکتری"!


اگه اشتباه نکنم در حدود سالهای 87-88 که از این IDE استفاده کردم کتابخانه ال سی دی ها درش وجود داشت (البته مطمعن نیستم)بعلاوه چنین مواردی در IDE های دیگری مثل BASCOM هم به صورت آماده و ساده وجود داره که همونطور که گفتم برای راه اندازی راحت امتیاز حساب میشه نه استفاده حرفه ای



> ز نظر من و مشتری هایمان سخت افزار صنعتی، سخت افزاری است اولا با قطعات  Grade صنعتی ساخته شده باشه و بتونه با سنسورها و مدارهای فرمان رایج در  محیط صنعت کار کنه. 
> یک Rotary Encoder آموزشی را می توانید با چند هزار تومان تهیه کنید، اما  قیمت همون Encoder اگر Grade صنعتی باشه قیمت اش از 500.000 تومان شروع می  شه.
> همچنین یک سخت افزار صنعتی باید بتونه در محیط پر نویز نزدیک دستگاه های  صنعتی مانند موتورهای غول پیکر و یا تابلوهای فشار بالا کار کنه. در چنین  محیط هایی شما دائما با EMP های خفیف روبرو هستید. رایج هست که می گن  Arduino و AVR برای کار در چنین محیط هایی خوب نیست چون نویز پذیر است. صرف  اطلاع اینکه سخت افزار شما بتونه در یک محیط پر نویز کار کنه یک سری نکته  داره که اگر رعایت کنید سخت افزار شما بدون مشکل در اون محیط ها می تونه  کار کنه.


ببینین بسته به شرایط استفاده در استفاده صنعتی در برگه های اطلاعاتی محصول باید صراحتا ذکر شده باشه که محصول توانایی استفاده در فیلد مورد استفاده شما رو داره .
استاندارد های بسیاری در این زمینه وجود داره ، به طور مثال استاندارد ایمنی SIL سطح نسبی کاهش ریسک محصول رو مشخص میکنه و در این سطح مثلا تجهزات برای استفاده در حمل و نقل عمومی و خطوط ریلی باید استاندارد SIL4 رو کسب کنن .
بنابراین حتی در صورت استفاده از قطعات گرید industrial تولیدات ATMEL و یا حتی گرید Automotive یا medical-military-aerospace  که سخت گیرانه ترن باز هم تا جایی که بنده اطلاع دارم بوتلودر و IDE هرگز چنین چیزی رو کسب نکرده(و نیاز هم نیست بکنه چون هدفش استفاده صنعتی نیست !)



> از نظر من هر ابزاری که در کمترین زمان به بهترین وجه امکان انجام کاری که  قرار است انجام دهید را به شما بدهد بهترین گزینه محسوب می شود.


این اصطلاحات نسبی هستند و نه مطلق و آردوینو در زمینه استفاده صنعتی هرگز حتی به این حداقل ها نزدیک نمشود(بنا بر نوشته های پیشین ) و هرگز ادعا هم نمیکند که میتواند!



> اگر پشت بردهای آماده آردوئینو را بخوانید نوشته "Hardware Prototyping  Platform". این یعنی شما برای دسترسی به پایه های میکرو نیاز نیست خیلی  زحمت بکشید و با استفاده از بردهای آردوئینو از این لحاظ کلی صرفه جویی  زمانی دارید.
> اما زمانی که از کارکرد صحیح همه چیز مطمئن شدید دیگر قرار نیست از همان  برد آماده استفاده کنید. بلکه می بایست در محیط های طراحی Schematic و PCB  رایج، همان ترکیب سیم های سنسور با میکرو و بقیه قطعات را در یک برد طراحی  شده توسط خودتان قرار دهید و برد را به تعداد انبوه بسازید. مشخصا در این  حالت به جای پرداخت (مثلا) 35.000 تومان برای خرید یک برد آماده آردوئینو  (که وجهه کاری تولید کننده سخت افزار را به دلیل مبتدی جلوه کردن کار مختل  خواهد کرد) ، شما فقط پول خرید میکرو استفاده شده در همان برد (که الان تو  بازار تهران 5.500 تومان است) را پرداخت خواهید کرد.


حتی از دید تجاری هم در مرحله Mass production استفاده از این قطعات هیچ توجیهی ندارد.
العان شما میکروهای 32 بیتی cortex m0 از NXP,ST,TI را میتوانید با کمتر از 1.5 دلار به قیمت تک فروشی تهیه کنید.
به طور خاص در بازار محصولات فوق رو میتونین با کمتر از نصف مبلغ اشاره شده توسط شما تهیه کنین (هرچند درتعداد بالا و تهیه مستقیم قیمتشون وافقعا ناچیز میشه و پریفرال هایی که در خاتیارتون میزارن قابل مقایسه نیست.!
همچنین به طور مثال st برای سری cortex m0 خودش لایسنس کیل مجانی بهتون میده که مقایسه کیل با اون سطح امکانات و دیباگینگ و سیمولیشن و RTOS اش و کتابخوونه های میانی پریفرال هاش با آردوینو !!!! اصلا اصلا اصلا منطقی نیست!
nxp هم که برای کل سری محصولاتش lpcxpresso ارائه میده که همچنین + دیباگرهای ارزون و حرفه ای که نوشتن برنامه های حجیم بون اونها تقریبا محاله (اصلا آردوینو امکان دیباگ و امولیشن داره ؟؟؟)

----------


## bitajamili

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

----------

