خانوادههای برد آردوینو
مقایسهٔ Uno و Nano و Mega و Leonardo و Due و ESP32 بر پایهٔ مشخصات رسمی؛ تفاوت AVR و ARM، ولتاژ 5 و 3.3 ولت، برد رسمی در برابر سازگار و راهنمای انتخاب برد برای پروژه.
آنچه در این درس میآموزید
- بردهای اصلی خانوادهٔ آردوینو را با مشخصات واقعی از هم تشخیص دهید
- تفاوتهای AVR و ARM و اهمیت ولتاژ منطقی را توضیح دهید
- ریسکهای بردهای سازگار (کلون) را بشناسید و هنگام خرید چک کنید
- برای یک پروژهٔ مشخص، برد درست را انتخاب و دلیلش را بگویید
فهرست مطالب
تا اینجا همهٔ درسها روی Uno پیش رفتهاند؛ اما Uno فقط یک عضو خانواده است. بردهای آردوینو از یک ایده مشترک میآیند — میکروکنترلر، پینهای آماده، برنامهریزی با Arduino IDE — اما در سرعت، حافظه، تعداد پین و ولتاژ خیلی با هم فرق دارند. برد اشتباه برای پروژه یعنی یا پین کم میآورید یا حافظه، یا بدتر: قطعهٔ 5 ولتی به برد 3.3 ولتی وصل میکنید و چیپ میسوزد. در این درس نقشهٔ کامل خانواده را میبینید و یاد میگیرید برای هر پروژه کدام برد درست است.
جدول مقایسهٔ خانواده
مشخصات زیر از صفحات رسمی سازندههاست (docs.arduino.cc برای بردهای آردوینو و espressif.com برای ESP32):
| برد | میکروکنترلر | کلاک | SRAM | Flash | ورودی/خروجی | ولتاژ منطقی |
|---|---|---|---|---|---|---|
| Uno R3 | ATmega328P (AVR) | ۱۶ مگاهرتز | ۲ کیلوبایت | ۳۲ کیلوبایت | ۱۴ دیجیتال + ۶ آنالوگ | ۵ ولت |
| Nano | ATmega328P (AVR) | ۱۶ مگاهرتز | ۲ کیلوبایت | ۳۲ کیلوبایت | ۱۴ دیجیتال + ۸ آنالوگ | ۵ ولت |
| Mega 2560 | ATmega2560 (AVR) | ۱۶ مگاهرتز | ۸ کیلوبایت | ۲۵۶ کیلوبایت | ۵۴ دیجیتال + ۱۶ آنالوگ | ۵ ولت |
| Leonardo | ATmega32U4 (AVR) | ۱۶ مگاهرتز | ۲٫۵ کیلوبایت | ۳۲ کیلوبایت | ۲۰ | ۵ ولت |
| Due | SAM3X8E، هستهٔ ARM Cortex-M3 | ۸۴ مگاهرتز | ۹۶ کیلوبایت | ۵۱۲ کیلوبایت | ۵۴ | 3.3 ولت |
| برد توسعهٔ ESP32 | ESP32 (Espressif) | ۲۴۰ مگاهرتز دوهستهای | حدود ۵۲۰ کیلوبایت | معمولاً ۴ مگابایت روی برد | حدود ۲۵ تا ۳۰ | 3.3 ولت |
سه نکته که جدول را خواناتر میکند:
- Nano همان مغز Uno است در بدنی کوچکتر و بدون جک تغذیه؛ برای مدارهای نهایی و جاهای کمجا انتخاب ارزانتری است.
- Mega برای پروژههای بزرگ ساخته شده: پینهای خیلی بیشتر (۵۴ ورودی/خروجی) و چهار برابر SRAM و هشت برابر Flash نسبت به Uno — مناسب رباتهای چندموتوره و پروژههایی با دهها سنسور و نمایشگر.
- Leonardo یک ترفند خاص دارد: میکروکنترلر ATmega32U4 آن USB را بهصورت بومی دارد، پس میتواند خودش را بهعنوان «کیبورد و ماوس» (HID) به رایانه معرفی کند؛ برای ساخت دستهٔ بازی و کلیدهای میانبر سختافزاری عالی است.
ESP32 از نظر رسمی آردوینو نیست اما در Arduino IDE با هستهٔ رسمی Espressif برنامهریزی میشود و به همین دلیل در عمل بخشی از خانواده است؛ جزئیات کاملش در درس آشنایی با برد ESP32 آمده است.
AVR در برابر ARM: تفاوتهای واقعی
ATmegaها «معماری AVR» شرکت Atmel (امروز Microchip) هستند و SAM3X8E بر Due «معماری ARM» شرکت Arm. فرقهای عملی:
- ولتاژ: خانوادهٔ AVR در بردهای کلاسیک با 5 ولت کار میکند؛ اکثر بردهای ARM مثل Due با 3.3 ولت. این مهمترین تفاوت امنیتی است — سیگنال 5 ولتی روی ورودی برد 3.3 ولتی خطرناک است.
- سرعت و توان: ARM در کلاک و حافظه چند برابر قویتر است؛ AVR برای کنترلهای ساده کافی و کممصرف است.
- ارتباطات و پیرامونها: بردهای ARM تعداد و تنوع بیشتری ADC و DAC و UART دارند؛ Mega هم میان AVRها همین نقش را با UARTهای بیشتر بازی میکند.
- اکوسیستم: تقریباً هر کتابخانهای برای Uno نوشته شده؛ روی بردهای قدرتمندتر گاهی همان کتابخانه به بازنویسی نیاز دارد (مثل درس ESP32 که نرخ سریال و نام کتابخانهٔ وایفای فرق کرد).
برد رسمی یا سازگار (کلون)؟
نسخههای سازگار Uno در بازار بسیارند و از نظر فونت پین و شکل، تقریباً همان برد رسمیاند. چه چیز یکسان است؟ میکروکنترلر، ابعاد پینها و سازگاری با اسکچها و شیلدها — کد شما روی هر دو یک جور کار میکند. چه چیز را باید چک کنید؟
- چیپ رابط USB: بردهای ارزانتر معمولاً بهجای تراشهٔ رسمی، CH340 دارند؛ درایور آن را جداگانه نصب میکنید تا پورت ظاهر شود (همان بحث درایور در درس ESP32).
- بوتلودر: نسخههای بیکیفیت گاهی بوتلودر قدیمی یا ناپایدار دارند؛ آپلود گاهبهگاه شکست میخورد.
- کیفیت قطعات: رگولاتور و مبدل USB بیکیفیت یعنی رفتار ناپایدار در تغذیه.
برای یادگیری، برد سازگار باقیماندهٔ سالم عملاً کافی است؛ فقط قیمت غیرواقعی پایین را با دردسر درایور و پایداری معامله کنید.
کدام برد برای کدام پروژه؟
| پروژه | انتخاب مناسب | چرا |
|---|---|---|
| یادگیری و آزمایشهای بردبوردی | Uno R3 | بزرگ، مقاوم به خطا، همهٔ آموزشها با آن هماهنگاند |
| مدار نهایی کوچک یا فضای کم | Nano | همان توان Uno در اندازهٔ بندانگشتی |
| ربات یا پروژه با دهها ورودی/خروجی | Mega 2560 | ۵۴ پین و حافظهٔ بیشتر |
| شبیهسازی کیبورد و ماوس | Leonardo | USB بومی و پشتیبانی HID |
| دستگاه موبایل با باتری و نیاز به وایفای | ESP32 | بیسیم داخلی، مصرف کم در حالت خواب، حافظهٔ بالا |
| پردازش سنگین با ADCهای بیشتر | Due | کلاک ۸۴ مگاهرتز و پیرامونهای بیشتر ARM |
قاعدهٔ کلی: سادهترین بردی که نیازهای پروژه را پوشش میدهد انتخاب کنید؛ مهاجرت بعدی همیشه ممکن است، چون زبان و IDE مشترکاند.
اشتباهات رایج و عیبیابی
| نشانه | علت رایج | راهحل |
|---|---|---|
| برد سازگار در Tools ← Port دیده نمیشود | نبود درایور CH340 یا CP210x | چیپ کنار سوکت USB را بخوانید و درایور رسمی سازندهٔ آن را نصب کنید |
| شیلد Uno روی Due کار نمیکند یا سوخته | اختلاف ولتاژ منطقی 5 و 3.3 ولت | شیلدهای 5 ولتی را فقط با مبدل سطح و تأیید دیتاشیت وصل کنید |
| اسکچ در Mega جواب نمیدهد در حالی که در Uno درست بود | استفاده از پینهای خاص یا کتابخانهٔ وابسته به Uno | شماره پینها و پشتیبانی کتابخانه را برای برد جدید چک کنید |
| انتخاب برد اشتباه در IDE و آپلود خراب | برد دیگری در Tools ← Board انتخاب شده | نام برد را از روی تراشهٔ رویبرد بخوانید و در IDE همان را انتخاب کنید |
تمرینها
تمرین
تمرین ۱ — انتخاب برد برای پروژه
برای هر پروژه یک برد از خانواده انتخاب کنید و در یک جمله دلیل بیاورید: (الف) دستگاه ثبت دمای خانه با وایفای و باتری؛ (ب) ماکت نمایشگاهی با ۳۰ نور LED و چهار موتور؛ (ج) کلید میانبر سختافزاری که روی رایانه مثل کیبورد دیده شود؛ (د) نخستین تجربهٔ یادگیری آردوینو.
نمایش راهحل
با تکیه بر جدول انتخاب پروژه:
- الف) ESP32 — وایفای داخلی و مصرف کم در حالت خواب، برای دستگاه باتریخورِ متصل.
- ب) Mega 2560 — ۳۰ نور و چهار موتور به پینهای زیادی نیاز دارد؛ Mega با ۵۴ ورودی/خروجی بدون دردسر جا میدهد.
- ج) Leonardo — USB بومی و پشتیبانی HID باعث میشود برد در رایانه بهعنوان کیبورد واقعی شناخته شود.
- د) Uno R3 — ساده، مقاوم و هماهنگ با همهٔ آموزشهای این دوره؛ انتخاب استاندارد شروع.
الگوی پاسخ: اول نیازها (پین، سرعت، بیسیم، ولتاژ)، بعد برد؛ نه برعکس.
:::
خلاصه
- خانوادهٔ اصلی: Uno و Nano (همان ATmega328P)، Mega 2560 (پین و حافظهٔ زیاد)، Leonardo (USB بومی)، Due (ARM و 3.3 ولت) و ESP32 (بیسیم داخلی با هستهٔ رسمی Espressif).
- تفاوت AVR و ARM عملاً در ولتاژ، سرعت، حافظه و پیرامونهاست؛ اختلاف ولتاژ 5 و 3.3 ولت جدیترین ریسک اتصال است.
- بردهای سازگار کد شما را اجرا میکنند، اما درایور چیپ USB و کیفیت بوتلودر را چک کنید.
- انتخاب برد را از نیازهای پروژه شروع کنید، نه از قیمت یا محبوبیت.
هر برد این خانواده حول یک قلب مشترک میچرخد: میکروکنترلر. در درس بعدی کاپوت را برمیداریم و داخل ATmega328P را میبینیم — حافظهها، کلاک و معماریای که همهٔ این بردها روی آن ایستادهاند.