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

لینک خرید ATtiny13 از فروشگاه ECA
در این تاپیک آموزش بوتلودر زدن و پروگرم برنامه های آردوینو را روی ATtiny13 مرور میکنیم . برای شروع به یک پروگرمر ISP و یا یک برد آردوینو ( UNO یا Mega و یا ... ) نیاز داریم تا به عنوان پروگرمر استفاده کنیم . مقداری سیم و یک LED و مقاومت حدود 220 اهم برای بررسی درستی انجام کار در اجرای مثال BLINK .
نرم افزار آردوینو را باز کرده و از منوی File روی گزینه Preferences کلیک کنید . در پنجره باز شده در قسمت Additional Boards Manager URLs لینک زیر رو کپی کرده و سپس OK کنید .
سپس از منوی Tools شاخه Boards گزینه Boards Manager را باز کرده و منتظر بمانید تا لیست به روز رسانی شود . در کادر جستجوی بالای پنجره عبارت MicroCore را تایپ کرده و از قسمت نتایج در کادر مربوط به MicroCore روی گزینه Install کلیک کرده منتظر بمانید تا عملیات دانلود و نصب به اتمام برسد . در پایان گزینه Close را بزنید . تا اینجای کار عملیات اضافه کردن ATtiny13 به نرم افزار آردوینو انجام شده است .
برای اتصال پروگرمر ISP به میکرو از نقشه زیر استفاده کنید . استفاده از اسیلاتور خارجی اختیاری ست .

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

تنظیمات نرم افزار رو به این شکل انجام دهید .
نوع پروگرمر را متناسب با پروگرمری که استفاده میکنید تنظیم کرده و روی گزینه Burn Bootloader از منوی Tools کلیک کنید .
نکته : برای استفاده از برد های آردوینو به عنوان پروگرمر ، ابتدا باید مثال ArduinoISP را روی برد خود آپلود کنید . از منوی Tools گزینه پروگرمر را روی "Arduino As ISP" قرار داده و روی گزینه Burn Bootloader کلیک کنید .
پیام خطای زیر به معنی درستی انجام کار است
حالا برای تست عملکرد بوتلودر. مثال زیر رو در آردوینو پکی کرده و از منوی Sketch گزینه Upload Using Programmer را بزنید . اگر مراحل درست انجام شده باشد LED متصل به پین شماره 3 یعنی IO=4 با سرعت 1 ثانیه پشمک خواهد زد .
لیست توابع پشتیبانی شده در این بوت لودر
ATtiny13 یک میکرو 8 بیتی 8 پایه کوچک با 6 پین IO و 4 پین آنالوگ و 2 پین PWM و 1 پین INT0 و 6 پین PCINT یکی از این گزینه هاست

لینک خرید 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
برای اتصال پروگرمر ISP به میکرو از نقشه زیر استفاده کنید . استفاده از اسیلاتور خارجی اختیاری ست .
برای اتصال برد آردوینو به عنوان پروگرمر به میکرو از نقشه زیر استفاده کنید .
تنظیمات نرم افزار رو به این شکل انجام دهید .
کد:
Board : ATtiny13 Clock : 1.2 MHz Internal osc Compiler LTO : Enables ( Default ) BOD : 4.3v
نکته : برای استفاده از برد های آردوینو به عنوان پروگرمر ، ابتدا باید مثال ArduinoISP را روی برد خود آپلود کنید . از منوی Tools گزینه پروگرمر را روی "Arduino As ISP" قرار داده و روی گزینه Burn Bootloader کلیک کنید .
پیام خطای زیر به معنی درستی انجام کار است
کد:
avrdude: ser_open(): can't open device "unknown" ....
کد:
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]
دیدگاه