
فهرست مطالب11 بخش
- جدول مقایسه در یک نگاه
- ۱. سرعت و حافظه: تفاوت چند ده برابری
- ۲. ولتاژ کاری: مهمترین نکتهی سختافزاری
- ۳. وایفای و بلوتوث: برگ برندهی ESP32
- ۴. ورودی و خروجی آنالوگ
- ۵. سادگی، آموزش و اکوسیستم
- ۶. مصرف انرژی و پروژههای باتریخور
- ۷. اتصال USB و برنامهریزی
- کدام را بخرم؟ راهنمای انتخاب بر اساس پروژه
- جمعبندی
- پرسشهای متداول
این مقاله دو برد پرطرفدار را با اعداد دیتاشیتهای رسمی Espressif، Arduino و Microchip مقایسه میکند. همهی اعداد ESP32 مربوط به ماژول ESP32-WROOM-32D است که روی برد توسعهی ESP32 ایکانو نصب شده. اعداد آردوینو هم از دیتاشیت رسمی UNO R3 گرفته شده است.
جدول مقایسه در یک نگاه
| ویژگی | ESP32-WROOM-32D | Arduino UNO R3 (ATmega328P) |
|---|---|---|
| پردازنده | Xtensa LX6 دو هستهای 32 بیتی، تا 240MHz | AVR هشت بیتی، تا 16MHz |
| حافظهی رم (SRAM) | 520KB | 2KB |
| حافظهی برنامه | 4MB فلش SPI | 32KB فلش |
| 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.5A | USB حداکثر 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 بخرید. بردهای موجود را در دستهی پروگرامر و بردهای آموزشی ببینید.









