مقدمه
Arduino UNO R4 WiFi یک برد توسعه از خانواده UNO است که در صفحه رسمی سختافزار، بهعنوان ترکیب یک میکروکنترلر ۳۲بیتی Renesas RA4M1 و ماژول ESP32-S3 معرفی میشود. این ترکیب، قالب آشنای UNO را با ارتباط Wi‑Fi و Bluetooth، ماتریس LED دوازده در هشت، رابط Qwiic و مجموعهای از قابلیتهای سختافزاری مانند RTC، DAC، CAN و USB HID همراه میکند. نتیجه، بردی مناسب برای نمونهسازی ابزارهای متصل، اندازهگیری آزمایشگاهی و آموزش سامانههای نهفته است؛ اما «متصلبودن» بهخودیخود به معنی امنبودن پروژه نیست. این مقاله فقط بر دو صفحه رسمی Arduino تکیه دارد: صفحه محصول و راهنمای فنی UNO R4 WiFi که آخرین بازبینی آن در ۲۲ سپتامبر ۲۰۲۶ ثبت شده است. هرجا متن از واقعیت مستند به توصیه تحریریه میرسد، آن را صریحاً بهعنوان تحلیل یا پیشنهاد عملی بیان میکنیم.
شناسنامه فنی و معماری دوپردازندهای
قلب اصلی برد، RA4M1 از Renesas با هسته Arm Cortex‑M4 و فرکانس ساعت ۴۸ مگاهرتز است. صفحه محصول برای آن ۳۲ کیلوبایت SRAM و ۲۵۶ کیلوبایت حافظه فلش را ذکر میکند و راهنمای رسمی ۸ کیلوبایت حافظه داده EEPROM را نیز اضافه میکند. RA4M1 افزون بر ورودیوخروجی معمولی، مبدل آنالوگ به دیجیتال، تایمرها، واحدهای PWM، رابطهای UART، SPI و I2C، ساعت بلادرنگ، DAC دوازدهبیتی، کنترلر CAN و پشتیبانی HID از طریق USB را در اختیار برنامه قرار میدهد.
پردازنده دوم، ماژول ESP32-S3-MINI-1-N8 است. در حالت پیشفرض، ESP32 یک پل سریال برای ارتباط رایانه با RA4M1 است و فرایند راهاندازی مجدد و دریافت اسکچ جدید برای MCU اصلی را نیز پشتیبانی میکند. همین ماژول قابلیت Wi‑Fi و Bluetooth را فراهم میکند. خطوط داده ESP32 روی هدر سهدردو و پدهای روی برد در دسترساند، بنابراین برنامهریزی مستقیم آن ممکن است؛ ولی راهنما هشدار میدهد که این کار firmware پیشفرض پل ارتباطی را کنار میزند و تا زمان بازگردانی آن، ارتباط دو تراشه ممکن است مختل شود. این نکته یک مرز مهم میان استفاده عادی و کار پیشرفته است.
صفحه محصول اعلام میکند که ESP32-S3 بهطور جداگانه از طریق هدر مخصوص قابل برنامهریزی است. راهنما نیز میگوید ESP32 از آنتن چاپی داخلی استفاده میکند، نرخ بیت Wi‑Fi را تا ۱۵۰ مگابیتبرثانیه و Bluetooth LE/Bluetooth 5 را تا ۲ مگابیتبرثانیه ذکر میکند. آنتن میان Wi‑Fi و Bluetooth مشترک است؛ بنابراین طبق مستندات رسمی، این دو قابلیت را نمیتوان همزمان استفاده کرد. این محدودیت را باید در طراحی محصولی که به دو لینک رادیویی موازی نیاز دارد جدی گرفت.
جدول مشخصات و نقشه پایهها
| بخش | واقعیت اعلامشده در مستندات رسمی |
|---|---|
| MCU اصلی | Renesas RA4M1، Arm Cortex‑M4، ۴۸ MHz |
| حافظه | ۳۲ kB SRAM، ۲۵۶ kB فلش، ۸ kB EEPROM داده |
| سطح کاری | RA4M1 و GPIOها در ۵ ولت کار میکنند |
| ورودی تغذیه | VIN یا جک DC در بازه ۶ تا ۲۴ ولت |
| نمایشگر | ماتریس LED با آرایش ۱۲×۸ |
| مبدل خروجی | DAC با وضوح تا ۱۲ بیت روی A0 |
| ارتباط بیسیم | Wi‑Fi و Bluetooth از طریق ESP32-S3 |
| گذرگاهها | UART، SPI، I2C، CAN 2.0A/2.0B |
| اتصال توسعه | Qwiic/STEMMA روی گذرگاه I2C ثانویه |
چهارده پایه دیجیتال D0 تا D13 وجود دارد. D0 برای RX و D1 برای TX سریال سختافزاری است. D2 ورودیوخروجی و وقفه دارد. پایههای PWM رسمی D3، D5، D6، D9، D10 و D11 هستند؛ D13 به SPI SCK و LED داخلی نیز مربوط است. SPI از D10 بهعنوان CS، D11 بهعنوان COPI، D12 بهعنوان CIPO و D13 بهعنوان SCK استفاده میکند. CAN نیز طبق جدول راهنما، CANTX را روی D10 و CANRX را روی D13 قرار میدهد و برای اتصال به شبکه واقعی، یک ترنسیور خارجی مانند MCP2551 یا TJA1050 لازم است.
شش ورودی آنالوگ A0 تا A5 در دسترساند. A0 ورودی آنالوگ و خروجی DAC است؛ A1، A2 و A3 بهترتیب به OPAMP مثبت، OPAMP منفی و خروجی OPAMP داخلی مربوط میشوند؛ A4 نقش SDA و A5 نقش SCL را دارد. A4 و A5 به همان گذرگاه I2C اصلی متصلاند. مرجع پیشفرض ADC پنج ولت است و راهنما مرجع داخلی ۱٫۵ ولت را نیز برای analogReference(AR_INTERNAL) معرفی میکند. وضوح پیشفرض analogRead ده بیت است و به ۱۲ یا ۱۴ بیت قابل تغییر است. وضوح analogWrite نیز پیشفرض هشت بیت و قابل افزایش تا ۱۲ بیت است؛ این نکته برای مقایسه اندازهگیریها و جلوگیری از تفسیر نادرست دادهها مهم است.
تغذیه، سطح ولتاژ و اندازهگیری آزمایشگاهی
راهنمای رسمی میگوید تغذیه از VIN یا جک DC باید در بازه ۶ تا ۲۴ ولت باشد. رگولاتور داخلی این ورودی را به ۵ ولت تبدیل میکند و در این حالت پایه ۵V میتواند تا ۱٫۲ آمپر ارائه دهد؛ همین رگولاتور همزمان بخشهایی مانند MCU و LEDها را تغذیه میکند. برای USB‑C باید ۵ ولت اعمال شود. در تغذیه USB، رگولاتور داخلی دور زده میشود و طبق راهنما پایه ۵V میتواند تا ۲ آمپر را بدون آسیبزدن به برد ارائه کند. این اعداد، سقفهای مستندشده برای مسیر تغذیهاند، نه مجوز طراحی بیقیدوشرط منبع.
تحلیل ایمنی ما این است که موتور سروو، رله پرمصرف یا بار القایی نباید از پایه ۵V برد تغذیه شود؛ خود راهنما نیز وسایل با مصرف بالا مانند سروو را منع میکند و پایه را بیشتر برای ماژولهای کممصرف سنسوری مناسب میداند. برای اندازهگیری آزمایشگاهی، پیش از اتصال سنسور، ولتاژ منبع را با مولتیمتر بررسی کنید، زمین مشترک را درست ببندید، جریان راهاندازی بار را جدا از جریان منطقی در نظر بگیرید و افت ولتاژ را هنگام فعالشدن بار ثبت کنید. در گزارش آزمایش، مسیر تغذیه، نوع کابل، ولتاژ ورودی و اینکه توان از VIN یا USB آمده را بنویسید؛ این کار تکرارپذیری را بیشتر میکند و از نسبتدادن خطای رگولاتور به کد جلوگیری خواهد کرد.
یک هشدار کلیدی برای سنسورها این است که GPIOهای RA4M1 پنجولتیاند، اما Qwiic فقط ۳٫۳ ولت است. بنابراین سازگاری ولتاژی ماژول را پیش از اتصال بررسی کنید و ۵ ولت را مستقیماً به Qwiic تحمیل نکنید. Qwiic روی I2C ثانویه و شیء Wire1 کار میکند، در حالی که گذرگاه معمول I2C با Wire اداره میشود. مستندات میگویند مقاومتهای pull‑up روی PCB نصب نشدهاند، هرچند جای آنها وجود دارد؛ در نتیجه در یک باس واقعی باید وضعیت pull‑up و سطح منطقی ماژولها را آگاهانه طراحی کرد.
نرمافزار، کتابخانهها و راهاندازی گامبهگام
۱. برای Arduino IDE، آخرین بسته برد Arduino UNO R4 را از Boards Manager نصب کنید. راهنمای رسمی همچنین Arduino Cloud Editor و Arduino CLI را بهعنوان مسیرهای برنامهریزی معرفی میکند؛ Cloud Editor به Create Plugin روی رایانه نیاز دارد.
۲. برد را با USB‑C و منبع ۵ ولت مناسب متصل کنید، برد و درگاه درست را در محیط توسعه انتخاب کنید و ابتدا یک برنامه بسیار ساده مانند چشمکزدن LED داخلی را بسازید. هدف این مرحله، جداکردن خطای نصب بسته از خطای مدار خارجی است.
۳. برای نمایشگر از کتابخانه Arduino_LED_Matrix استفاده کنید و یک فریم ثابت آزمایشی بفرستید. این آزمون هم ماتریس ۱۲×۸ و هم بار نرمافزاری نمایش را بدون نیاز به سنسور بیرونی بررسی میکند.
۴. برای ورودی آنالوگ، A0 تا A5 را با analogRead بخوانید و ابتدا با وضوح پیشفرض دهبیتی نتیجه را ثبت کنید. اگر آزمایش به دامنه دینامیکی بیشتری نیاز دارد، analogReadResolution(12) یا analogReadResolution(14) را آگاهانه به کار ببرید و روش تبدیل عدد به ولتاژ را در گزارش ذکر کنید.
۵. برای خروجی واقعی آنالوگ، A0 و DAC را با analogWriteResolution(12) آزمایش کنید. DAC با PWM یکی نیست؛ در PWM خروجی با قطعووصل سریع میانگینسازی میشود، اما صفحه رسمی DAC را خروجی آنالوگ واقعی معرفی میکند. این تفاوت در اندازهگیری با اسیلوسکوپ یا اتصال به ورودی حساس اهمیت دارد.
۶. برای ساعت، کتابخانه RTC.h را وارد کنید، RTC.begin() را اجرا و زمان آزمایشی را تنظیم کنید. پایه VRTC فقط با ولتاژ ۱٫۶ تا ۳٫۶ ولت برای ادامه کار RTC هنگام قطع تغذیه استفاده میشود؛ بنابراین از اعمال ۵ ولت به آن خودداری کنید.
۷. برای I2C اصلی از Wire و برای Qwiic از Wire1 استفاده کنید. SPI به کتابخانه SPI.h و CAN به کتابخانه داخلی Arduino_CAN نیاز دارد. CAN بدون ترنسیور خارجی با شبکه CAN دیگر ارتباط برقرار نمیکند.
۸. پس از آزمون سیمی، Wi‑Fi را با کتابخانه داخلی WiFiS3 و نمونههای Network Examples آزمایش کنید. برای Bluetooth LE میتوان از ArduinoBLE و الگوی اسکن مستندات استفاده کرد، اما همزمانی Bluetooth و Wi‑Fi با آنتن مشترک مجاز نیست.
۹. EEPROM را برای دادههای کمتغییر مانند تنظیمات استفاده کنید، نه ثبت بیوقفه در loop. راهنما درباره محدودبودن چرخههای نوشتن هشدار میدهد. برای HID نیز کتابخانههای Keyboard و Mouse در Library Manager وجود دارند؛ اگر با تغییر درگاه USB روبهرو شدید، طبق راهنما دکمه Reset را دوبار سریع فشار دهید و برد را دوباره انتخاب کنید.
تفاوت با UNO R3 و UNO R4 Minima
این بخش باید با احتیاط خوانده شود، چون دو منبع مورد استفاده یک جدول کامل مقایسهای ارائه نمیکنند. واقعیت صریح راهنما این است که UNO R3 برای پل ارتباطی USB از ATmega16U2 استفاده میکند و فقط یک پورت سریال سختافزاری دارد که هم به USB و هم به پایههای RX/TX متصل است. در UNO R4 WiFi، یک پورت از USB‑C و پورت دیگر از RX/TX در دسترس است؛ ESP32 نیز پل سریال پیشفرض و بخش ارتباطی بیسیم است. پس تفاوت مهم، معماری پل و جدایی مسیرهای سریال است، نه صرفاً افزایش عدد نسل.
راهنما RA4M1 را میکروکنترلر مشترک UNO R4 WiFi و UNO R4 Minima معرفی میکند، در حالی که صفحه محصول WiFi، ESP32-S3، Wi‑Fi، Bluetooth، ماتریس LED و Qwiic را بهطور مشخص برای همین مدل بیان میکند. بنابراین از همین منابع میتوان نتیجه گرفت که در انتخاب میان R4 WiFi و R4 Minima باید نیاز به ارتباط بیسیم، ماتریس LED و Qwiic را محور قرار داد؛ اما نمیتوان ویژگیهایی را برای Minima که در این دو صفحه ذکر نشدهاند حدس زد. برای جایگزینی کد UNO R3 نیز باید وابستگی کتابخانهها به شماره پایه، سریال، ولتاژ و شیوه HID بررسی شود.
کاربردهای عملی مجاز و ارتباط امن IoT
یک کاربرد مناسب، گره اندازهگیری آزمایشگاهی است: ADC برای خواندن سنسور، RTC برای برچسب زمانی، EEPROM برای تنظیمات کالیبراسیون، LED Matrix برای وضعیت محلی و Wi‑Fi برای ارسال داده. این تقسیم وظیفه را «پیشنهاد طراحی» بدانید، نه مشخصه تضمینشده محصول. کاربرد دیگر، کنترلر آموزشی CAN است که در آن RA4M1 پیامها را پردازش میکند و ترنسیور خارجی اتصال فیزیکی را میسازد. Qwiic نیز برای نمونهسازی سریع چند ماژول I2C مناسب است، مشروط به رعایت ۳٫۳ ولت و آدرسهای باس.
برای IoT امن، پیش از اتصال به شبکه، کمترین داده لازم را جمعآوری کنید، نام و رمز شبکه را در کد عمومی منتشر نکنید، firmware پیشفرض ESP32 را بدون دلیل کنار نگذارید و برنامهریزی مستقیم ESP32 را فقط در میز آزمایش و با نسخه پشتیبان از وضعیت ارتباطی انجام دهید. ارتباط رادیویی، گذرگاه USB، UART و HID هرکدام سطح حمله متفاوتی دارند. از دید حریم خصوصی، MAC یا داده سنسور میتواند اطلاعاتی درباره محل یا رفتار کاربر آشکار کند؛ داده خام را بیجهت نگه ندارید و برای ارسال ابری، شناسههای آزمایشی و حداقلسازی داده را بهکار ببرید. این توصیهها تحلیل تحریریه بر پایه قابلیتهای مستندشدهاند؛ دو صفحه رسمی مورد استفاده، امتیاز CVSS یا فهرست CVE برای این برد ارائه نمیکنند، پس عدد امنیتی ساختگی در این مقاله وجود ندارد.
محدودیتها و چکلیست تحویل
محدودیتهای مستند شامل اشتراک آنتن میان Wi‑Fi و Bluetooth، نیاز CAN به ترنسیور، اختصاصیبودن Qwiic برای ۳٫۳ ولت، محدودیت چرخه نوشتن EEPROM، و پیامد برنامهریزی مستقیم ESP32 برای firmware پل سریال است. محدودیت دیگر، وابستگی برخی پایهها به کارکردهای ویژه است؛ مثلاً استفاده از پایههای UART، SPI، I2C، CAN یا LED بهعنوان GPIO آزاد میتواند با همان کارکرد تداخل ایجاد کند. PWM رسمی را با PWMهای بالقوهای که راهنما بهدلیل تداخل توصیه نمیکند اشتباه نگیرید.
چکلیست پیش از انتشار یا تحویل پروژه
- [ ] بسته Arduino UNO R4 در IDE یا مسیر Cloud/CLI درست نصب شده است.
- [ ] مسیر تغذیه، ۵ ولت USB و بازه ۶ تا ۲۴ ولت VIN تفکیک و ثبت شده است.
- [ ] بار پرمصرف از ۵V برد جدا شده و زمین مشترک سنجیده شده است.
- [ ] سطح ۵ ولت GPIO با سطح ۳٫۳ ولت Qwiic و سنسورها تطبیق داده شده است.
- [ ] جدول پایهها و تداخلهای UART، SPI، I2C، PWM و CAN مستند شده است.
- [ ] برای Qwiic از
Wire1و برای I2C اصلی ازWireاستفاده شده است. - [ ] رزولوشن ADC/DAC و مرجع ADC در گزارش آزمایش نوشته شده است.
- [ ] زمان RTC، منبع پشتیبان VRTC و محدودیت EEPROM بررسی شده است.
- [ ] Wi‑Fi و Bluetooth همزمان فرض نشدهاند و دادههای حساس در اسکچ نماندهاند.
- [ ] firmware پل ESP32 بدون نیاز واقعی تغییر نکرده و آزمون HID در محیط کنترلشده انجام شده است.
پرسشهای متداول
آیا UNO R4 WiFi جایگزین مستقیم همه پروژههای UNO R3 است؟
خیر، چنین تضمینی از دو منبع به دست نمیآید. تفاوت پورتهای سریال، هسته RA4M1، USB‑C، سطح ولتاژ و شیوه HID میتواند به اصلاح کد یا سیمکشی نیاز داشته باشد. پروژه را با یک آزمون حداقلی و بررسی کتابخانهها مهاجرت دهید.
آیا میتوان همزمان Wi‑Fi و Bluetooth داشت؟
مستندات میگویند آنتن چاپی میان دو قابلیت مشترک است و این دو را نمیتوان همزمان استفاده کرد. معماری برنامه باید یکی را در هر لحظه انتخاب کند.
برای Qwiic باید از Wire استفاده کرد؟
خیر. Qwiic روی I2C ثانویه است و راهنما استفاده از Wire1 را نشان میدهد؛ افزون بر آن، Qwiic فقط ۳٫۳ ولت است.
آیا CAN بدون قطعه اضافی کار میکند؟
RA4M1 ماژول CAN داخلی دارد، اما برای اتصال به دستگاههای CAN به ترنسیور خارجی نیاز است. خود برد بهتنهایی لایه الکتریکی شبکه را کامل نمیکند.
کدام پایه خروجی آنالوگ واقعی دارد؟
A0 به DAC متصل است و DAC تا وضوح ۱۲ بیت پشتیبانی میشود. پایههای PWM خروجی میانگینسازیشده با قطعووصل سریع هستند و نباید بدون توجه به نیاز اندازهگیری با DAC یکی فرض شوند.
نتیجهگیری
UNO R4 WiFi یک UNO صرفاً سریعتر نیست؛ یک معماری دوپردازندهای است که RA4M1 را برای کنترل، اندازهگیری و زمانبندی و ESP32-S3 را برای پل USB و ارتباط بیسیم بهکار میگیرد. ماتریس ۱۲×۸، DAC، RTC، CAN، HID، Qwiic و کتابخانههای رسمی مسیر کوتاهی از نمونه آزمایشگاهی تا گره IoT فراهم میکنند. در مقابل، محدودیت آنتن مشترک، تفاوت Wire و Wire1، سطح ۳٫۳ ولت Qwiic، بار تغذیه، چرخه EEPROM و ریسک برنامهریزی مستقیم ESP32 باید از روز اول در طراحی دیده شوند. انتخاب حرفهای این برد زمانی موفق است که هر قابلیت با پایه، ولتاژ، کتابخانه و آزمون قابل تکرار همراه باشد؛ نه آنکه صرفاً نام Wi‑Fi روی برد، جایگزین مهندسی امنیت، تغذیه و حریم خصوصی شود.