این آموزش به شما نشان می دهد که چگونه یک میکروکنترلر ATtiny45، ATtiny85، ATtiny44 یا ATtiny84 را با استفاده از نرم افزار آردوینو برنامه ریزی کنید. اینها میکروکنترلرهای کوچک و ارزان (2 تا 3 دلار) هستند که برای اجرای برنامه های ساده مناسب هستند. ATtiny45 و ATtiny85 دارای هشت پایه هستند و تقریباً یکسان هستند، با این تفاوت که ATtiny85 دو برابر حافظه ATtiny45 دارد و بنابراین می تواند برنامه های پیچیده تری را در خود جای دهد. ATtiny44 و ATtiny84 دارای 14 پایه و بیشتر ورودی و خروجی هستند. با تشکر از مارک اسپرول برای کار او در ساخت هسته آردوینو قابل حمل در سراسر پردازنده ها.
ATtiny45/85 در مقابل یک برد آردوینو
ATtiny45 یا 85 یک گزینه عالی برای اجرای برنامه های ساده آردوینو است: کوچک، ارزان و نسبتا آسان برای استفاده. با این حال، محدودیت هایی نسبت به ATmega328P در آردوینو Uno دارد. تعداد پینهای کمتری وجود دارد، به این معنی که نمیتوانید اجزای زیادی را به هم وصل کنید. حافظه فلش کمتری وجود دارد (4 کیلوبایت یا 8 کیلوبایت به جای 32 کیلوبایت)، به این معنی که برنامه های شما نمی توانند به این اندازه بزرگ باشند. رم کمتری (256 یا 512 بایت به جای 2 کیلوبایت) وجود دارد، به این معنی که نمی توانید داده های زیادی را ذخیره کنید. و هیچ پورت سریال سخت افزاری یا پورت I2C (کتابخانه Wire) وجود ندارد که ارتباط را پیچیده تر می کند. (راهحلهایی مانند کتابخانه SoftwareSerial یا کتابخانه TinyWire وجود دارد، اما آنها آنقدر قوی و انعطافپذیر نیستند.)
به طور خلاصه، اگر پروژه شما فقط به چند ورودی و/یا خروجی ساده نیاز دارد، احتمالاً با استفاده از ATtiny مشکلی ندارید. اگر میخواهید اجزای بیشتری را به هم متصل کنید یا ارتباطات یا پردازش دادههای پیچیدهتری انجام دهید، احتمالاً با چیزی مانند ATmega328P در Arduino Uno بهتر هستید. اگر چیزی کوچکتر و ارزانتر از یک برد کامل آردوینو می خواهید، ممکن است به جای آن از ATmega328P روی برد برد استفاده کنید .
مواد و ابزار
برای این آموزش، شما نیاز دارید:
- یک برنامه نویس درون سیستم (ISP)، قطعه سخت افزاری که برای بارگذاری برنامه ها بر روی ATtiny استفاده می شود. گزینه ها عبارتند از:
- برنامه نویس Tiny AVR ، بردی که با SparkFun به طور خاص برای برنامه نویسی ATtiny45/85s توسعه داده ایم.
- برنامه نویس تجاری دیگری مانند AVRISP mkII یا USBtinyISP .
- یک آردوینو Uno یا Duemilanove (با یک ATmega328، نه یک برد قدیمی با ATmega168). این آموزش برای استفاده از برد آردوینو به عنوان برنامه نویس را ببینید
- ATtiny45 یا ATtiny85 (بسته DIP 8 پین) یا ATtiny44 یا ATtiny84.
- تخته نان بدون لحیم کاری و سیم های جامپر (مگر اینکه از TinyProgrammer با ATtiny45 یا 85 استفاده کنید)
برای اطلاعات بیشتر، به لیست مواد و قطعات ما و لیست لوازم نمونه سازی ما مراجعه کنید .
دانلود
نصب پشتیبانی ATtiny در آردوینو
- اگر قبلاً این کار را نکرده اید، نرم افزار آردوینو نسخه 1.0.4 را دانلود کنید (1.0.3 و 1.0.1 نیز باید کار کنند، اما نه 1.0.2). نرم افزار آردوینو را با پیروی از دستورالعمل ها برای ویندوز یا Mac OS X نصب کنید .
- فایل ATiny master.zip را از لینک بالا دانلود کنید.
- فایل attiny master.zip را از حالت فشرده خارج کنید. باید حاوی یک پوشه "attiny-master" باشد که حاوی یک پوشه "attiny" باشد.
- پوشه کتاب طراحی آردوینو خود را پیدا کنید (می توانید مکان آن را در گفتگوی تنظیمات در نرم افزار آردوینو پیدا کنید)
- یک زیر پوشه جدید به نام «سخت افزار» در پوشه کتاب طرح ایجاد کنید، اگر قبلاً وجود نداشته باشد.
- پوشه "attiny" (نه پوشه attiny-master) را از ATtiny master.zip خارج شده در پوشه "hardware" کپی کنید. در نهایت باید ساختار پوشه ای مانند Documents > Arduino > hardware > attiny داشته باشید که حاوی فایل boards.txt و پوشه دیگری به نام variants است .
- محیط توسعه آردوینو را مجددا راه اندازی کنید.
- باید ورودی های ATtiny را در منوی Tools > Board ببینید.
اتصال ATtiny
شما باید برق ATtiny را تامین کنید و آن را به برنامه نویس خود وصل کنید. یعنی اتصال MISO، MOSI، SCK، RESET، VCC و GND برنامه نویس به پین های مربوطه در ATtiny. (یا اگر از مداری با ATtiny استفاده می کنید، به سادگی برنامه نویس را به هدر ISP روی برد وصل کنید – همچنین ممکن است لازم باشد برد را جداگانه تغذیه کنید.)
دستورالعمل ها و نمودارها برای:
برنامه نویسی ATtiny
بعد، میتوانیم از آردوینو بهعنوان یک ISP برای آپلود یک برنامه در ATtiny استفاده کنیم:
- طرح Blink را از منوی مثال ها باز کنید.
- اعداد پین را از 13 به 0 تغییر دهید.
- مورد مناسب را از منوی Tools > Board انتخاب کنید (پورت سریال را روی برد آردوینو خود بگذارید).
- مورد مناسب را از منوی Tools > Programmer انتخاب کنید (مثلاً "Arduino به عنوان ISP" اگر از برد Arduino به عنوان برنامه نویس استفاده می کنید، USBtinyISP برای USBtinyISP، FabISP، یا TinyProgrammer و غیره).
- طرح را آپلود کنید
برای جزئیات بیشتر: برنامه نویسی ATtiny با آردوینو 1.0