نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مشخص نشده

روش های استخراج hex از نرم افزار آردوینو و ریختن آن روی میکروکنترلر

285

بِسْمِ اللَّـهِ الرَّحْمَـٰنِ الرَّحِیمِ

روش های استخراج hex از نرم افزار آردوینو و ریختن آن روی میکروکنترلر

روش های استخراج hex از نرم افزار آردوینو و ریختن آن روی میکروکنترلر
با سلام خدمت شما عزیزان، آردوینو شامل یک بخش نرم افزاری و یک بخش سخت افزاری است که در بخش نرم افزاری کدها را می نویسیم و پس از کلیک روی گزینه ی Upload نرم افزار آردوینو کدهای نوشته شده را به کدهای قابل درک برای میکروکنترلر تبدیل می کند و از طریق USB این کدها به مبدل USB به Serial ارسال می شود و سپس روی میکروکنترلر قرار می گیرد. البته اگر BootLoader(بوت لودر) روی میکروکنترلر قرار نداشته باشد باشد، امکان ریختن کدها از طریق مبدل USB یه Serial وجود ندارد.

در آردوینو BootLoader تکه کدی است که در آخر حافظه ی Flash میکروکنترلر قرار می گیرد و باعث می شود که میکروکنترلر بتواند از طریق پایه های ارتباط Serial برنامه ریزی شود.
در این مطلب قصد داریم که روش های مختلف استخراج کدهای HEX از آردوینو و ریختن مستقیم آن ها روی میکروکنترلر را بررسی کنیم.
 
عناوین این مطلب :

  1. ریختن کدها با استفاده از دستگاه برنامه ریز(Programmer)
  2. استخراج کدهای ساخته شده از پوشه ی Temp
  3. استخراج کدها با کلید ترکیبی و پیدا نمودن مقادیر Fuse Bit و ریختن کدها روی میکروکنترلر
  4. پاسخ به پرسش ها و چند نکته

 


روش اول؛ ریختن کدها با استفاده از دستگاه برنامه ریز

در این روش نحوه ریختن کد درون میکروکنترلر با استفاده از دستگاه برنامه ریز را بررسی می کنیم.
۱- محیط برنامه نویسی(نرم افزار) آردوینو را باز می کنیم.
۲- پس از نوشتن کدها باید بدانیم که قرار است روی چه میکروکنترلی آن ها را بریزیم.
۳- از فهرست Tools زیر فهرست Board را باز می کنیم و یک آردوینو که میکروکنترلر مورد نظر ما روی آن استفاده می شود را انتخاب می کنیم مثلاً اگر می خواهیم کدهای خود را روی ATmega328P نوع DIP بریزیم می توانیم گزینه ی Arduino/Genuino Uno را انتخاب کنیم.
 تبدیل میکروکنترلر به آردوینو
 
اگر می خواهیم کدها رو روی ATmega8 نوع DIP بریزیم از زیر فهرست :Board گزینه ی Arduino NG or older را انتخاب می کنیم و سپس از زیر فهرست :Processor که ظاهر می شود گزینه ی ATmega8 را انتخاب می کنیم.
آردوینو
 
۴- دستگاه برنامه ریزی که می خواهیم با استفاده از آن کدها را روی میکروکنترلر انتقال دهیم را از فهرست Tools و زیر فهرست Programmer انتخاب می کنیم. به عنوان مثال من برنامه ریز اَروند را دارم که نوعی USBasp است پس از زیر فهرست Programmer گزینه USBasp را انتخاب می کنم.
 ریختن بوت لودر آردوینو
 
۵- میکروکنترلر را درون دستگاه برنامه ریز قرار می دهیم و دستگاه را به رایانه متصل می نماییم و آن را روشن می کنیم.
میکروکنترلر
 
۶- از فهرست Sketch گزینه ی Upload Using Programmer را انتخاب می کنیم تا کدها درون میکروکنترلر ریخته شود.
 تبدیل میکروکنترلر به آردوینو
 
۷- اگر روی میکروکنترلر BootLoader وجود داشته باشد، در صورت استفاده از گزینه Upload Using Programmer آن BootLoader حذف خواهد شد و فقط کدهای HEX درون میکروکنترلر ریخته می شوند.
برای بازگردانی BootLoader از فهرست Tools گزینه ی Burn BootLoader را انتخاب می کنیم. در این صورت کدهایی که در مرحله ۶ روی میکروکنترلر ریخته بودیم از روی میکروکنترلر پاک می شود و فقط BootLoader باقی می ماند.
دقت داشته باشیم که باید Board و Programmer را درست انتخاب کنیم.
burn bootloader
 


روش دوم؛ استخراج کدهای ساخته شده از پوشه ی Temp

پس از نوشتن کدها در محیط برنامه نویسی(IDE) آردوینو و پس از کلیک روی گزینه ی Verify در پوشه ای خاص چندین فایل توسط این نرم افزار ساخته می شود که یکی از آنها HEX مربوط به همان کدهای نوشته شده است. در این روش این HEX را پیدا می کنیم.
۱- محیط برنامه نویسی(نرم افزار) آردوینو را باز می کنیم.
۲- از فهرست File گزینه ی Preferences را انتخاب می کنیم.
محیط برنامه نویسی آردوینو
 
۳- در پنجره ی باز شده گزینه ی compilation که در جلوی Show verbose uotput during قرار دارد را تیک می زنیم.
آردوینو
 
۴- در محیط برنامه نویسی روی گزینه ی Verify کلیک می کنیم. این گزینه در بالا و سمت چپ نرم افزار قرار دارد.

پروگرام کردن آردوینو

۵- در پایین نرم افزار و در بخشی که پیام های نرم افزار نمایش داده می شود نشانی پوشه ی Temp را پیدا کنید و سپس آن را انتخاب نموده و برای ذخیره شدن(Copy) مکان در حافظه رایانه، کلیدهای ترکیبی Ctrl + C را بفشارید.

کد hex آردوینو

۶- به My Computer رفته و نشانی پوشه Temp به دست آمده را در کادر بالایی وارد کنید(Paste) و سپس کلید Enter را روی صفحه کلید بفشارید تا به پوشه مورد نظر برسید.
کد hex آردوینو
 
