آموزش آردوینو نرم افزار پروژه های آردوینو

پروژه LED چشمک زن با ماژول Attiny85 usb و برنامه نویس با نرم‌افزار آردوینو

آموزش ماژول Attiny85 arduino
نوشته شده توسط علیرضا قربانی

USB Attiny85 را کوچکترین بورد ساخت آردوینو دانست. طراحی کوچک برد و امکان اتصال به پورت usb به کاربر امکان برنامه نویسی و ساخت مدارات کوچک و ساده را می دهد.جرأت میتوان گفت این یکی از کوچک‌ترین برد های توسعه تولید شده است. در این برد از یک کانکتور usb استفاده شده که به صورت کاملاً ظریفی به برد اصلی متصل شده است. Attiny85 را می‌توان توسط IDE برنامه ریزی نمود و همچنین از دستورات پلت فرم Arduino برای این برد کوچک استفاده نمود. در این آموزش ابتدا طریقه نصب Attiny 85 را بر روی نرم افزار آردوینو آموزش می‌دهیم سپس با استفاده از آن شدت روشنایی یک عدد LED را تنظیم می‌کنیم. در ادامه آموزش با مرجع تخصصی آردوینو ، دیجی‌ اسپارک همراه باشید.

 

ویژگی ماژول Attiny85 usb

  • پشتیبانی از IDE  (  نرم افزار برنامه نویسی)آردوینو
  • دارای یک عدد رگولاتور ۵ ولت ، ۵۰۰ میلی‌آمپر بر روی ماژول
  • دارای ۶ عدد ورودی و خروجی
  • ۳ عدد پین pwm
  • ۴ عدد پین ADC
  • ۸کیلوبایت حافظه فلش
  • دارای پروتکل I2C وSPI
  • دارای یک عدد LED به منظور نمایش دادن اتصال تغذیه و یک عدد LED متصل به پین شماره ۱

 

 

نصب Attiny85 بر روی  IDE آردوینو

پیش از هر چیز نیاز به IDE آردوینو دارید ، اگر نرم‌افزار آردوینو بر روی سیتسم شما نصب نمی‌باشد از لینک زیر آن را دانلود نموده و نصب نمایید. دانلود نرم‌افزار آردوینو *قبل از هر چیز توجه داشته باشید که باید رایانه شما به اینترنت متصل باشد و همچنین از یک نرم‌افزار فیلتر‌شکن استفاده نمایید در غیر این صورت با مشکل مواجه می‌شوید.

۱- پس از نصب نرم‌افزار ، وارد نرم‌افزار شده از منوی File گزینه Preferences را انتخاب کنید.

آموزش ماژول Attiny85 در آردوینو

 

۲-در پنجره باز شده  در قسمت   Additional  Boards manager URLs  آدرس لینک زیر را وارد کنید و OK را بزنید.

 

جهت دسترسی به این بخش از پروژه، اسپارکر پلاس شوید.

 

 

هم اکنون Attiny بر روی IDE شما نصب شده است. و اگر به منوی Tools ، زیر منوی Board مراجعه کنید لیست جدیدی از پردازنده‌های  Attiny را مشاهده خواهید کرد.همانند تصویر زیر:

 

آموزش ماژول Attiny85 در آردوینو

 

 

کدنویسی ماژول Attiny 85 USB

برای شروع کدنویسی این ماژول ابتدا باید کتابخانه  DigiUSB.h را توسط دستور زیر به برنامه فراخوانی کنید:

بعد از فراخوانی کتابخانه باید توسط تابع begin در setup برنامه این ماژول را فعال کنید همانند قطعه کد زیر:

 

پروژه تنظیم روشنایی LED با ماژول Attiny 85 USB

اتصالات :

توجه: فعلا ماژول را به پروت USB کامپیوترتان متصل نکنید. پین آند LED را به پین شماره ۱ ماژول Attiny85 و پین کاتد LED را به پین GND ماژول متصل میکنیم.

کد آردوینو ماژول Attiny85 USB

کد‌های زیر را درون نرم افزار کپی نمایید:

 

طریقه آپلود کد بر روی ماژول:

ابتدا از منوی Tools ، زیر منوی programmer  گزینه‌ی Micronucleus را انتخاب نمایید.

همانند تصویر زیر:

آموزش ماژول Attiny85 در آردوینو

دقت داشته باشید که به هیچ عنوان ماژول Attiny85 را به رایانه منصل نکرده باشید. اکنون بر روی Upload کلیک نمایید.بلا فاصله پس از به نمایش پیغامی با عنوان plug in device now…ماژول را به پورت USB متصل نمایید. همانند تصویر زیر:

