قیمت و موجودی تمامی کالاها به‌روز است.

مقایسه ESP32 و آردوینو UNO؛ کدام را برای پروژه‌تان بخرید؟

مقالات⏱ 8 دقیقه مطالعهبه‌روزرسانی: 20 مهر 1405
مقایسه ESP32 و آردوینو UNO؛ کدام را برای پروژه‌تان بخرید؟
جواب کوتاه: اگر پروژه‌تان به اینترنت، وای‌فای یا بلوتوث نیاز دارد، یا حافظه و سرعت بیشتری می‌خواهد، ESP32 انتخاب بهتری است. پردازنده‌ی آن دو هسته‌ای تا 240 مگاهرتز است و 520 کیلوبایت SRAM دارد. اگر تازه شروع کرده‌اید، با ماژول‌ها و سنسورهای 5 ولتی کار می‌کنید و سادگی و منابع آموزشی برایتان مهم‌تر است، آردوینو UNO با ATmega328P (تا 16 مگاهرتز، 2 کیلوبایت SRAM و منطق 5 ولت) گزینه‌ی امن‌تری است. مهم‌ترین تفاوت عملی این است که پایه‌های ESP32 با 3.3 ولت کار می‌کنند و نباید مستقیم به سیگنال 5 ولت وصل شوند.

فهرست مطالب11 بخش
  1. جدول مقایسه در یک نگاه
  2. ۱. سرعت و حافظه: تفاوت چند ده برابری
  3. ۲. ولتاژ کاری: مهم‌ترین نکته‌ی سخت‌افزاری
  4. ۳. وای‌فای و بلوتوث: برگ برنده‌ی ESP32
  5. ۴. ورودی و خروجی آنالوگ
  6. ۵. سادگی، آموزش و اکوسیستم
  7. ۶. مصرف انرژی و پروژه‌های باتری‌خور
  8. ۷. اتصال USB و برنامه‌ریزی
  9. کدام را بخرم؟ راهنمای انتخاب بر اساس پروژه
  10. جمع‌بندی
  11. پرسش‌های متداول

این مقاله دو برد پرطرفدار را با اعداد دیتاشیت‌های رسمی Espressif، Arduino و Microchip مقایسه می‌کند. همه‌ی اعداد ESP32 مربوط به ماژول ESP32-WROOM-32D است که روی برد توسعه‌ی ESP32 ایکانو نصب شده. اعداد آردوینو هم از دیتاشیت رسمی UNO R3 گرفته شده است.

جدول مقایسه در یک نگاه

ویژگیESP32-WROOM-32DArduino UNO R3 (ATmega328P)
پردازندهXtensa LX6 دو هسته‌ای 32 بیتی، تا 240MHzAVR هشت بیتی، تا 16MHz
حافظه‌ی رم (SRAM)520KB2KB
حافظه‌ی برنامه4MB فلش SPI32KB فلش
EEPROMندارد (از فلش استفاده می‌شود)1KB
ولتاژ کاری3.0 تا 3.6Vمنطق 5V؛ ورودی VIN برد 6 تا 20V
وای‌فای و بلوتوثWi-Fi 802.11 b/g/n و Bluetooth 4.2 (BR/EDR و BLE)ندارد
ورودی آنالوگ (ADC)دو ADC دوازده بیتی SAR، تا 18 کانال6 ورودی آنالوگ، ADC ده بیتی
خروجی آنالوگ (DAC)دو DAC هشت بیتیندارد (فقط PWM)
پایه‌های ورودی/خروجیتا 32 GPIO روی ماژول14 دیجیتال (6 تا PWM) و 6 آنالوگ
منبع تغذیه‌ی توصیه‌شدهحداقل 0.5AUSB حداکثر 5.5V یا VIN بین 6 تا 20V
دمای کاری-40 تا 85 °Cطبق دیتاشیت برد

۱. سرعت و حافظه: تفاوت چند ده برابری

ESP32 دو هسته‌ی 32 بیتی تا 240 مگاهرتز دارد، در حالی که ATmega328P یک هسته‌ی 8 بیتی تا 16 مگاهرتز است. تفاوت رم مهم‌تر است: 520 کیلوبایت در برابر 2 کیلوبایت. در پروژه‌هایی که صفحه‌ی وب، داده‌ی JSON، بافر صدا یا نمایشگر گرافیکی دارند، 2 کیلوبایت رم UNO خیلی زود پر می‌شود. در مقابل، برای خواندن چند سنسور، روشن و خاموش کردن رله یا کنترل یک موتور، توان پردازشی UNO کاملاً کافی است.

۲. ولتاژ کاری: مهم‌ترین نکته‌ی سخت‌افزاری

ماژول ESP32 با 3.0 تا 3.6 ولت تغذیه می‌شود. طبق جدول مشخصات DC دیتاشیت Espressif، حداکثر ولتاژ ورودی منطقی (VIH) برابر VDD + 0.3 ولت است. یعنی پایه‌های ESP32 برای سیگنال 5 ولت طراحی نشده‌اند. در عوض ATmega328P روی UNO با 5 ولت کار می‌کند و دیتاشیت Microchip بازه‌ی 1.8 تا 5.5 ولت را برای این تراشه ذکر می‌کند (حداکثر فرکانس در ولتاژهای پایین کمتر است).