۷- در پوشه چندین فایل وجود دارد که در پایان یکی از آن ها hex. نوشته شده است و همین مورد مد نظر ما است.
کد hex آردوینو
 
۸- حالا با استفاده از دستگاه های برنامه ریز(Programmer) و با رعایت Fuse Bit(فیوزبیت) های مناسب که در روش بعدی بیان می شود می توانیم این کدها را درون میکروکنترلر بریزیم.


روش سوم؛ استخراج کدها با کلید ترکیبی و پیدا نمودن مقادیر Fuse Bit و ریختن کدها روی میکروکنترلر

در این روش ابتدا از کدها خروجی می گیریم و سپس با باز نمودن یک فایل در پوشه ی آردوینو مقادیر Fuse Bitها را پیدا می کنیم سپس با استفاده از یک دستگاه برنامه ریز مانند USBasp و نرم افزاری که بتواند با USBasp ارتباط برقرار کند مانند ProgISP 1.72 کدها ها را درون میکروکنترلر می ریزیم. دقت داشته باشید که از نرم افزار آردوینو نسخه ی ۱٫۶٫۹ استفاده شده است و ممکن است در دیگر نسخه ها تغییراتی وجود داشته باشد.

  • قدم اول؛ استخراج کدها :

۱- محیط برنامه نویسی(نرم افزار) آردوینو را باز می کنیم.
۲- پس از نوشتن کدها، فایل را در مکانی با استفاده از گزینه ی Save یا …Save As که در فهرست File قرار دارد ذخیره نماییم.
نرم افزار آردوینو
 
۳- از فهرست Tools زیر فهرست Board را باز می کنیم و یک آردوینو که میکروکنترلر مورد نظر ما روی آن استفاده می شود را انتخاب می کنیم مثلاً اگر می خواهیم کدهای خود را روی ATmega328P نوع DIP بریزیم می توانیم گزینه ی Arduino/Genuino Uno را انتخاب کنیم.
ATmega328P
 
۴- سپس کلیدهای ترکیبی Ctrl + Alt +S را بفشارید تا دو عدد فایل HEX تولید شود. (این کلیدهای ترکیبی ممکن است در برخی نسخه های قدیمی نرم افزار آردوینو کار نکند و در این صورت می توان از روش دوم برای استخراج HEX استفاده نمود.)
 کد hex آردوینو
 
اگر اسم فایل اصلی که در مرحله ۲ ذخیره نمودید مثلاً Blink بوده باشد، فایل های HEX تولید شده این چنین نامی خواهند داشت:
Blink.ino.standard.hex و Blink.ino.with_bootloader.standard.hex
در بین این دو فایل آن موردی که عبارت with_bootloader را همراه خود دارد، دارای BootLoader هم هست یعنی اگر این فایل را روی میکروکنترلر بریزید همزمان هم BootLoader ریخته می شود و هم کدهایی که در نرم افزار آردوینو نوشته بودیم.
نکته : اگر HEX دارای BootLoader را بر روی میکروکنترلر بریزیم آن وقت می توانیم میکروکنترلر را روی مدار آردوینو قرار دهیم و با نرم افزار آردوینو برنامه میکروکنترلر را تغییر دهیم و یا می توانید میکروکنترلر را به مبدل USB به Serial وصل کنیم و برنامه آن را تغییر دهیم.
 

  • قدم دوم؛ پیدا نمودن مقادیر Fuse Bitها :

۱- در این مرحله فرض را بر این می گذاریم که می خواهیم مقادیر Fuse Bit مناسب برای ATmega328 نرع DIP را پیدا کنیم.
۲- آردوینو به صورت پیش فرض تعدادی Fuse Bit دارد که اگر نرم افزار را در مسیر پیش فرض نصب کرده باشیم فهرست این Fuse Bitها به تفکیک هر آردوینو در مسیر C:\Program Files\Arduino\hardware\arduino\avr\boards.txt موجود است.
۳- پرونده ی boards.txt را با نرم افزاری مثل ++Notepad باز کنیم تعدادی خط منظم می بینیم که در بخشی نوشته شده است uno.name=Arduino/Genuino Uno و در زیر آن چندین خط نوشته شده است که بخشی از آن برای پی بردن به Fuse Bit ها استفاده می شود. یعنی موارد زیر:

 
فیوزبیت های آردوینو
 

  • قدم سوم؛ وارد نمودن مقادیر Fuse Bit در نرم افزار ProgISP 1.72 و ریختن کدها رو میکروکنترلر به وسیله ی دستگاه برنامه ریز(Programmer) نوع USBasp:

۱- حالا که مقادیر Fuse Bit های آردوینو UNO را که میکروکنترلر روی آن ATmega328P است به دست آوردیم وارد نرم افزار ProgISP شده و از بخش Select Chip میکروکنترلر خود ATmega328P انتخاب می کنیم.
۲- سپس گزینه ای که ۳ نقطه دارد و سمت راست گزینه ی Auto است را انتخاب می کنیم تا به بخش Fuse Bit ها برویم.
نرم افزار ProgISP
۳- وقتی پنجره Fuse&Lock باز شد، بخش ConfigBit را انتخاب می کنیم و سپس طبق مقادیری که از boards.txt به دست آوردیم، هر چهار بخش LowValue و HighValue و ExtValue و Lock Value را پر می کنیم.(مقادیر را درون کادرهای کوچک Type می کنیم.)
نرم افزار ProgISP
۴- سپس در نرم افزار ProgISP گزینه ی Load Flash را انتخاب می کنیم و Hex مورد نظر خود را به نرم افزار ProgISP معرفی می کنیم.
نرم افزار ProgISP
نرم افزار ProgISP
 
۵- حالا گزینه ی Auto را انتخاب می کنیم تا برنامه روی میکروکنترلر ریخته شود.
زمان ریخته شدن برنامه بستگی به حجم کدها و تنظیماتی که برای سرعت USBasp انجام شده است دارد.
نرم افزار ProgISP
 
۶- ظاهر شدن عبارت Erase,Write Flash,Verify Flash,Write Fuse Successfully done در پنجره پیغام های نرم افزار ProgISP نشان دهنده ی این است که محتوای قبلی حافظه پاک شده، محتوای جدید روی حافظه نوشته شده، درستی ریخته شدن محتوای جدید بررسی شده و مقادیر Fuse Bit های جدید به میکروکنترلر معرفی شده است.
 فیوزبیت های آردوینو
 


