⚖️ ESP32 یا آردوینو اونو؟ مقایسه برای شروع
اگر در ووکوی (Wokwi) یا هر شبیهساز ESP32 دیگری گشته باشی، دیدهای که کنار آردوینو اونو، ESP32 هم خیلی محبوب است. سؤال همیشگی این است: برای شروع کدام؟ جواب کوتاه: هر دو با یک زبان برنامهنویسی میشوند، ولی برای هدفهای متفاوتی ساخته شدهاند. در این مقاله با یک جدول ساده و چند مثال کمکت میکنیم انتخاب کنی.
جدول مقایسه
| ویژگی | آردوینو اونو | ESP32 |
|---|---|---|
| پردازنده | ATmega328P، ۸ بیتی، ۱۶ مگاهرتز | دو هستهای ۳۲ بیتی، تا ۲۴۰ مگاهرتز |
| حافظهی RAM | ۲ کیلوبایت | حدود ۵۲۰ کیلوبایت |
| حافظهی برنامه | ۳۲ کیلوبایت | معمولاً ۴ مگابایت فلش |
| ولتاژ پینها | ۵ ولت | ۳٫۳ ولت |
| ورودی آنالوگ | ۶ پین، ۰ تا ۱۰۲۳ | تعداد بیشتر، ۰ تا ۴۰۹۵ |
| وایفای و بلوتوث | ندارد | دارد |
| تحمل اشتباه مبتدی | زیاد، برد مقاوم | کمتر، به ۵ ولت حساس |
| منابع آموزشی | بینهایت زیاد | زیاد و رو به رشد |
یک کد، دو برد
خبر خوب این است که هرچه روی اونو یاد بگیری، روی ESP32 هم به کار میآید. این چشمکزن روی هر دو کار میکند؛ فقط شمارهی پین چراغ روی برد فرق دارد:
// Same sketch, two boards: only the LED pin changes.
#if defined(ESP32)
const int LED = 2; // ESP32: blue on-board LED
#else
const int LED = 13; // Arduino Uno: on-board LED "L"
#endif
void setup() {
Serial.begin(115200);
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
Serial.println(analogRead(A0)); // Uno: 0..1023, ESP32: 0..4095
}
#if defined(ESP32)به کامپایلر میگوید اگر برد ESP32 است، خط اول را بردار و گرنه خط دوم را. این یک ترفند رایج برای کدهای چندبردی است.analogRead(A0)روی هر دو کار میکند، ولی بازهی عددها فرق دارد؛ اونو ۱۰ بیتی است و ESP32 دوازده بیتی.- سرعت سریال ۱۱۵۲۰۰ برای هر دو مناسب است، فقط سریال مانیتور را هم روی همین عدد بگذار.
کِی آردوینو اونو؟
- کاملاً تازهکاری و میخواهی LED، دکمه، سروو و سنسور را یاد بگیری.
- قطعههایت ۵ ولتیاند (بیشتر ماژولهای ارزان بازار).
- معلمی و میخواهی کلاس با کمترین دردسر شروع شود. تقریباً همهی کتابها و آموزشها با اونو شروع میکنند.
کِی ESP32؟
- پروژهات به اینترنت، گوشی یا وایفای نیاز دارد: خانهی هوشمند، ایستگاه هواشناسی آنلاین، داشبورد.
- حافظهی اونو برایت کم آمده (مثلاً صفحهی وب، فایل یا نمایشگر بزرگ).
- مبانی آردوینو را بلدی و دنبال قدم بعدی هستی.
💡 پیشنهاد ما: مبانی را با اونو یاد بگیر و بعد با ESP32 وارد اینترنت اشیا شو. در تینکرکد فارسی آردوینو اونو و نانو، همهی درسها و مثالهای آماده برای همیشه رایگاناند؛ مثلاً از درس «اولین چشمک» یا پروژهی Blink شروع کن. اجرای ESP32 در اشتراک Plus است، ولی مثالهای ESP32 را رایگان میتوانی باز کنی و بخوانی.
اشکالهای رایج هنگام کوچ از اونو به ESP32
- ماژول ۵ ولتی را مستقیم به ESP32 وصل کردهای: پینهای ESP32 ۳٫۳ ولتیاند. برای سیگنال ۵ ولتی مقسم ولتاژ یا مبدل سطح بگذار.
- analogWrite کار نمیکند یا رفتار عجیبی دارد: در هستههای قدیمی ESP32 نبود؛ از ledc استفاده کن (آموزش ledc).
- عدد سنسور دو برابر یا چهار برابر شده است: بازهی ESP32 تا ۴۰۹۵ است، نه ۱۰۲۳.
mapرا اصلاح کن. - کتابخانهی SoftwareSerial پیدا نمیشود: ESP32 سه سریال سختافزاری دارد و معمولاً به آن نیازی نیست.
تصمیمت را گرفتی؟ برای ESP32 از اولین پروژهی ESP32 شروع کن و برای اونو سری به آموزش آردوینو بزن. همهی محتوای ESP32 هم در صفحهی ESP32 است. اگر خرید برد واقعی را در نظر داری، مقایسهی Uno، Nano، Mega و ESP32 را هم بخوان.
شروع رایگان با آردوینو در تینکرکد فارسی ⚖️