تفاوت آردوینو با AVR

نوشته شده توسط irasa 2018/08/29 17:40:14 0 نظرات آردوینو,الکترونیک به زبان ساده,
  • آردوینو چیست؟

به زبان ساده آردوینو یک برد که از یک پردازنده و یک سری قطعات الکترونیکی مثل خازن و کریستال و رگولاتور و… تشکیل شده است؛ آردوینو انواع مختلفی دارد که بسته به نوع آن و پردازنده ای که روی آن استفاده می شود متفاوت است؛ مثلا روی آردوینو UNO میکروکنترلر مورد استفاده ATMEGA328 است؛ قطعات الکترونیکی که به صورت پیش فرض روی برد آردوینو قرار گرفته، کار را برای راه اندازی ساده تر از میکروکنترلر AVR میکنه ( چون این برد تمام چیز های اولیه مورد نیاز خودشو داره ولی avr نداره چون فقط یه میکرو خالی هستش )

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

 

  • دارا بودن قطعات مورد نیاز اولیه در برد آردوینو

خوب اولین سوالی که پیش میاد میگیم خوب چه کاریه به جای برد آردوینو از خود AVR استفاده میکنیم چه فرقی داره ؟؟ خوب فرق داره کسانی که با AVR کار کرده باشن خوب می دونند حتی اگر بخوان یک پروژه ساده مثل LED چشمک زن رو راه اندازی کرده باشن علاوه بر خود AVR با یک سری سخت افزار جانبی مثل رگولاتور و کریستال و سیم بندی برای تغذیه میکروکنترلر AVR، پروگرامر ( برای ریختن برنامه تو avr ) نیاز دارند.

پروگرام کردن AVR هم یک سری مشکلات دارد در بهترین حالت که پروگرامر از نوع USB باشد باید AVR را از مدار خارج کرده و روی پروگرامر وصل کرد ( البته میتونید به روش SPI میکرو رو پروگرام کنید که اینطوری دیگه نیاز نیست همش میکرو رو از برد جدا کنید ) در ادامه کد را آپلود کرد و سپس میکرو را از پروگرامر جدا کرده و به برد وصل می کنیم ( نهایت دقت رو باید داشته باشیم که میکرو رو اشتباه یا برعکس وصل نکنیم به مدار چون اون وقت ممکنه برای میکرو مشکل ایجاد بشه و یا حتی دیگه نتونید ازش استفاده کنید ) تازه اگر در کد نویسی اشتباه کوچکی رخ نداده باشد که در این صورت باز هم 4 مرحله وجود داره تا آپلود انجام شود؛ خوب تا این مرحله راه اندازی LED با AVR بود.خوب الان نوبتی هم که باشه نوبت برد آردوینو هست که خودنمایی کنه، خوب حالا قطعات مورد نیاز چی هست؟ برد آردوینو + کابل USB

اکثر برد های آردوینو یک LED به صورت پیش فرض نصب شده است ( به پایه 13 برد آردوینو )؛ در روی برد آردوینو رگولاتور، کریستال و همه سخت افزارهای جانبی روی برد به صورت پیش فرض نصب شده است پس به هیچ سخت افزاری نیاز نیست؛ برای راه اندازی پروژه LED با آردوینو کافیست با USB آردوینو را به کامپیوتر وصل کنید در نرم افزار آردوینو با اشاره یک کلید کد را روی برد آپلود کنید؛ یعنی بعد از آماده شدن کد فقط با 2 حرکت می توانید کد را روی آردوینو آپلود کنید.اگر فرض کنیم کسی در کد نویسی وارد نباشد باید چندبار کد برنامه را تغییر دهد حالا اگر با AVR کار کند به ازای هر تغییری که در کد بوجود می آورد و بخواهد آپلود را انجام دهد 4 مرحله را باید طی کند، ولی اگر بخواهد همین مراحل را با آردوینو طی کند اصلاً نیازی به جدا کردن کابل USB نیست و همانطور که کابل USB به آردوینو متصل است می توانید برنامه ریزی را روی برد انجام دهید؛ پس الان فرق آردوینو با خود AVR مشخص شد که چه فرق اساسی دارد.

 

  • کدنویسی راحت تر آردوینو

یک فرق اساسی دیگری هم دارد و آن هم در حوزه کد نویسی و برنامه نویسی است همانطور که می دانیم زبان کدویژن زبان C هست و مثلاً برای برنامه ریزی برای LED اول کتابخونه ها رو فراخوانی میکنیم بعد میریم سراغ رجیسترها و پورت و از این دست کارها ولی زبان برنامه نویسی برای آردوینو زبان ++C است که خب از C بهتر و ساده تر هستش ( البته کامپایلرهای دیگه ای هم AVR داره، مثلا اتمل استدیو که زبانش ++C هستش یا بسکام که زبونش بیسیک هستش و … ) و در این برنامه نیاز به هیچ گونه هدری و رجیستری برای راه اندازی فایل لازم نداریم؛ برای مقایسه دو تا کد میگذاریم اولی کد نویسی برای AVR هست :

#include <mega16.h>
#include <delay.h>
void main(void)
{
PORTC=0x00;
DDRC=0x01;
while(1)
{
PORTC.0=1;
delay_ms(300);
PORTC.0=0;
delay_ms(300)
    }
}
 
 
کدی که برای LED نوشته شده با کدویژن می باشد
 
 
void setup()
{
pinMode(13,OUTPUT);
}
 
void loop()
{
digitalWrite(13,HIGH);
delay(300);
digitalWrite(13,LOW);
delay(300);
}

به نظر بنده برنامه نویسی با آردوینو بسیار راحت تر از برنامه نویسی با کدویژن ( یا هر کامپایلر دیگه AVR ) است؛ حالا بازم قضاوت با خودتون.