پاسخ به پرسش ها و چند نکته :
 

  • از کجا بفهمیم برنامه ریز USBasp توسط نرم افزار ProgISP شناخته شده است یا نه؟

اگر می خواهیم ببینیم که برنامه ریز USBasp توسط نرم افزار ProgISP شناسایی شده است یا نه باید به بخش Program State نگاه کنید و اگر PRG ISP روشن بود یعنی برنامه ریز شناسایی شده است و اگر خاموش بود یعنی شناسایی نشده است.
مانند تصویر زیر که گزینه ی PRG ISP روشن است و نشان دهنده ی شناسایی شدن USBasp می باشد:
0-1_progisp1-72_prgisp
 

  • آیا خودمان می نوانیم برنامه ریز USBasp را بسازیم؟

بله، برنامه ریز USBasp متن باز است و ما می توانیم ازنقشه و برنامه ی آن استفاده نماییم و خودمان یک نمونه از USBasp را بسازیم.
در این سایت نقشه و سایر موارد لازم برای ساخت برنامه ریز USBasp وجود دارد:
USBasp – USB programmer for Atmel AVR controllers
 

  • آیا روش های دیگری هم وجود دارد؟

بله، برای اطلاع از روش های دیگر می توانید به این موارد مراجعه نمایید:
۱- روش تبدیل میکرو avr به آردوینو
۲- آردوینو روی هر میکروکنترلری
۳- ساخت آردوینو AT mega8
۴- Using an Arduino as an AVR ISP (In-System Programmer)
۵- From Arduino to a Microcontroller on a Breadboard
۶- Installing an Arduino Bootloader – learn.sparkfun.com
۷- Burning sketches to the Arduino board with an external programmer
۸- Use Arduino as an ISP programmer to program non-Arduino AVR microcontrollers
۹- Use Arduino code in non-Arduino AVR microcontrollers
۱۰- Atmega bootloader programmer
۱۱- The Idiot’s Guide to Programming AVR’s on the Cheap (with the Arduino IDE!)
۱۲- Parallel Port Programmer
 

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

فرض کنیم می خواهیم یک پایه از میکروکنترلر را ۱۰۰۰ میلی ثانیه(معادل ۱ ثانیه) روشن و ۱۰۰۰ میلی ثانیه خاموش کنیم تا با استفاده از آن چراغ چشمکزن بسازیم و برای این کار از برنامه زیر استفاده می کنیم:

 
همان طور که می بینید پایه شماره ۱۳ به عنوان پایه خروجی در برنامه نویسی تعریف شده است.
اما نکته قابل توجه این است پایه شماره ۱۳ در آردوینو معادل پایه شماره ۱۳ در میکروکنترلر نیست. به عنوان مثال پایه ای که در ATmega328P با نام PB5 شناخته می شود و شماره آن ۱۹ است؛ معادل پایه شماره ی ۱۳ در آردوینو Uno است. پس وقتی کدهای چراغ چشمکزن بالا رو روی میکروکنترلر ریختیم باید دیودنوری را به پایه شماره ۱۹ میکروکنترلر وصل کنیم.
برای دیگر پایه ها نیز همین طور است. مثلاً پایه A0 که در آردوینو Uno ورودی آنالوگ شماره ۰ است ولی در ATmega328P با نام PC0 شناخته می شود و شماره آن ۲۳ است.
با فرض اینکه می خواهیم از یک میکروکنترلر ATmega328P به جای آردوینو Uno استفاده کنیم، برای اینکه بدانیم کدام پایه روی میکروکنترلر، معادل کدام پایه روی آردوینو است می توانیم چنین عبارتی را جست و جو نماییم: Arduino Uno Pinout Diagram و از نقشه های به دست آمده استفاده کنیم.
به عنوان مثال دو تصویر زیر پایه های معادل میکروکنترلر Atmega328P و آردوینو Uno را نشان می دهد:
 
مقایسه ی پایه های Arduino Uno و ATmega328P
 
مقایسه ی نام و مکان پایه های میکروکنترلر ATmega328P و Arduino Uno R3
 

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

بله، به دلیل اینکه به صورت پیش فرض روی آردوینو کریستال وجود دارد، کدها نیز به گونه ای ساخته می شوند که برای اجرای صحیح، میکروکنترلر باید به کریستالی با مقدار مناسب وصل شود. البته روش هایی وجود دارد که بتوان بدون کریستال خارجی هم از کدها استفاده نمود.
تصویر مکان پایه XTAL1 و XTAL2 روی میکروکنترلر ATmega328P DIP. از پایه های XTAL برای اتصال کریستال خارجی استفاده می شود:
ATmega328P
 
تصویر نقشه ی اتصال کریستال به میکروکنترلر (البته در اتصال پایه های کریستال به پایه های XTAL میکروکنترلر ترتیبی وجود ندارد و فرقی نمی کند کدام پایه کریستال به کدام پایه XTAL وصل شود.) :
اتصال کریستال به میکروکنترلر
 

  • چرا در نرم افزار ProgISP بین HEX دارای BootLoader و بدون BootLoader این قدر تفاوت حجم وجود دارد و چرا HEX دارای BootLoader ظاهراً کل حجم حافظه Flash را اشغال می کند؟

همان طور که گفته شد BootLoader در آخر حافظه Flash قرار می گیرد و به همین دلیل است که نرم افزار ProgISP فکر می کند کل حافظه Flash اشغال شده است.
تصویر بالا یک HEX بدون BootLoader و تصویر پایین یک HEX دارای BootLoader را نشان می دهد:
BootLoader

