اطلاعیه

Collapse
No announcement yet.

[آموزش] برنامه نویسی ATtiny13 در آردوینو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    [آموزش] برنامه نویسی ATtiny13 در آردوینو

    درود . حتما برای شما هم پیش آمده که برای انجام کار های ساده به جای درگیری طراحی و محاسبه و ساخت مدار دیجیتال ، به انواع میکرو روی بیارید . اندازه بزرگ و یا قیمت بالای میکرو ها میتونه یکی از دلایل بازدارنده باشه . سری Tiny شرکت اتمل میکرو های کوچکی هستند با قابلیت های مختصر که برای استفاده در امور ساده میتونه گزینه خوبی باشه .
    ATtiny13 یک میکرو 8 بیتی 8 پایه کوچک با 6 پین IO و 4 پین آنالوگ و 2 پین PWM و 1 پین INT0 و 6 پین PCINT یکی از این گزینه هاست پشتیبانی تا فرکانس 20 مگاهرتز خارجی و 9.6 مگاهرتز داخلی
    Click image for larger version

Name:	687474703a2f2f692e696d6775722e636f6d2f4a7362677550562e6a7067.jpg
Views:	1
Size:	30.5 کیلو بایت
ID:	1126264
    لینک خرید ATtiny13 از فروشگاه ECA
    در این تاپیک آموزش بوتلودر زدن و پروگرم برنامه های آردوینو را روی ATtiny13 مرور میکنیم . برای شروع به یک پروگرمر ISP و یا یک برد آردوینو ( UNO یا Mega و یا ... ) نیاز داریم تا به عنوان پروگرمر استفاده کنیم . مقداری سیم و یک LED و مقاومت حدود 220 اهم برای بررسی درستی انجام کار در اجرای مثال BLINK .
    نرم افزار آردوینو را باز کرده و از منوی File روی گزینه Preferences کلیک کنید . در پنجره باز شده در قسمت Additional Boards Manager URLs لینک زیر رو کپی کرده و سپس OK کنید .
    کد:
    https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
    سپس از منوی Tools شاخه Boards گزینه Boards Manager را باز کرده و منتظر بمانید تا لیست به روز رسانی شود . در کادر جستجوی بالای پنجره عبارت MicroCore را تایپ کرده و از قسمت نتایج در کادر مربوط به MicroCore روی گزینه Install کلیک کرده منتظر بمانید تا عملیات دانلود و نصب به اتمام برسد . در پایان گزینه Close را بزنید . تا اینجای کار عملیات اضافه کردن ATtiny13 به نرم افزار آردوینو انجام شده است .
    برای اتصال پروگرمر ISP به میکرو از نقشه زیر استفاده کنید . استفاده از اسیلاتور خارجی اختیاری ست .
    Click image for larger version

Name:	attiny13-isp.jpg
Views:	1
Size:	22.1 کیلو بایت
ID:	1126265
    برای اتصال برد آردوینو به عنوان پروگرمر به میکرو از نقشه زیر استفاده کنید .
    Click image for larger version