خوب حالا یک توضیحاتی کوچک راجع به برنامه نویسی آردوینو : تابع setup برای confing کردن یا همون تنظیمات مربوط به قطعات رو انجام می دید مثل همون تابع main توی کدویژن و تابع loop یک مفهوم داره اجرا تا ابد مثل همون while توی کدویژن.

 

  • مقایسه قیمت آردوینو و avr

برای آردوینو فقط نیاز به خرید خود برد و کابل رابط هست

اما برای AVR باید میکرو ,رگولاتور ,کریستال,منبع تغذیه ,پروگرامرو... رو تهیه کنید (تقریبا آردوینو نصف کل این قیمت میشه اما بعضی از قطعات مثل پروگرامر رو فقط یک بار تهیه میکنید و دیگه نیازی به خرید مجدد نیست )

اگر تو خراب کردن مهارت دارین AVR به صرفه تر میتونه باشه

 

  • ساخت یه پروژه در عمل

ساختن یک پروژه در عمل با آردوینو بسیار بهتر از خود avr است، زیرا در آردوینو ما تمرکز اصلی روی برنامه نویسی است و کمتر درگیر مسائل سخت افزاری می باشیم ولی اگر بخواهیم یک پروژه را با avr پیاده سازی کنیم علاوه بر مسائل نرم افزاری باید به مسائل سخت افزاری هم توجه کنیم و مثلاً برای راه اندازی avr باید اتصال سیم بندی ها را مراقب باشیم که اشتباه وصل نکنیم یا رگولاتور ولتاژ مناسب انتخاب کنیم ولی در آردوینو کلاً شما یک آداپتور یا یک usb به برد آردوینو وصل کنی کارت راه می افته و درگیر سیم بندی و کارهای سخت افزاری مورد نیاز میکرو نیستید.

 

 

  • سخت افزار آردوینو

سوکت آداپتور :

هر وسیله برقی برای روشن شدن به ولتاژ یا برق احتیاج داره که آردوینو هم از این قاعده مستثنی نیست . برای روشن کردن آردوینو چند راه وجود دارد اولین راه همان کابل USB هست . علاوه بر پورت USB برای روشن کردن آردوینو یک سوکت مخصوص آداپتور هم وجود دارد که میتوان این سوکت را به آداپتور وصل کرد البته نه هر جور آداپتوری چون آداپتورها جریان ها و ولتاژهای متفاوتی دارند معمولاً به برد آردوینو آداپتورهای 5 ولت تا 9 ولت وصل می کنند . و توصیه می کنیم که از آداپتورهای 12 ولتی خودداری نمایید چون در طولانی مدت مجبورید برد را دور بندازید ( رگولاتورهای ولتاژ برد آردوینو در اثر ولتاژ 12 ولتی به شدت داغ میشوند و در طولانی مدت میسوزند . ) اگر بخواهید دما و رطوبت یک بیابان و یا صحرا یا کوهستان را اندازه گیری کنید و به یک ایستگاهی که در فاصله چند صد متری یا یک کیلومتری شما وجود دارد بفرستید ، چکار باید کنید؟ در بیابان یا کوهستان که دسترسی به برق هم نداریم مگر اینکه لپ تاپ ببریم خوب از صبح تا شب که با یک لپ تاپ نمی توانیم وسط بیابون یا کوهستان وایسیم خوب پس چکار کنیم یعنی پروژه کنسل؟ اینجاست که طراحی برد آردوینو به دادمون رسید به شکل زیر نگاه کنید :

 

 همانطور که در عکس مشخص است یک پایه در اینجا وجود دارد به اسم Vin که یک پایه ورودی است که میتوان یک باطری به آن متصل کرد در واقع سر مثبت باطری را به پایه Vin و سر منفی باطری را به GND متصل می کنیم؛ خوب، برای راه اندازی دما باید به سنسور هم ولتاژ بدهیم این ولتاژ را چگونه تهیه کنیم؟ همانطور که در شکل مشاهده می کنید دو پایه به نام های 5V و 3.3V وجود دارد که به عنوان پایه های خروجی استفاده می شود یعنی پایه 5V ولتاژ 5 ولت و پایه 3.3V ولتاژ 3.3 ولت را به خروجی می دهد و پایه GND هم به عنوان زمین مدار استفاده می شود؛ پس برای راه اندازی سنسور دما یا ماژول فرستنده/گیرنده از پایانه های ولتاژی 5 ولت و 3.3 ولت به عنوان منبع ولتاژ سنسور دما و یا ماژول فرستنده/گیرنده و یا هر ماژول دیگری استفاده میشود و دیگه نیازی به رگولاتور ولتاژ اضافی نیست؛ لازم به ذکر است که هر نوع ولتاژی را نمی توان به پایه Vin داد پیشنهاد خود شرکت سازنده ماکزیمم 12 ولت است ( زیر 5 ولت قاعدتاً نباید ولتاژ به این پایه داد ) پایه Vin یک کاربرد دیگر هم دارد وقتی ولتاژ آردوینو با آداپتور فراهم بشه روی پایه Vin ولتاژ 9 ولت می افتد و زمانی هم که کابل USB به برد آردوینو متصل میشود ولتاژ 5 ولت روی برد آردوینو می افتد. پایه IOREF سطح منطقی که برد باهاش کار می کند روی این پایه می افتد به عنوان مثال آردوینو UNO روی این پایه سطح منطقی 5 ولت می اندازد یعنی سطح منطقی پین های ورودی و خروجی این برد 5 ولت است ولی آردوینو DUE ولتاژ 3.3 ولت روی این پایه می اندازد.

ارسال نظر

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