درباره : 
تعداد مطالب : 3 تا
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
96
نظرات این مطلب بسته شده است.
  1. محمدی بهشهر

    مهمان

    محمدی بهشهر

    سلام
    واقعا توضیحات زیبا رسا و جالب بیان شد ممنونم

    مشاهده پاسخ ها (1)
    • فرشید

      مهمان

      فرشید

      خیلی عالی هستید. خدا خیرتون بده

  2. جلیل کلهری

    مهمان

    جلیل کلهری

    با سلام
    دستتون درد نکنه با مطالب مفید و کاربردیتون من دو سورس کد خریدم بعد متوجه شدم که فایل هگز نداره وفقط فایل INO داره که با آردوینوست ومن هیچ اطلاعاتی از آردینو نداشتم هرچی تو نت گشتم نشد تا با سایت شما آشنا شدم و ظرف چند دقیقه با روش سوم آموزش شما فایل هگز رو ساختم و پروگرام کردم و بقولی پروژه مثل بلبل کار کرد ممنون از شما . در مورد سورس کد دومم هنگام ساختن فایل هگزیه مشکل پیش اومده ارور زیر رو میده
    Error compiling for board Arduino/Genuino Uno.
    میکروم ATMEGA328P هستش و مثل آموزش شما Arduino/Genuino Uno رو انتخاب کردم مثل پروژه قبلیم که هگزشو ساختم اگه میشه راهنمایی بفرمایید سپاسگزارتون خواهم بود
    موفق و پیروز باشید کلهری

    مشاهده پاسخ ها (1)
    • جلیل کلهری

      مهمان

      جلیل کلهری

      باسلام مجدد
      باز هم سپاسگزار بخاطر مطالب خوبتون مشکلم با آپلود کتابخانه DFPlayer-Mini-mp3 تو نرم افزار arduino-1.0.6 با استفاده از آموزهای شما حل شد
      موفق و پیروز باشید انشالله

  3. امید

    مهمان

    امید

    سلام من یک usbasp و اردوینو مگا 2560 دارم که بوت لودر 16u2اردینو مگا خراب شده و به عنوان کیبورد شناسایی می شود

    چطور میتونم درستش کنم که به عنوان اردوینو مگا 2560 شناخته بشه؟

  4. امید

    مهمان

    امید

    سلام من یک اردوینو مگا 2560 دارم که 16u2 بوت لودرش خراب شده
    چطور میتونم فایل hex 16u2 رو برای اردیوینو مگا 2560 پیدا کنم؟

  5. احسان

    مهمان

    احسان

    خیلی عالی و کاربردی بود

    مشاهده پاسخ ها (1)
    • بابک

      مهمان

      بابک

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

  6. محمد

    مهمان

    محمد

    سلام ببخشید من برد اردیونو دارم میخوام براش میکرو بخرم برد asp usb هم دارم ایا ان واقعا کار عملی چون اگر نباشه میکرو بدون بوت بخرم باید بندازم دور و اگر عملی باشه و میکرو با بوت بخرم باز به ضررمه

    ایا کسی هست که با aspusb موفق شده باشه بوت را بریزد

    مشاهده پاسخ ها (1)
    • محمد صادق فتحیان

      مهمان

      محمد صادق فتحیان

      من انجام دادم جواب داد .
      تشکر فراوان ازDMF313

  7. امین

    مهمان

    امین

    سلام من یه کد روی Uno نوشتم می خوام از روی اردوینو انتقالش بدم روی mega323 برای این کار باید همون انتقال فایل HEX رو انجام بدم؟

  8. محمدرضا

    مهمان

    محمدرضا

    ببخشید من می توانم از خود اروینو استفاده کنم از کدام روش ممنونم

  9. علی

    مهمان

    علی

    سلام
    میخوام یه برنامه که توش از کتابخونه rc-switch استفاده شده و با برد نانو کار میکنه رو روی میکروی smd atmega8 (یا یه میکروی ارزون دیگه) بریزم،
    میشه؟ میتونی راهنماییم کنی چجوری؟ مرسی

    مشاهده پاسخ ها (2)
    • Ali

      مهمان

      Ali

      الووو آقا مهدی من منتظر جوابم 🙌🏻

      • مهدی دمیرچیلو

        مدیر سایت

        مهدی دمیرچیلو

        نمیدونم.

  10. صالح

    مهمان

    صالح

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

  11. حامد

    مهمان

    حامد

    سلام.بنده به یک مشکل برخوردم.خیلی ممنون میشم راهنمایی کنین.من یک آی سی ATMega328p-pu خریدم و خواستم از طریق برد آردوینو پروگرمش کنم که متاسفانه نتونستم.ممکنه بگین مشکل از کجاست؟

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      مدیر سایت

      مهدی دمیرچیلو

      سلام-باید روش بوتلودر سوار کنید.

  12. مهندس میرزایی

    مهمان

    مهندس میرزایی

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

  13. A.M_BJ

    مهمان

    A.M_BJ

    داش مهدی ایا روی mega16می شه برنامه اردوینو اپلود کرد

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      مدیر سایت

      مهدی دمیرچیلو

      برنامه آردوینویی که برا مگا328 نوشته شده رو میخوای رو مگا16 بریزی؟ نیازی به تغییرات نداره به نظرت؟
      دیتاشیت هر دو رو بررسی کن – هر جا نیاز داشت تغییر بده.

  14. omidrezayat

    مهمان

    omidrezayat

    با عرض درود و خسته نباشید
    من با پروگرامر STK500 نوآوران و با روش اول که نوشتین و با انتخاب گزینه ی Atmel STK500 development bord به عنوان پروگرامر وقرار دادن atmega8 بر روی زیف سوکت و انتخاب گزینه ی Burn bootloader با پیغام done Burning bootloader مواجه شدم که موفقیت آمیز بود ولی بعد از گذاشتن میکرو در بردبورد و اتصال آن به PL2303 و قراردادن کریستال 16 مگاهرتز و کلید ریست و خازن 22 پیکوفاراد و LED و تنظیمات زیر:
    Bord: Arduino/Genuini Uno
    port: com8
    Programmer: Atmel STK500 development bord
    هنگام آپلود کردن برنامه Blink
    با پیغام زیر مواجه شدم:
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf3
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xf3
    Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
    لطفا اگه مشکل از تنظیمات یا مدت زمان فشردن کلید ریست و یا غیره هست بگین. smile
    ممنون اگه جوابمو کامل بدین
    در ضمن با این کار نیازی به تنظیم فیوزبیت هست یا اتوماتیک تنظیم میشه؟؟

  15. مهدی

    مهمان

    مهدی

    سلام من یک فایل هگزو روی یک میکرو 328p au smd ریختم. به وسیله پروگرامر هاتل.
    اما متاسفانه از فیوز بیت هاش هیچی یادم نیست.یعنی اینکه من هیچ کدوم از فیوز بیت هارو تغییر ندادم هر چی که بوده همون ها بوده. مشکلی در اپلود نداشتم. برای سری اول.
    مشکل اینجاست که بعد از سری اول دیگه میکرو شناسایی نمیشه میگه not find .من از روش spi پروگرامر هاتل استفاده کردم و بدون بوت لودر اینکارو انجام دادم.
    تا جایی که معلومه میکرو تقریبا سالمه چون فرمان میده رله قطع و وصل میشه.
    حالا میخوام یکم تغییرات بهش بدم امکان پذیر هست یا نه؟؟
    یه راهنمایی بکنید ممنون میشم

  16. موسوی

    مهمان

    موسوی

    با سلام. من آموزش رو تست کردم. جواب داد. پروگرمر من هاتل و میکرو ATMEGA328 بود.
    البته فکر کنم جز آخرین تست هام بود و به دلیل افزایش وحشتناک قیمت میکروها (مثلا مگا16 شده 30 تومن) و منچ بازی عنکبوت ها در جیب حقیر کم کم باید در افق الکترونیک با هزاران فکر و ایده که دیگه …. محو بشم. cry cry cry cry

    مشاهده پاسخ ها (1)
    • امیر

      مهمان

      امیر

      میشه لطفا توضیح بدید چطور این کارو کردید ؟ چون من هم هاتل دارم ولی نمیتونم این کار را انجام بدم !!

  17. Mehdi

    مهمان

    Mehdi

    سلام و خسته نباشید. من از مطالب سایت شما بسیار استفاده کردم و از این بابات سپاسگزار شما هستم.
    سوال من این است که راهی هست که برنامه ریخته شده به روی آردیونو را بزیابی کرد؟.
    فرض زا بر این بگذارید که من یک پروژه تجاری دارم و قصد جلوگیری کردم از کپی آن را دارم . باز هم good ممنونم

    مشاهده پاسخ ها (2)
    • مهدی دمیرچیلو

      مدیر سایت

      مهدی دمیرچیلو

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

      • mahdi

        مهمان

        mahdi

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

  18. موسوی

    مهمان

    موسوی

    با سلام. ابتدا تشکر می کنم بابت مطلب بی نظیر که نوشتید. سوالی داشتم اگر نیاز به برنامه ریزی و دیباگ میکروکنترلر نداشته باشیم، در بخش سوم فایل HEX بدون بوت لودر Blink.ino.standard.hex رو روی پردازنده بریزیم مشکلی پیش میاد؟
    تشکر

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      مدیر سایت

      مهدی دمیرچیلو

      سلام – نه دیگه چه مشکلی – فایل هگزو میگیری میریزی رو میکرو – فیوز بیت ها رو هم طبق نیازت تتنظیم میکنی و تمام.

  19. محمدمهدی

    مهمان

    محمدمهدی

    سلام
    میشه به کد کتابخونه های آردوینو دسترسی پیدا کرد؟؟
    مثلا سورس کد های کتابخونه Wire.h رو به صورت فایل با پسوند .ino دید.
    لطفا اگه میدونید جواب بدید حتما.

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      مدیر سایت

      مهدی دمیرچیلو

      سلام-آره – کتابخونه هاش پسوندشون .h و .cpp هستش که با نود پد هم میتونی محتواشو ببینی

  20. ناشناس

    مهمان

    ناشناس

    با سلام
    مشکلی که بنده دارم اینه که فایل هگزی که برنامه من تولید می کنه حدود 90 کیلو بایته و روی آی سی atmega128 اپلود که می کنم آی سی کار نمیکنه
    ولی اکه با حذف چند خط به زیر 90 کیلو بایت برسونم ای سی بدون مشکل جواب میده
    سوال اول : چرا حجم فایل هکز من 90 کیلو بایته در حالیکه در زمان کامپایل حجم برنامه رو حدود 32 نشون میده؟
    Sketch uses 32810 bytes (25%) of program storage space. Maximum is 130048 bytes.
    سوال دوم : ای سی atmega128 حافظه داخلیش بیشتر از 90 کیلوبایته پس چرا کار نمیکنه
    سوال سوم: ایا میشکه که atmega128 رو به کمک بوت لودر برنامه نویسی کنم ( بیشتر از یک ماه درگیرش بودم ولی نتونستم)
    با تشکر فراوان

  21. hossein

    مهمان

    hossein

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

  22. مسعود

    مهمان

    مسعود

    سلام جناب دمرچیلو برای این حرکت به جای usbasp از هاتل میشه استفاده کرد ؟؟؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام
      متوجه نشدم – برای چی؟ با پروگرامر هاتل میخوای چیکار کنی؟

  23. مرتضی

    مهمان

    مرتضی

    سلام خسته نباشید. ببخشید چجور میتونم آردویینو رو قفل کنم که به هیچ روشی نشه کداشو استخراج کرد؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام
      درباره فیوز بیتا تحقیق کنید.

  24. مسعود

    مهمان

    مسعود

    افرین ادامه بدید

  25. ناشناس

    مهمان

    ناشناس

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

    مشاهده پاسخ ها (1)
    • محمد

      مهمان

      محمد

      اقا.میتونی از arduino Pro Mini 3.3V 8MHZ استفاده کرد
      منظور از 8MHZ فرکانس داخلی هست
      هسته پردازنده ATMEGA328P

  26. کیان

    مهمان

    کیان

    با سلام وخسته نباشید من اینترنت وسایتهای مختلف رو گشتم اما بهترین وکامل ترین اموزش در سایت شما بود خدا انشاالله خیرو برکت به زندگیتون بده تشکر اززحماتتون good

  27. علی

    مهمان

    علی

    با سلام من یک اردوینو مگا ۲۵۶۰ دارم که برای ریختن برنامه نیاز ب پروگرمر جوری که خوندم مداره ولی میخام یک فایل hexروی اون اپلود کنم از روش های بالا چیزی متوجه نشدم ینی رفتم ب نتیجه نرسید اما همینطور که یکی از دوستان گفت ولی جوابی نگرفت تو نظرات خوندم از برنامهxloaderاستفاده کردم ولی جوابی نگرفتم میتونید راه دیگه ای پیشنهاد بدید ممنون

  28. عماد

    مهمان

    عماد

    سلام پروگرامر من atmel stk 500 هستش برای تنظیم فیوز بیتها با نرم افزار ProgISP میشه یا ازنرم افرار دیگه باید استفاده کنم؟

  29. hossein

    مهمان

    hossein

    سلام من ویقتی burn bootloader انجام بدم با این error while buming bootioader مواجح میشم
    help

    مشاهده پاسخ ها (7)
    • hossein

      مهمان

      hossein

      چی کار باید انجام بدم

    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا حسین.
      ۱- در خطایی که نمایش داده می شود دقیقاً چه متنی نوشته شده است؟ آن را به طور کامل قرار دهید.
      ۲- نام دستگاه برنامه ریز(Programmer) مورد استفاده چیست؟ تولید کننده ی آن چه نام دارد؟
      ۳- آیا از فهرست Tools و زیر فهرست Programmer ؛ گزینه ای مطابق با دستگاه برنامه ریز خود را انتخاب نموده اید؟
      ۴- آیا از فهرست Tools و زیر فهرست Board ؛ گزینه مناسب را انتخاب نموده اید؟
      ۵- آیا میکروکنترلر را به درستی در دستگاه برنامه ریز(Programmer) قرار داده اید؟
      ۶- آیا دستگاه برنامه ریز(Programmer) سالم است؟ آیا قبلاً با استفاده از آن روی میکروکنترلری برنامه ای ریخته اید؟
      ۷- آیا Driver دستگاه برنامه ریز(Programmer) به درستی نصب شده است؟
      ۸- آیا میکروکنترلر سالم است؟
      ۹- آیا قبلاً از این میکروکنترلر استفاده نموده اید؟ اگر بله، آیا اطمینان دارید که دستکاری مقادیر Fuse Bit موجب قفل شدن میکروکنترلر نشده است؟
      ۱۰- نام میکروکنترلر مورد استفاده چیست؟ آیا ATmega328P است؟
      ۱۱- از نسخه ی شماره چند محیط برنامه نویسی(نرم افزار) آردوینو استفاده می نمایید؟

      • hossein

        مهمان

        hossein

        سلام
        اروری که می دهداین است {Arduino: 1.6.0 (Windows 8), Board: “Arduino Uno”
        avrdude: usbdev_open(): did not find any USB device “usb”
        Error while burning bootloader.
        This report would have more information with
        “Show verbose output during compilation”
        enabled in File > Preferences.}

      • hossein

        مهمان

        hossein

        نام دستگاه برنامه ریز ( programmer) این است (avrlsp mkll)

      • hossein

        مهمان

        hossein

        سوال ۳= بله ) سوال ۴= بله)

      • hossein

        مهمان

        hossein

        ۵- بله )۶- روی همین بردی که می خام (burn bootloader) کنم برنامه ریختم ۷- نمیدونم اگه میشود بگین از کجا بفهمم درایور درست نصب شده است )۸-بله)۹-نه من دفعه اولم که با این میکرو کنترلر کار میکنم )۱۰-خیر = uno r3 است ) ۱۱- ۱٫۶٫۰

  30. علی

    مهمان

    علی

    سلام مهندس جان خسته نباشی دلاور بنده یه برنامه از اینترنت گرفتم که مربوط به برد پرو مینیه حال من مگا۲۵۶۰ دارم میخوام مدار و با مگا ببندم اما نمیدونم با همون شماره پین ها ی اردینو جواب میده یا باید مطابق نقشه پین اوت پایه های اصلی مگا کار کنم امیدوارم منظورمو گرفته باشی

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام
      پایه های یونو و مگا در بعضی موارد با هم فرق داره – مثلا spi

  31. آردوینو

    مهمان

    آردوینو

    سلام
    من می خوام یه فایل هگز را بر روی یه آردوینو Uno بریزم برای آپلود از برنامه Xloader استفاده میکنم اما موفق نمیشم. wacko شخصی که برنامه را نوشته ادا کرده که برنامه کامپایل شده اما من هر کاری می کنم لود نمیشه sorry و در پایان Xloader پیغام میده upload failed.
    میشه کمک کنید help
    لینک دانلود فایل هگز
    https://cdn.instructables.com/ORIG/FHL/ULOZ/I03OBTO8/FHLULOZI03OBTO8.hex
    لینک سایت مربوط به فایل
    https://www.instructables.com/id/The-MicroSlice-V2-Aurum-A-gold-mini-laser-cutter-e/

  32. mohamm

    مهمان

    mohamm

    دمت گرم ترکوندی

  33. حامد

    مهمان

    حامد

    با سلام بنظر شما برای شروع کار از پروگرامر ریز اَروند خریداری کنم بهتر هستش ؟ ایا خانواده avr پشتیبانی میکنه برای پراگرام کردن؟ اگر توصیه دارید برای خریدن پراگرامر دیگه لطفا بگید من گیج شدم موندم چه نوع پراگرام بخرم و یکی از این پراگرامر سانا هست مد نظرم ولی کمی گرونه لطفا راهنمایی بکنید ممنون

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام
      من هاتل دارم برا Avr کارمو راه انداخته تا الان
      برا جزئیات بیشتر برو سایتش

      • حامد

        مهمان

        حامد

        با سلام ارتباط isp برای هاتل مثل مثال بالا میشه انجام داد همون کاری که بوت لودر از نرم افزار بالا توضیح دادید؟

  34. فرزین

    مهمان

    فرزین

    با سلام خدوت اقا مهدی میشه راهنمایی بفرمایید ما یه فایل جدا هگزا داریم میتونیم اونو توسط اردیتو تو میکرو فلش کنیم؟

  35. صمد

    مهمان

    صمد

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

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      خب چه کاریه – تو نت هستش – تمام این بوت لودر ها – برو دانلود کن حالشو ببر

    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا صمد.
      Bootloader ها درون پروشه ی نرم افزار Arduino موجود هستند.
      نشانی Bootloader مورد استفاده برای هر آردوینو در پرنده ی boards.txt موجود می باشد.
      به عنوان مثال برای پیدا کردن Bootloader مورد استفاده در Arduino UNO در خط شماره ی ۷۲ در boards.txt چنین متنی نوشته شده است:
      uno.bootloader.file=optiboot/optiboot_atmega328.hex
      پس نتیجه می گیریم که Bootloader مورد استفاده در Arduino Uno پرونده ای به نام optiboot_atmega328.hex است که اگر مسیر نصب نرم افزار همان مسیر پیش فرض بوده باشد، این پرونده در این مسیر یافت می شود:
      C:\Program Files\Arduino\hardware\arduino\avr\bootloaders\optiboot
      البته این موارد مربوط به نسخه ی ۱٫۶٫۹ از نرم افزار Arduino می باشد و ممکن است در نسخه های بعدی مقداری تغییرات ایجاد شود.

  36. علی

    مهمان

    علی

    سلام
    خیلی عالی بود
    خسته نباشید

  37. yasin

    مهمان

    yasin

    سلام خسته نباشید مرسی از مطلب خوبتون…میشه یه میکرو ی نو گذاشت توی سوکت ای سی اردوینو تنظیمات منوی toolsرو انجام داد بعد بوت لودر رو burnکرد؟

    مشاهده پاسخ ها (1)
    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا یاسین.
      این امکان وجود دارد که وقتی میکروکنترلری نو است و روی آردوینو قرار دارد بر روی آن Boot loader ریخت اما نه از طریق سیمی که به درگاه USB آردوینو وصل می شود بلکه از طریق پایه های ارتباط ICSP (In-Circuit Serial Programming) که در کنار میکروکنترلر قرار گرفته اند این کار امکان پذیر می شود.
      توضیحات بیشتر در این صفحه:
      Installing an Arduino Bootloader – learn.sparkfun.com
      دلیل اینکه با استفاده از سیم USB که به آردوینو وصل می شود نمی توان روی میکروکنترلر Boot loader ریخت این است که هنگام وصل کردن سیم USB ارتباط رایانه با تراشه مبدل USB به Serial روی آردوینو برقرار می شود و این تراشه ی مبدل با میکروکنترلر اصلی ارتباط Serial برقرار می کند و در صورتی می تواند روی میکروکنترلر اصلی برنامه بریزد که میکروکنترلر اصلی خودش دارای Boot loader باشد.

  38. yasin

    مهمان

    yasin

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

    مشاهده پاسخ ها (1)
    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا یاسین.
      ۱-
      – در خطایی که نمایش داده می شود دقیقاً چه متنی نوشته شده است؟
      – از چه دستگاه برنامه ریزی(Programmer) استفاده می نمایید؟
      – آیا از فهرست Tools و زیر فهرست Programmer گزینه ای مطابق با دستگاه برنامه ریز خود را انتخاب نموده اید؟
      ۲- در Website آردوینو و در صفحه ی Arduino Board Uno جدولی با عنوان Technical specs وجود دارد که در آن اینگونه نوشته شده است:
      Flash Memory: 32 KB (ATmega328P) of which 0.5 KB used by bootloader
      نشانی این جدول:
      Arduino – ArduinoBoardUno: Technical specs
      و از این جدول معلوم می شود که حجم Boot loader آردوینو برای Arduino Uno دارای حجمی معادل ۰٫۵KB یعنی ۵۱۲Byte است. البته در طی زمان ممکن است با بروزرسانی ها، حجم Boot loader هم دچار تغییر شود که چنین اتفاقی قبلاً هم افتاده است.
      برای اینکه ببینیم حجم سایر Boot Loader ها چقدر است می توانیم به جدول Technical specs بقیه آردوینوها مراجعه کنیم.

  39. علی

    مهمان

    علی

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

    مشاهده پاسخ ها (3)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام – تو نت بگردی پیدا میکنی روال کارشو – تو مطلب سایت هم جاهایی که نیاز باشه گفته شده –
      از منو Sketch گزینه Include Library و بعد گزینه دومی از بالا رو بزن و بعد فایل زیپ کتابخونه رو انتخاب کن و ok – تموم شد رفت – کتابخونه اضافه شد.
      بعضا نیازه که کتابخونه ای رو وارد کنی – همیشه نه.

      • علی

        مهمان

        علی

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

        • مهدی دمرچیلو

          مدیر سایت

          مهدی دمرچیلو

          نه اون فرق داره – اون برا دانلود آنلان هستش که یه سروی هستش که کتابخونه های آردوینو توش قرار داره ولی نه تمام کتابخونه ها و لذا بعضی وقتا فایل zip کتابخونه رو داری که باید طبق روشی که گفتم عمل کنی.

  40. علی

    مهمان

    علی

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

  41. علی

    مهمان

    علی

    راستی اصلا بودن یا نبودن کریستال اثری تو کارکرد مدار نداره…
    چرا ؟
    برنامه هم همین مثال چشمک زن خود نرم افزاره

  42. علی

    مهمان

    علی

    سلام
    مطلب کاملی بود
    فقط یه موردی داشتم شبیه به مشکل محمد
    ینی زمان درست نیست
    نظرات رو خوندم
    همه ی تذکر ها رو بدرستی رعایت کردم
    فقط مقدار کریستال رو 4 مگ گزاشتم
    این عامل ناقص عمل کردن مدار است؟
    با سپاس

    مشاهده پاسخ ها (1)
    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا علی.
      متوجه منظور شما از این جمله که فرمودید نشدم:« فقط مقدار کریستال رو ۴ مگ گزاشتم»
      سوال: مقدار Fuse Bit های مرتبط با کریستال را در نرم افزار ProgISP(یا نرم افزارهای مشابه) بر روی ۴MHz تعریف نموده اید یا اینکه یک عدد قطعه ی کریستال ۴MHz را در مدار به پایه های میکروکنترلر متصل نموده اید؟

  43. داوری

    مهمان

    داوری

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

  44. رامان اصفهانی

    مهمان

    رامان اصفهانی

    سلام آقا مهدی وقتی که hex را از اردنیو گپی گرفتیم چطور وارد اردینو دیگه کنیم ممنون

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

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

    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت شما.
      ۱- شما می توانید میکروکنترلر را درون دستگاه برنامه ریز(Programmer) قرار دهید و در بالای نرم افزار ProgISP 1.72 فهرستی وجود دارد که Command نام دارد(این گزینه سمت راست گزینه ی File و پایین اسم نرم افزار قرار دارد).
      ۲- وقتی روی Command کلیک نمودید فهرستی شامل دوازده گزینه باز می شود که گزینه ی چهارم Read Flash نام دارد و در صورت انتخاب این گزینه اگر شرایط فراهم باشد نرم افزار ProgISP به خواندن محتوای حافظه ی Flash میکروکنترلر اقدام می نماید.
      ۳- وقتی که حافظه ی Flash میکروکنترلر خوانده شد، می توان با گزینه ی Save Flash که در فهرست File قرار دارد آن را به صورت Binary و Hex و… ذخیره نمود.
      همچنین در نرم افزار ProgISP گزینه ی Read Eeprom و Save Eeprom نیز وجود دارد.

  45. رامان اصفهانی

    مهمان

    رامان اصفهانی

    سلام میخواستم روش کپی از سورس اردینو و انتقال به اردینو دیگه توضیح بدید ممنون تازه کار هستم ممنون

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

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

  46. رامان اصفهانی

    مهمان

    رامان اصفهانی

    سلام آقا مهدی من تازه تو سایت شما اومدم خیلی عالیه دمت گرم

  47. taha

    مهمان

    taha

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

    مشاهده پاسخ ها (1)
    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا طاها.
      در مورد تمام میکروکنترلرهای AVR و ARM نظر نمی دهم زیرا برخی میکروکنترلرها هستند که برای کارهای خاصی ساخته شده اند. اما دیده شده است که کدهای آردوینو را روی میکروکنترلرهایی که خود شرکت آردوینو از آن ها روی محصولاتش استفاده نمی کند هم ریخته شده است.
      مثلا این یک نمونه است که کدهای آردوینو را روی FPGA ریخته اند:

      این ها هم در مورد ریختن کدهای آردوینو رو دیگر میکروکنترلرها توضیحاتی ارائه داده اند:
      https://www.instructables.com/id/Arduino-on-all-sorts-of-Atmels/
      http://hardwarefun.com/tutorials/use-arduino-code-in-non-arduino-avr-microcontroller
      در این مطلب نیز در مورد ساخت Bootloader برای آردوینو توضیحاتی ارائه شده است:
      Bootloader Development
      طرحی به نام Pinguino وجود دارد که در چیزی شبیه به آردوینو است با این تفاوت که برای برای میکروکنترلرهای PIC ساخته شده است و در توضیحاتش اینگونه نوشته شده است:
      with the Pinguino IDE and the Pinguino Language (based on C and almost compatible with Arduino language)
      با بررسی تصاویری که از IDE های قبلی طرح Pinguino در دسترس است بنده اینگونه برداشت نمودم که این طرح نشأت گرفته از طرح Arduino است و طبق خط بالا اینگونه حدس می زنم که کدهای آردوینو با استفاده از طرح Pinguino روی میکروکنترلرهای PIC نیز بتواند اجرا شود. اگر در این مورد تحقیقی انجام دادید نتایج آن را اطلاع دهید.
      این هم پایگاه مجازی طرح Pinguino:
      http://www.pinguino.cc/

  48. pooya

    مهمان

    pooya

    عالی بود مهندس
    خدا خیرت بده

    مشاهده پاسخ ها (1)
    • mitavanim

      نویسنده این مطلب

      mitavanim

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

  49. یاسر

    مهمان

    یاسر

    دمت گرم خیلی عالی بود مهندس

    مشاهده پاسخ ها (2)
    • mitavanim

      نویسنده این مطلب

      mitavanim

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

      • یاسر

        مهمان

        یاسر

        بله واقعا کامل بود متشکرم

  50. محمد

    مهمان

    محمد

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

    مشاهده پاسخ ها (5)
    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا محمد.
      روش هایی که در آموزش بیان شده بود را دقایقی پیش مورد آزمایش قرار دادم و با مشکل مشابهی برخورد نداشتم.
      1- آیا کریستال را به درستی متصل کرده اید؟
      2- مقدار کریستال مورد استفاده شما چقدر است؟
      3- آیا Board را در نرم افزار آردوینو به درستی انتخاب نموده اید؟
      4- در برنامه نویسی کدام پایه را به عنوان خروجی تعریف کرده اید؟
      5- دیودنوری را به پایه شماره چند “میکروکنترلر” متصل نموده اید؟
      همچنین مطلب بروزسانی شد و تصویر پایه های معادل میکروکنترلر Atmega328P و آردوینو Uno قرار گرفت.

      • محمد

        مهمان

        محمد

        سلام.داداش فک کنم تو این قسمت از توضیحاتت اشتبا کردی شایدم من اشتبا میکنم ولی من از این روش استفاده میکنم و جواب میگیرم.
        تو روش اول قسمت7 گفتی که ر صورت استفاده از گزینه Upload Using Programmer آن BootLoader حذف خواهد شد.
        ولی من یبار bootloader ریختم روی میکرو….بعد با استفاده از پروگرامر و گزینه Upload Using Programmer برنامه رو میریزم و به درستی کار میکنه.

        • mitavanim

          نویسنده این مطلب

          mitavanim

          با عرض سلام و وقت بخیر خدمت آقا محمد.
          مطالب این صفحه را بخوان:
          Burning sketches to the Arduino board with an external programmer
          در بخش Note اینگونه نوشته شده است:
          In order to come back to the default way to program your Arduino you have to rewrite the bootloader. To do this:
          Tools->Boards->Your Board
          Tools->Programmer->Your Programmer
          Tools->Burn Bootloader

    • mitavanim

      نویسنده این مطلب

      mitavanim

      با عرض سلام و وقت بخیر خدمت آقا محمد.
      آیا مشکل رفع شد؟

      • محمد

        مهمان

        محمد

        بله مشکل از پایه تغذیه میکرو بود (پایه شماره هفت) نمیدونم چرا ولی وقتی جداش میکردم مدار درست کار میکرد بجاش تغذیه رو میدادم به پایه Avcc