Name:	naidisc_209Ui8FP4J.jpg
Views:	1
Size:	23.5 کیلو بایت
ID:	1126266
    تنظیمات نرم افزار رو به این شکل انجام دهید .
    کد:
    Board : ATtiny13
    Clock : 1.2 MHz Internal osc
    Compiler LTO : Enables ( Default )
    BOD : 4.3v
    نوع پروگرمر را متناسب با پروگرمری که استفاده میکنید تنظیم کرده و روی گزینه Burn Bootloader از منوی Tools کلیک کنید .
    نکته : برای استفاده از برد های آردوینو به عنوان پروگرمر ، ابتدا باید مثال ArduinoISP را روی برد خود آپلود کنید . از منوی Tools گزینه پروگرمر را روی "Arduino As ISP" قرار داده و روی گزینه Burn Bootloader کلیک کنید .
    پیام خطای زیر به معنی درستی انجام کار است
    کد:
    avrdude: ser_open(): can't open device "unknown" ....
    حالا برای تست عملکرد بوتلودر. مثال زیر رو در آردوینو پکی کرده و از منوی Sketch گزینه Upload Using Programmer را بزنید . اگر مراحل درست انجام شده باشد LED متصل به پین شماره 3 یعنی IO=4 با سرعت 1 ثانیه پشمک خواهد زد .
    کد:
    void setup() { // initialize pin 4 (ATtiny leg 3) as an output.
     pinMode(4, OUTPUT);
    }
    void loop() {
     digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
     delay(1000);             // wait for a second
     digitalWrite(4, LOW);    // turn the LED off by making the voltage LOW
     delay(1000);             // wait for a second }
    لیست توابع پشتیبانی شده در این بوت لودر
    کد:
    [URL="https://www.arduino.cc/en/Reference/Abs"]abs()[/URL] - [URL="https://www.arduino.cc/en/Reference/AnalogRead"]analogRead()[/URL] - [URL="https://www.arduino.cc/en/Reference/AnalogWrite"]analogWrite()[/URL] - [URL="https://www.arduino.cc/en/Reference/AttachInterrupt"]attachInterrupt()[/URL] - [URL="https://www.arduino.cc/en/Reference/Bit"]bit()[/URL] - [URL="https://www.arduino.cc/en/Reference/BitClear"]bitClear()[/URL] - [URL="https://www.arduino.cc/en/Reference/BitRead"]bitRead()[/URL] - [URL="https://www.arduino.cc/en/Reference/BitSet"]bitSet()[/URL] - [URL="https://www.arduino.cc/en/Reference/BitWrite"]bitWrite()[/URL] - [URL="https://www.arduino.cc/en/Reference/Constrain"]constrain()[/URL] - [URL="https://github.com/MCUdude/MicroCore/blob/83b192f46fa5c58f8b7a60d7a678b2199d167ba5/avr/cores/microcore/Arduino.h#L56"]degrees()[/URL] - [URL="https://www.arduino.cc/en/Reference/Delay"]delay()[/URL] - [URL="https://www.arduino.cc/en/Reference/DelayMicroseconds"]delayMicroseconds()[/URL] - [URL="https://www.arduino.cc/en/Reference/DetachInterrupt"]detachInterrupt()[/URL] - [URL="https://www.arduino.cc/en/Reference/DigitalRead"]digitalRead()[/URL] - [URL="https://www.arduino.cc/en/Reference/DigitalWrite"]digitalWrite()[/URL] - [URL="https://www.arduino.cc/en/Reference/HighByte"]highByte()[/URL] - [URL="https://www.arduino.cc/en/Reference/Interrupts"]interrupts()[/URL] - [URL="https://www.arduino.cc/en/Reference/LowByte"]lowByte()[/URL] - [URL="https://www.arduino.cc/en/Reference/Map"]map()[/URL] - [URL="https://www.arduino.cc/en/Reference/Max"]max()[/URL] - [URL="https://www.arduino.cc/en/Reference/Min"]min()[/URL] - [URL="https://www.arduino.cc/en/Reference/Micros"]micros()[/URL]  - [URL="https://www.arduino.cc/en/Reference/Millis"]millis()[/URL] - [URL="https://www.arduino.cc/en/Reference/NoInterrupts"]noInterrupts()[/URL] - [URL="https://www.arduino.cc/en/Reference/NoTone"]noTone()[/URL] - [URL="https://www.arduino.cc/en/Reference/PinMode"]pinMode()[/URL] - [URL="https://www.arduino.cc/en/Reference/Pow"]pow()[/URL] - [URL="https://www.arduino.cc/en/Reference/PulseIn"]pulseIn()[/URL] - [URL="https://github.com/MCUdude/MicroCore/blob/83b192f46fa5c58f8b7a60d7a678b2199d167ba5/avr/cores/microcore/Arduino.h#L55"]radians()[/URL] - [URL="https://www.arduino.cc/en/Reference/Random"]random()[/URL] - [URL="https://www.arduino.cc/en/Reference/RandomSeed"]randomSeed()[/URL] - [URL="https://github.com/MCUdude/MicroCore/blob/83b192f46fa5c58f8b7a60d7a678b2199d167ba5/avr/cores/microcore/Arduino.h#L54"]round()[/URL] - [URL="https://www.arduino.cc/en/Reference/ShiftIn"]shiftIn()[/URL] - [URL="https://www.arduino.cc/en/Reference/ShiftOut"]shiftOut()[/URL] - [URL="https://www.arduino.cc/en/Reference/Sizeof"]sizeof()[/URL] - [URL="https://github.com/MCUdude/MicroCore/blob/master/avr/cores/microcore/Tone.cpp"]stopTone[/URL] - [URL="https://www.arduino.cc/en/Reference/Sq"]sq()[/URL] - [URL="https://www.arduino.cc/en/Reference/Sqrt"]sqrt()[/URL] - [URL="https://www.arduino.cc/en/Reference/Tone"]tone()[/URL]
    
    [COLOR=#24292E][FONT=-apple-system][/FONT][/COLOR]
    جدیدترین ویرایش توسط Masood Ashoori; ۱۷:۵۱ ۱۳۹۷/۰۷/۳۰.

    #2
    پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

    با تشکر باید بگم که پایه تغذیه تاینی رو روی پنج ولت وصل کنید چون با توجه به تصویر که تغذیه تاینی روی سه وسه وصل شده عملا با تنظیم ۴.۳bod خروجی پشمک نزد و با تغذیه پنج ولتی نتیجه حاصل شد


    Sent from my iPhone using Tapatalk

    دیدگاه


      #3
      پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

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

      دیدگاه


        #4
        پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

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

        دیدگاه


          #5
          پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

          سلام.
          اگر به آدرس عکس ها دقت کنید در هاست خود سایت هستن نه هاست رایگان.
          برای نمونه به آدرس یکی از عکس های پست بالا دقت کنید.
          جدیدترین ویرایش توسط amirpage; ۰۷:۵۹ ۱۳۹۸/۰۹/۱۱.

          دیدگاه


            #6
            پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

            با سلام.
            بعد از زدن burn botloader این ارور میاد ،مشکل چی هست؟

            Arduino: 1.8.10 (Windows 10), Board: "Arduino Uno"


            Error while burning bootloader.
            avrdude: Expected signature for ATmega328P is 1E 95 0F
            Double check chip, or use -F to override this check.


            This report would have more information with
            "Show verbose output during compilation"
            option enabled in File -> Preferences.
            جدیدترین ویرایش توسط amirpage; ۰۱:۱۴ ۱۳۹۸/۰۹/۱۳.

            دیدگاه


              #7
              پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

              Compiler LTO : Enables ( Default ) این کجاست من نمیتونم پیداش کنم

              دیدگاه


                #8
                پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

                منم همین مشکل رو دارم

                دیدگاه


                  #9
                  پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

                  سلام منم زدم بوت نشد چکار کنم

                  دیدگاه


                    #10
                    پاسخ : [آموزش] برنامه نویسی ATtiny13 در آردوینو

                    سلام خسته نباشید
                    Compiler LTO : Enables ( Default
                    شما گفتید تو منوی تولز گزینه ای برای تنظیم کردن کمپایلر هست
                    ولی من هرچی نگاه می کنم نمیتونم تنظیم کنم
                    ممنون میشم راهنمایی کنید
                    این ایتم رو نتونستم پیدا کنم
                    Tools > Compiler TO set to "Enable (default) نتونیستم اینو پیدا کنم با تشکر از مطالب مفیدتان

                    دیدگاه

                    لطفا صبر کنید...
                    X