آردوینو سخت افزار قطعات الکترونیک میکروکنترلر AVR

آموزش برنامه نویسی AVR با استفاده از بوت لودر و نرم افزار آردوینو

programming-avr-with-arduino-ide-and-bootloader-digispark-
نوشته شده توسط علی زاهدی

در واقع بوت لودر فایل هگزی بر روی میکروکنترلر می باشد که این اجازه را به ما میدهد تا پس از روشن شدن میکروکنترلر بتوان از طریق درگاه UART میکروکنترلر را پروگرام کنیم. این شبیه به BIOS است که بر روی کامپیوتر اجرا می شود. در این آموزش قصد داریم تا بوت لودر آردوینو را بر روی میکروکنترلر Atmega8 انتقال دهیم و سپس با استفاده از مبدل USB to TTL و نرم افزار Arduino IDE میکروکنترلر Atmega8 را پروگرام کنیم. در ادامه با مرجع تخصصی بردهای امبدد به زبان فارسی، دیجی اسپارک همراه باشید.

 


انتقال بوت لودر به میکروکنترلر Atmega8


ابتدا مدار را طبق نقشه زیر بر روی بِردبُرد ببندید و سپس کد را بر روی برد آردوینو آپلود کنید. با این کار بوت لودر بر روی میکروکنترلر منتقل می‌شود. سریال مانیتور را باز کنید تا از اینکه بوت لودر به طور صحیح انتقال یافته و هیچ خطایی وجود ندارد مطمئن شوید.

 

کدهای زیر مخصوص بوت لودر برای آی سی میکرو هستند. کافیست یکبار روی آی سی آپلود شوند. پس از آن امکان پروگرام کردن تراشه‌های میکروکنترلر با مبدل USB to TTL وجود دارد. بنابراین کدهای زیر را کپی کرده و بر روی برد آردوینو آپلود کنید. کتابخانه optiLoader.h را همراه با کد زیر میتوانید از لینک دانلود فرمایید.

 


تنظیمات نرم افزار آردوینو


حالا بوت لودر بر روی میکروکنترلر اپلود شده و اماده برای انتقال برنامه می باشد. برد آردوینو را جدا کنید و  مدار را طبق نقشه زیر بر روی بِردبُرد ببندید.

 

حالا باید برای انتقال برنامه بر روی میکروکنترلر Atmega8 آن را بعنوان یک برد به نرم افزار آردوینو معرفی کنیم، برای این کار ابتدا باید از منو ی File گزینه ی Preferences را انتخاب کنید. داخل بخش Additional Boards Manager URLs آدرس زیر را کپی کنید. (اگر از قبل آدرس دیگری داخل این بخش موجود بود، از , استفاده کنید و سپس لینک را جلو , کپی کنید) و سپس گزینه OK را انتخاب کنید.

از منو ی Tools گزینه ی Board بخش Boards Manager را انتخاب کنید. سپس کلمه MiniCore را سرچ کنید و سپس گزینه ی Install را انتخاب کنید. پس نصب برد، مبدل USB to TTL را به سیستم متصل کنید و از منو ی Tools گزینه ی Board میکروکنترلر Atmega8 را انتخاب کنید. کد زیر را داخل نرم افزار آردوینو کپی کنید. سپس کلید بر روی بِردبُرد را نگه داشته و گزینه ی Upload را انتخاب کنید. تا زمانی که داخل نوار ابی قسمت پایینی نرم افزار آردوینو ...Compiling sketch نوشته شده است کلید را نگه دارید و به محض تغیر کلمه به …Uploading کلید را رها کنید.

 


لوازم مورد نیاز


 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

علی زاهدی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۰ دیدگاه

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

    • سلام، از توجه شماسپاس گزارم
      بله فرقی نمیکنه، کد رو داخل آردوینو بنویسید و به راحتی با مبدل USB to TTL بر روی میکروکنترلر انتقال بدین.

  • سلام،
    ۱- بعد از این روش میشه از ATMEGA8 مثل قبل استفاده کرد منظورم استفاده از اون و پروگرام کردنش با avr و کد های هگز کدویژن هست، امکانش هست؟
    ۲- بجای استفاده از مبدل usb میشه از خود بورد آردوینو استفاده کرد برای پروگرام کردن؟
    ۳- در استفاده کردن آی سی که کد های آردوینو داخلش هست باید کریستال ۱۶ مگ هم قرار داده بشه تا کار کنه یا خیر؟
    تشکر از راهنمایی و پاسخ هایی که به ترتیب به سوال ها میدید.

    • سلام، با تشکر از توجه شما
      ۱٫ بله با انتقال بوت لودر آردوینو به میکرو مشکلی برای میکرو ایجاد نمی شود و پس از آن قابل استفاده می باشد.
      ۲٫بله میتوانید استفاده کنید، فقط در قسمت برد ها باید Atmega8 انتخاب شود.
      ۳٫بله فیوز بیت ها بر روی ۱۶ مگاهرتز تنظیم شده است و کریستال حتما باید در مدار موجود باشد.

      • نمیشه بدون کریستال اینکارو کردش؟
        و با خود بورد آردوینو چطوری باید پروگرم کرد اتمگا رو؟ (اگر میشه کامل بفرمایید)

        • سلام مجدد،
          برای این که بدون کریستال استفاده کنید، باید هنگام پروگرام کردن میکرو کریستال را بر روی اسیلاتور داخلی میکروکنترلر تنظیم کنید و سپس میکرو را پروگرام کنید.
          برای پروگرام کردن با برد اردینو باید پایه های RX و TX میکرو را به پایه های ۰ و ۱ برد اردینو متصل کنید و تغذیه مدار هم از برد آردوینو باید تامین شود سپس در نرم افزار اردوینو بجای انتخاب برد Uno باید Atmega8 را انتخاب کنید.