📘 راهنمای سریع Digispark (ATtiny85)

فروشگاه رایاک | مرجع قطعات الکترونیک

🎯 ویژه دانشجویان و مبتدیان



⚠️ هشدار حیاتی تغذیه و اتصال پین‌ها



🔌 نقش پین‌های برد (نمای روی برد)

نام پین عملکرد محدودیت / هشدار
VCC تغذیه مثبت برد ❌ فقط ۵ ولت – بیش از آن = سوختن
GND زمین (مشترک تمام مدار) ۰ ولت – حتماً به منبع تغذیه وصل شود
P0 تا P5 ورودی/خروجی دیجیتال (GPIO) حداکثر ۵ ولت ورودی، خروجی ۲۰mA
P1 (LED داخلی) ال‌ایدی روی برد (با مقاومت) خروجی ۵ ولت – برای تست استفاده کنید
USB D+ / D- داده‌های USB ولتاژ استاندارد USB (۵ ولت)



⚙️ راه‌اندازی گام‌به‌گام

۱
نصب درایور: درایور مخصوص ATtiny85 را از لینک زیر دانلود و نصب کنید:
🔗 دانلود درایور Digispark ATtiny85
(فایل Digistump.Drivers.zip را از مخزن GitHub دانلود و اجرا کنید)
۲
تنظیم Arduino IDE: از منوی File > Preferences آدرس زیر را به Boards Manager اضافه کنید:
http://digistump.com/package_digistump_index.json
۳
انتخاب برد: از Tools > Board > Digistump AVR Boards گزینه Digispark (Default – 16.5 MHz) را انتخاب کنید.
۴
آپلود کد: کد مورد نظر را در IDE بنویسید، دکمه Upload را بزنید و وقتی پیام “Please plug your device” ظاهر شد، برد را از USB خارج کرده و دوباره وصل کنید (حداکثر ۶۰ ثانیه فرصت دارید).



🔧 آموزش فلش بوت‌لودر (زمانی که میکرو قفل می‌کند)

⏰ چه زمانی نیاز است؟ اگر میکروکنترلر ATtiny85 به هر دلیلی قفل کند (مثلاً برنامه‌نویسی ناموفق، تنظیمات اشتباه فیوز یا قطعی برق حین آپلود)، نیاز به آپلود مجدد بوت‌لودر دارید.

📋 مراحل:

💡 نکته: برای دریافت فایل بوت‌لودر و راهنمای کامل، به مخزن GitHub مراجعه کنید.



💡 کد نمونه ۱: چشمک زدن LED داخلی

✅ این کد ساده‌ترین راه برای تست سلامت برد است. LED روی برد (پایه P1) هر ۱ ثانیه چشمک می‌زند.
// ==========================================
// کد نمونه ۱: چشمک زدن LED داخلی (پایه P1)
// ==========================================

int led = 1; // LED داخلی روی پایه P1

void setup() {
pinMode(led, OUTPUT);
}

void loop() {
digitalWrite(led, HIGH); // LED روشن
delay(1000); // ۱ ثانیه مکث
digitalWrite(led, LOW); // LED خاموش
delay(1000); // ۱ ثانیه مکث
}



🔌 کد نمونه ۲: کنترل رله با دکمه و تایمر (دانشجویی)

✅ این کد برای دانشجویان بسیار کاربردی است. با فشار دکمه، رله روشن شده و پس از ۵ ثانیه خاموش می‌شود.
اتصالات:

// ==========================================
// کد نمونه ۲: کنترل رله با دکمه و تایمر ۵ ثانیه
// ==========================================

int relayPin = 0; // پایه خروجی رله (P0)
int buttonPin = 2; // پایه دکمه (P2) با Pull-up
int buttonState = 0;

void setup() {
pinMode(relayPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP); // فعال‌سازی Pull-up داخلی
digitalWrite(relayPin, LOW); // رله در ابتدا خاموش
}

void loop() {
// خواندن وضعیت دکمه (فعال در LOW چون Pull-up است)
buttonState = digitalRead(buttonPin);

// اگر دکمه فشار داده شد (LOW شد)
if (buttonState == LOW) {
digitalWrite(relayPin, HIGH); // روشن کردن رله
delay(5000); // ۵ ثانیه مکث (تایمر)
digitalWrite(relayPin, LOW); // خاموش کردن رله
}

delay(50); // تأخیر کوچک برای جلوگیری از نویز
}



🛠️ عیب‌یابی سریع