نتیجه‌ی عملی:

  • ماژول‌هایی که خروجی 5 ولت دارند، مثلاً بعضی سنسورها یا خروجی TX یک ماژول 5 ولتی، را با تقسیم مقاومتی یا مبدل سطح منطقی به ESP32 وصل کنید.
  • برای تغذیه‌ی مدارهای 3.3 ولتی از 5 ولت، رگولاتوری مثل AMS1117-3.3 کافی است. روش محاسبه‌ی گرمای آن را در راهنمای انتخاب رگولاتور توضیح داده‌ایم.
  • دیتاشیت ESP32-WROOM-32D منبعی با حداقل 0.5 آمپر توصیه می‌کند، چون مصرف لحظه‌ای هنگام ارسال وای‌فای بالا می‌رود. پورت USB ضعیف یا رگولاتور کوچک ممکن است باعث ریست شدن برد شود.

۳. وای‌فای و بلوتوث: برگ برنده‌ی ESP32

ESP32 وای‌فای 802.11 b/g/n و بلوتوث 4.2 (هم کلاسیک و هم BLE) را داخل خود دارد. برای پروژه‌های اینترنت اشیا مثل کنترل رله از راه دور، ارسال داده‌ی سنسور به سرور یا اتصال به گوشی، به ماژول اضافه نیاز ندارید. UNO هیچ‌کدام از این‌ها را ندارد و باید ماژول جدا اضافه کنید:

  • برای بلوتوث کلاسیک: ماژول بلوتوث HC-05. نکات اتصال آن به برد 5 ولتی را در صفحه‌ی محصول آورده‌ایم.
  • برای وای‌فای در خانواده‌ی آردوینو: برد آردوینو Mega 2560 با ESP8266 که پردازنده‌ی ATmega2560 و تراشه‌ی وای‌فای ESP8266 را روی یک برد دارد.

ماژول‌های بلوتوث و وای‌فای دیگر را در دسته‌ی ماژول بلوتوث و وای‌فای ببینید.

۴. ورودی و خروجی آنالوگ

ESP32 دو مبدل آنالوگ به دیجیتال 12 بیتی با حداکثر 18 کانال و دو مبدل دیجیتال به آنالوگ 8 بیتی دارد. UNO شش ورودی آنالوگ 10 بیتی دارد و DAC واقعی ندارد. چند نکته‌ی مهم دیتاشیت ESP32:

  • پایه‌های GPIO34 تا GPIO39 فقط ورودی هستند و نمی‌توان از آن‌ها خروجی گرفت.
  • GPIO6 تا GPIO11 به فلش داخلی ماژول وصل‌اند و دیتاشیت استفاده از آن‌ها را برای کارهای دیگر توصیه نمی‌کند.
  • تعدادی از پایه‌ها پایه‌ی Strapping هستند و حالت بوت را تعیین می‌کنند. اتصال اشتباه آن‌ها هنگام روشن شدن ممکن است برد را در حالت بوت گیر بیندازد.

برای سنسورهای آنالوگ ساده مثل سنسور دمای LM35DZ، هر دو برد جواب می‌دهند. فقط در ESP32 ولتاژ خروجی سنسور باید در محدوده‌ی 3.3 ولت بماند.

۵. سادگی، آموزش و اکوسیستم

UNO استاندارد آموزشی دنیای آردوینو است. بیشتر شیلدها، کتاب‌ها و مثال‌ها برای آن نوشته شده‌اند و چون با 5 ولت کار می‌کند، با بیشتر ماژول‌های قدیمی‌تر سازگار است. ESP32 را هم می‌توان با Arduino IDE برنامه‌ریزی کرد، ولی وجود دو هسته، وای‌فای و نکات پایه‌ها، یادگیری آن را برای مبتدی کمی سخت‌تر می‌کند. ریزپردازنده‌های AVR مثل ATMEGA8A-PU و ATMEGA16A-PU را هم می‌توانید مستقل روی برد خودتان ببندید. با این کار از برد آماده بی‌نیاز می‌شوید و مستقیم با رجیسترها کار می‌کنید.

۶. مصرف انرژی و پروژه‌های باتری‌خور

در پروژه‌های باتری‌خور، وای‌فای بیشترین مصرف را دارد. ESP32 حالت‌های خواب کم‌مصرف دارد و می‌تواند بیشتر زمان خاموش باشد و فقط برای ارسال داده بیدار شود. برای تغذیه‌ی باتری لیتیومی از ماژول شارژ TP4056 و جاباتری 18650 استفاده کنید و ولتاژ را با رگولاتور مناسب به 3.3 ولت برسانید. ولتاژ باتری لیتیومی در طول تخلیه تغییر می‌کند، پس محاسبه‌ی Dropout رگولاتور را فراموش نکنید. مقاله‌ی انتخاب منبع تغذیه‌ی مناسب انواع منبع را مقایسه می‌کند.

۷. اتصال USB و برنامه‌ریزی