آموزش ماژول Attiny85 در آردوینو

 

در صورت دریافت پیغام   Micronucleus done. Thank you! به این معناست که برنامه به درستی بر روی  Attiny85 آپلود شده است.

آموزش ماژول Attiny85 در آردوینو

 

 

 

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

علیرضا قربانی

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

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

۶۰ دیدگاه

  • سلام
    ممنونم بابت آموزشتون، یه سوال داشتم، این ماژول یه نوع غیر از USB هم داره، بعد آموزش اون چطوریه؟ اونم به همین طریق قابل برنامه ریزیه؟

    ممنون

  • ba salam.
    man saee dar upload mesal bala daram vali ba eror movajeh misham.

    exit status 1
    Error compiling.
    Invalid library found in C:UsersamirAppDataLocalArduino15packagesdigistumphardwareavr1.6.5librariesDigispark_Examples: C:UsersamirAppDataLocalArduino15packagesdigistumphardwareavr1.6.5librariesDigispark_Examples
    Invalid library found in C:UsersamirAppDataLocalArduino15packagesdigistumphardwareavr1.6.5librariesDigispark_Examples: C:UsersamirAppDataLocalArduino15packagesdigistumphardwareavr1.6.5librariesDigispark_Examples

  • ba salam va khaste nabashid.
    tashakor mikonam az pasokh goee shoma.
    moshkele digari dashtam va ine ke boardam roye
    systemam shenakhte nemishe.
    driver ham nasb kardam vali ba in hal board hanoz nashenase.

    • سلام

      وقتی که ماژول را وصل میکنین اصلا نباید بشناستش

      باید در هنگامی که بر روی دکمه پروگرام کلیک میکنید ، سریع ماژول را به پورت usb متصل کنین( همینطور که در آموزش توضیح داده شده)

  • بسیار عالی . فقط لازم هست ذکر کنم قبل از اتصال ماژول به سیستم ، اگر درایور ماژول نصب نباشه ،ویندوز ماژول رو به عنوان یک سخت افزار ناشناس تشخیص میده. میتونین از ادرس زیر درایور مربوط رو دانلود کنین .
    https://netix.dl.sourceforge.net/project/digistump/DigisparkArduino-Win32-1.0.4-March29.zip

  • سلام
    خسته نباشید.
    از آموزش های کامل شما در سایت بسیار متشکرم.
    داشتم یک اسکچ روی َAttiny85 با Arduino UNO R3 آپلود می کردم که به مشکل زیر برخوردم:
    Arduino: 1.8.5 (Windows 10), Board: “ATtiny25/45/85, ATtiny85, Internal 1 MHz”

    Using Port : COM5
    Using Programmer : stk500v1
    Overriding Baud Rate : 19200
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03

    avrdude done. Thank you.

    Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    تمام اتصالاتم را نیز چک کرده ام همچنین نوع برد و ورودی COM و…
    لطفا رهنمایی کنید.
    با تشکر

  • اقا خیلی ممنون خدا خیرتون بده واقعا عالی بود هرجا گشتم چیز بدرد بخوری پیدا نکردم.
    ممنونم فقط وقتی کتابخانه DigiUSB رو فراخوانی می کنم اررو کامپایل میداد،که وقتی کتابخانه رو حذف کردم و بصورت عادی اپلود کردم جواب داد.
    گفتم شاید کسی مشکل منو داشت بدردش بخوره ممنون و متشکر.
    البته ماله من روی بردم نوشته CJMCU و رنگش بنفشه

  • سلام من یه oled گرفتم ۶pin امکان اتصالش به attiny85 هست؟
    روی oled که من خریدم پایه ها به این شکله
    DC- RES- D1- D0- VCC- GND
    میشه راهنمایی بفرمایید اتصال پایه ها به چه صورته

  • سلام
    چرا لمکان مونیتور سریال با attiny85 نیست؟ رو هیچ comی نمیشناسه؟ من چندتا ویدیو توو یوتیوب دیدم که به راحتی رو پورت ١ میشناخت
    البته با تشکر از راهنماییهای شما چون حداقل تونستم توو attiny85 برنامه لود کنم

  • سلام
    من میخوام روی یه میکرو کنترل atmega328 کد هامو آپلود کنم آیا میتونم اونو به برد arduino uno dip وصل کنم (به همون سوکت ۲۸ پینی که روی برد هست) بعد که کد رو آپلود کردم اون میکروکنترلر رو به یه برد دیگه منتقل کنم؟

  • سلام شرمنده من نتونستم توی tools اردوینو پروگرمر Micronucleus رو پیدا کنم بعد بورد انتخابی رو هم ۳ مورد میاره نمیدونم کدومو انخاب کنم ممنون میشم راهنمایی کنین

    • سلام مجدد
      در ابتدا پیشنهاد می‌شود، ورژن آدروینو ۱٫۸٫۵ باشد. سپس با نصب پکیج digistump به boards manager وارد شده و type را بر روی contributed قرار دهید.
      سپس در لیست های نمایش داده شده، برد Digistump AVR Boards by Digistump را نصب کنید. با نصب پکیج لیست برد های digispark به بردها اضافه خواهد شد. در نهایت برد اول یعنی (Digispark(Default-16.5mhz را انتخاب و برنامه ساده ای تست کنید.
      بررسی و نتیجه را از همین طریق اطلاع رسانی کنید.

      • تمامی تنظیمات رو مانند اموزش انجام دادم اما این پیغام میاد
        Running Digispark Uploader…
        Plug in device now… (will timeout in 60 seconds)
        چند ثانیه بعدش هم این پیام
        > Press CTRL+C to terminate the program.
        > Device search timed out

        • پیام دریافتی ارور نیست! دیجی اسپارک نصب شده است.
          یک عکس هم ضمیمه نمایید. همچنین آیا درایور مخصوص را نصب شده است؟

  • سلام
    اولا من نمیدونم تو اردوینو کدوم بورد رو انتخاب کنم
    ۱- ATTINY85- cemma 8mhz
    ۲-attiny 85 trinket 8mhz
    ۳-attiny 85 trinket 16mhz
    بعد کدوم پروگرمر رو انتخاب کنم اونی رو که توی اموزش نوشتین نرم افزار من نمیاره

    • سلام مجدد
      بنده این موارد را بررسی کردم، پیرو این آموزش باید لیست بردهایی که به نرم افزار آردوینو اضافه می‌شوند، با Digispark شروع شوند. ولی لیست دریافتی شما چیز دیگری هست.
      نکته‌ای که حائز اهمیت است، این چنین بردهایی که به صورت مستقیم روی Arduino IDE قرار ندارند، دارای پیچیدگی‌های در نصب و راه اندازی هستند. در بسیاری از موارد نیاز به اجرای مو به مو مراحل وجود دارد. از اینرو‌ با توجه به آپدیت اخیر آردوینو، این موضوع کمی نیاز به پیگیری دارد. منتظر باشید بنده بررسی عمیق‌تری می‌کنم و نتیجه را از همین طریق اطلاع رسانی خواهم کرد.

      • تمامی تنظیمات رو مانند اموزش انجام دادم اما این پیغام میاد
        Running Digispark Uploader…
        Plug in device now… (will timeout in 60 seconds)
        چند ثانیه بعدش هم این پیام
        > Press CTRL+C to terminate the program.
        > Device search timed out

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

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

              • وقت بخیر وخسته نباشید
                بله درایو هم نصب شده است اما من همین نمونه برنامه رو هم که توی جراغ چشمک زن استفاده شده رو هم نتونستم بریزم
                اول این پیام میاد
                Running Digispark Uploader…
                Plug in device now… (will timeout in 60 seconds)
                بعدش
                > Press CTRL+C to terminate the program.
                > Device search timed out
                این پیام و اپلود نمیشه
                شاید هم من نمیتونم برناممو درست بنویسم اگه امکانش هست شما کمکم کنید
                من برنامه ای میخوام که یه ورودی و یه خروجی داشته باشه وقتی ورودی اعمال میشه بهم خروجی رو بده وقتی هم ورودی قطع شد خروجی رو قطع کنه
                پین هامم به این ترتیبن روی بورد attiny85
                pb5 nres
                pb4 adc2
                pb3 adc3
                pb2 sck/adc1
                pb1 miso
                pb0 mosi

                • با سلام
                  لطفا یک تصویر از ارور ضمیمه کنید. در ابتدا ارور را بررسی خواهیم کرد و سپس به کد مورد نظر خواهیم رسید.

                  • سلام نتونستم عکسی از ارور اپلود کنم
                    اما ارورش اینه
                    اول این پیام میاد
                    Running Digispark Uploader…
                    Plug in device now… (will timeout in 60 seconds)
                    بعدش
                    > Press CTRL+C to terminate the program.
                    > Device search timed out
                    این پیام و اپلود نمیشه

                    • این پیام ارور نیست.
                      ممکن است در نوشتن برنامه مورد نظر خطایی وجود داشته باشد که از این طریق قابل بررسی نمی‌باشد.

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

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

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