❓ برد شناسایی نمی‌شود: درایور را از مخزن GitHub دانلود و با Zadig نصب کنید. از کابل USB با کیفیت استفاده کنید.
❓ ارور در هنگام آپلود: دقیقاً در لحظه نمایش پیام “Please plug your device” برد را از USB خارج کرده و دوباره وصل کنید. زمان ۶۰ ثانیه است.
❓ LED روشن نمی‌شود: برخی نسخه‌ها LED روی P0 دارند. در کد نمونه ۱، مقدار led را به ۰ تغییر دهید.
❓ رله کار نمی‌کند: جریان خروجی پایه‌ها فقط ۲۰mA است. حتماً از ماژول رله یا ترانزیستور به عنوان درایور استفاده کنید.
❓ میکرو قفل کرده و برنامه قبلی پاک شده؟ از روش فلش بوت‌لودر (توضیح داده شده در بالا) استفاده کنید تا دوباره فریمور اصلی روی تراشه نوشته شود.



💡 با Digispark چه پروژه‌هایی می‌توان ساخت؟

🎮

کنترلر بازی

با استفاده از چند دکمه و جوی‌استیک، یک کنترلر ساده برای بازی‌های کامپیوتری بسازید. Digispark می‌تواند به عنوان یک صفحه‌کلید یا جوی‌استیک USB شناسایی شود.

💡

چراغ‌های هوشمند

با سنسور نور یا سنسور حرکت، چراغ‌های LED را به صورت خودکار روشن و خاموش کنید. پروژه‌ای عالی برای یادگیری سنسورها و کنترل خروجی.

🌡️

دماسنج دیجیتال

اتصال سنسور دمای DS18B20 یا LM35 و نمایش دما روی سریال مانیتور یا صفحه‌نمایش LCD. پروژه‌ای ساده اما بسیار آموزشی.

🔐

قفل هوشمند

با استفاده از صفحه‌کلید ماتریسی یا RFID، یک قفل الکترونیکی ساده بسازید. با وارد کردن کد صحیح، رله فعال شده و قفل باز می‌شود.

🚗

کنترل ربات ساده

با دو موتور DC و درایور L298N، یک ربات مسیریاب ساده بسازید. با سنسور اولتراسونیک از برخورد جلوگیری کنید.

⌨️

ماکرو کیبورد

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



❓ سوالات متداول

آیا Digispark با آردوینو IDE کار می‌کند؟

بله، کاملاً. با اضافه کردن آدرس Board Manager مخصوص Digispark، می‌توانید مانند یک برد آردوینو از آن استفاده کنید. تمام کتابخانه‌های استاندارد آردوینو نیز پشتیبانی می‌شوند.

چرا برد من بعد از آپلود، کار نمی‌کند؟

معمولاً به دلیل اتصال اشتباه تغذیه یا استفاده از ولتاژ بالاتر از ۵ ولت است. همچنین ممکن است کد شما دارای خطا باشد. ابتدا کد نمونه LED را تست کنید تا از سلامت برد مطمئن شوید.

چقدر حافظه برای برنامه‌نویسی دارم؟

میکروکنترلر ATtiny85 دارای ۸ کیلوبایت حافظه فلش (قابل استفاده حدود ۶ کیلوبایت) و ۵۱۲ بایت RAM است. برای پروژه‌های کوچک و متوسط مناسب است.

آیا می‌توانم از سنسورهای ۳.۳ ولتی استفاده کنم؟

توجه! Digispark خروجی ۳.۳ ولت ندارد. برای اتصال سنسورهای ۳.۳ ولتی، حتماً از مبدل سطح ولتاژ (Level Shifter) استفاده کنید تا به برد و سنسور آسیبی نرسد.

چطور بوت‌لودر را دوباره روی تراشه بنویسم؟

با استفاده از یک پروگرامر ISP (مانند USBasp) و نرم‌افزار Arduino IDE. در بخش “آموزش فلش بوت‌لودر” در همین صفحه، مراحل کامل توضیح داده شده است.



🛠️

نیاز به کدنویسی اختصاصی یا طراحی مدار دارید؟

تیم فنی فروشگاه رایاک آماده ارائه خدمات طراحی مدار، کدنویسی سفارشی و مشاوره تخصصی برای پروژه‌های شماست.

📞 0933 008 8778

(تماس در ساعات اداری – پاسخگویی به سوالات فنی و پروژه‌های دانشجویی)



📱 QR Code پشت فاکتور را اسکن کنید
📷 اینستاگرام رایاک
|
🌐 rayac.ir

⚠️ فروشگاه رایاک مسئولیتی در قبال آسیب‌های ناشی از اتصال نادرست تغذیه، پین‌ها یا عدم رعایت ولتاژ و جریان مجاز ندارد.