روی UNO R3، طبق دیتاشیت Arduino، یک میکروکنترلر جداگانه به نام ATmega16U2 ارتباط USB با کامپیوتر را برقرار می‌کند و برنامه از همین مسیر روی ATmega328P بارگذاری می‌شود. ولتاژ ورودی از کانکتور USB حداکثر 5.5 ولت است. برد ESP32 ایکانو، طبق عنوان محصول، درگاه USB Type-C دارد و برنامه از همین درگاه بارگذاری می‌شود. اگر روی برد خودتان از تراشه‌ی خام استفاده می‌کنید، برای برنامه‌ریزی سریال به یک مبدل USB به سریال نیاز دارید، مثل تراشه‌ی CH340T. در هر دو برد، اگر کامپیوتر برد را نشناخت، اول کابل USB را عوض کنید. بعضی کابل‌ها فقط برای شارژ ساخته شده‌اند و سیم داده ندارند. بعد درایور مبدل USB را بررسی کنید.

کدام را بخرم؟ راهنمای انتخاب بر اساس پروژه

پروژهپیشنهاددلیل
یادگیری الکترونیک و برنامه‌نویسی از صفرآردوینومنطق 5 ولت، منابع آموزشی زیاد و سازگاری با بیشتر ماژول‌ها
کنترل رله یا لوازم خانه از طریق وای‌فای یا گوشیESP32وای‌فای و بلوتوث داخلی
ایستگاه هواشناسی و ارسال داده به اینترنتESP32وای‌فای، رم زیاد و ADC دوازده بیتی
ربات ساده با موتور DC و سنسورهر دو؛ آردوینو ساده‌تر استشیلدهای موتور مثل شیلد L293D آردوینو آماده‌اند
پروژه‌ای با تعداد زیاد پایه و وای‌فای در اکوسیستم آردوینوMega 2560 + ESP8266پایه‌های زیاد Mega و وای‌فای روی یک برد

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

جمع‌بندی

ESP32 از نظر سرعت، حافظه و ارتباط بی‌سیم خیلی جلوتر است و برای پروژه‌های اینترنت اشیا انتخاب طبیعی است. فقط باید به 3.3 ولتی بودن پایه‌ها و منبع تغذیه‌ی قوی‌تر توجه کنید. آردوینو UNO ساده‌تر و با ماژول‌های 5 ولتی سازگارتر است و برای شروع یادگیری بهتر است. اگر هنوز مطمئن نیستید، سؤال کنید: «آیا پروژه‌ام به اینترنت یا بلوتوث نیاز دارد؟» اگر جواب مثبت است، ESP32 بخرید. بردهای موجود را در دسته‌ی پروگرامر و بردهای آموزشی ببینید.

پرسش‌های متداول

آیا می‌توان ماژول‌های 5 ولتی را مستقیم به ESP32 وصل کرد؟
تغذیه‌ی ماژول را می‌توان از 5 ولت گرفت، ولی سیگنال خروجی 5 ولتی ماژول نباید مستقیم به پایه‌ی ESP32 وصل شود. طبق دیتاشیت Espressif، حداکثر ولتاژ ورودی منطقی برابر VDD + 0.3 ولت است. از تقسیم مقاومتی یا مبدل سطح منطقی استفاده کنید.
آیا ESP32 را می‌توان با Arduino IDE برنامه‌نویسی کرد؟
بله. بعد از نصب پشتیبانی برد ESP32 در Arduino IDE، بیشتر دستورهای آشنای آردوینو کار می‌کنند. فقط شماره‌گذاری پایه‌ها، سطح ولتاژ 3.3 ولت و پایه‌های خاص مثل GPIO34 تا 39 (فقط ورودی) را در نظر بگیرید.
برای شروع یادگیری، ESP32 بخرم یا آردوینو؟
اگر هدف یادگیری پایه‌ی الکترونیک و برنامه‌نویسی میکروکنترلر است، آردوینو به خاطر منطق 5 ولت و منابع آموزشی بیشتر ساده‌تر است. اگر از همان ابتدا پروژه‌ی اینترنت اشیا در ذهن دارید، مستقیم با ESP32 شروع کنید.
چرا برد ESP32 هنگام وصل شدن به وای‌فای ریست می‌شود؟
معمولاً منبع تغذیه ضعیف است. دیتاشیت ESP32-WROOM-32D منبعی با حداقل 0.5 آمپر توصیه می‌کند. کابل USB باکیفیت، پورت قوی‌تر یا رگولاتور مناسب و خازن کافی کنار تغذیه‌ی ماژول را امتحان کنید.
آیا ESP32 جایگزین کامل آردوینو UNO است؟
از نظر سرعت، حافظه و ارتباط بی‌سیم بله، ولی جایگزین مستقیم سخت‌افزاری نیست. سطح ولتاژ پایه‌ها، چیدمان پایه‌ها و سازگاری شیلدهای UNO متفاوت است و بعضی کتابخانه‌های مخصوص AVR روی ESP32 کار نمی‌کنند.

اشتراک‌گذاری:تلگرامواتساپXلینکدین

محصولات مرتبط با این مقاله

مقاله‌های مرتبط

دیدگاهتان را بنویسید