تصویر شاخص نوشته: آردوینو یا ESP32؟ برای شروع کدام را انتخاب کنیم

آردوینو یا ESP32؟ برای شروع کدام را انتخاب کنیم

۴ مرداد ۱۴۰۵ مبانی الکترونیک

این سؤال تقریباً برای هرکسی که می‌خواهد الکترونیک و رباتیک را شروع کند پیش می‌آید، و جوابِ رایجش کمکی نمی‌کند: «هرکدام مزایای خودشان را دارند.» درست است و بی‌فایده. بیایید مشخص‌تر حرف بزنیم.

خلاصه‌اش این است: ESP32 برای شروع انتخابِ بهتری است، مگر اینکه دلیلِ مشخصی برای آردوینو داشته باشی. پایینِ همین نوشته توضیح می‌دهم آن دلایلِ مشخص چه هستند، چون واقعاً وجود دارند.

اصلاً این‌ها چه هستند

هر دو «برد میکروکنترلر»اند: یک کامپیوترِ کوچک روی یک تختهٔ کوچک، که به‌جای صفحه‌نمایش و صفحه‌کلید، پایه‌هایی دارد که به قطعات وصل می‌شوند. برنامه‌ای که می‌نویسی روی خودِ برد ذخیره می‌شود و از لحظه‌ای که برق وصل شود اجرا می‌شود — بدون نیاز به کامپیوتر.

Arduino Uno بردی است که این دنیا را برای آدم‌های معمولی باز کرد. ساده، بادوام، و پشتِ سرش یکی از بزرگ‌ترین جامعه‌های آموزشیِ دنیا. ESP32 جوان‌تر است، به‌شدت قوی‌تر، و از روزِ اول با Wi-Fi و بلوتوثِ داخلی آمده.

تفاوت‌هایی که واقعاً به کارِ تازه‌کار می‌آیند

مقایسهٔ مشخصاتِ فنی کاملْ حوصله‌سربر است و بیشترش هم برای شروع بی‌ربط. چهار تفاوت است که واقعاً روی تجربهٔ یادگیری اثر می‌گذارد:

۱. اینترنت. ESP32 خودش Wi-Fi دارد. یعنی از همان هفته‌های اول می‌توانی چیزی بسازی که واقعاً به اینترنت وصل شود — دما را جایی بفرستد، از یک سرویس چیزی بپرسد، از گوشی کنترل شود. با آردوینوی معمولی برای همین کار باید یک ماژولِ جداگانه بخری و وصل کنی، که یعنی یک لایه پیچیدگیِ اضافه دقیقاً وقتی که کمترین تحملش را داری.

۲. سرعت و حافظه. ESP32 چند برابر سریع‌تر است و حافظه‌اش به‌مراتب بیشتر. برای چشمک‌زدنِ یک LED هیچ فرقی نمی‌کند. برای وقتی که پروژه‌ات بزرگ شد و ناگهان با پیامِ «حافظه پر شد» روبه‌رو شدی، خیلی فرق می‌کند — و این اتفاق زودتر از آنچه فکر می‌کنی می‌افتد.

۳. ولتاژ. آردوینوی Uno با ۵ ولت کار می‌کند و ESP32 با ۳٫۳ ولت. این یعنی بعضی قطعاتِ ۵ ولتی را نمی‌شود مستقیم به ESP32 وصل کرد. برای بیشترِ قطعاتِ پرکاربردِ امروزی مشکلی نیست، ولی چیزی است که باید بدانی و در دیتاشیت چک کنی.

۴. قیمت. ESP32 معمولاً ارزان‌تر از آردوینوی اصل است، با اینکه قوی‌تر است.

پس چه وقت آردوینو؟

سه حالتِ واقعی هست، و هیچ‌کدام «آردوینو بهتر است» نیست — «آردوینو برای این کار مناسب‌تر است» است:

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

زبان: نکته‌ای که کمتر گفته می‌شود

آردوینو با C++ برنامه‌ریزی می‌شود. ESP32 هم می‌تواند با C++ باشد، ولی MicroPython را هم اجرا می‌کند — یعنی همان پایتون، روی خودِ برد.

برای کسی که تازه شروع کرده این تفاوتِ کوچکی نیست. در C++ باید نوعِ هر متغیر را اعلام کنی، سمی‌کالن یادت نرود، و برای دیدنِ نتیجهٔ هر تغییرِ کوچک کدت را کامپایل و آپلود کنی. در MicroPython یک خط می‌نویسی و همان لحظه اجرا می‌شود. وقتی هدف یادگیریِ مفهوم است، این حلقهٔ کوتاه‌ترِ آزمون‌وخطا واقعاً تفاوت می‌سازد.

این دلیلِ اصلیِ انتخابِ ما در آموزش رباتیک آیرو است: ESP32 با MicroPython. اول مفهوم با کمترین اصطکاک، و بعد در ترمِ پنجم پلی به C++ — چون آن هم بلد بودن لازم است، فقط نه در هفتهٔ اول.

اگر هنوز مطمئن نیستی

هر دو بردْ در شبیه‌ساز هستند و می‌توانی قبل از خریدن، هر دو را امتحان کنی. همان مدار را با هر کدام ببند و ببین کدام برایت طبیعی‌تر است:

و اگر جوابْ ESP32 بود، آموزش رباتیک نوجوانان با ESP32 از همان اولین LED شروع می‌کند و به رباتِ متصل به اینترنت می‌رسد.