Arduino Uno که جزء معروفترین بوردهای آردوینو در این مجموعه است، با وجود قدمت، هنوز هم به عنوان ابزاری ضروری برای توسعه دهندگان شناخته میشه. این بورد در دهه اول خود، پروژههای بیشماری، چه بزرگ و چه کوچک رو نیرو بخشیده. همچنین Uno تغییرات زیادی رو به خودش دیده، که قلب تپنده این بورد تا به امروز، تراشه Atmel بوده. اما سری آردوینو Uno R4 دارای یک قلب جدید مجهز به Arm و همان پردازنده در دو بورد هست. مدل ارزونتر این بورد Arduino Uno R4 Minima نامگذاری شده که درواقع نسل بعدی Arduino Uno محسوب میشه، اما در مدل بهتر Arduino Uno R4 WiFi رو داریم که دارای یک پردازنده ESP32 داخلی هست که حسابی وسوسه انگیزه!
ممکنه در نگاه اول، با خودتون بگین یک پردازنده مشترک ESP32 فقط برای Wi-Fi یک مقدار بیش از حد به نظر برسه، اما میتونه با سرعتی تا 240 مگاهرتز در مقابل 48 مگاهرتز Renesas RA4M1 Arm Cortex M4 کار کنه.
همراه من باشید تا بطور دقیق با این امکانات و قابلیت های این دو بورد آشنا بشیم.
مشخصات سخت افزاری Arduino Uno R4
این دو مدل به لحاظ طرح پایه(شماتیک)، ظاهر و مشخصات فنی شبیه هم هستن. تنها تفاوتی که بین این دو وجود داره اینه که مدل R4 WiFi دارای ماژول ESP32 و LED Matrix داخلی میباشد.
در جدول زیر میتونید تمام مشخصات سخت افزاری این دو بورد رو مشاهده کنید.
ویژگیهای جدید Arduino UNO R4
UNO R4 چه تفاوتی با بورد نسل قبل یعنی UNO R3 داره؟
اصلیترین تفاوتی که بین این بورد و مدل پیشین خود وجود داره اینه که بورد R4 دارای پورت USB-C هست. همچنین بورد Arduino UNO R4 به لحاظ میکروکنترلرهای داخلی هم پیشرفت زیادی کرده. Atmega328p جای خودش رو به میکروکنترلر 32 بیتی Arm Cortex-M4 (Renesas RA4M1) داده که میتونه سرعتش رو تا 48 مگاهرتز افزایش بده.
برای شناخت انواع بورد های آردوینو میتونید از لینک زیر استفاده کنید.
تغییر بعدی که میخوایم راجع بهش صحبت کنیم حافظه این بورد هست: حافظه فلش 256kB، حافظه اصلی 32kB و 8kB EEPROM یعنی چهار برابر بیشتر از نسل پیشین خود یعنی بورد UNO R3.
این بورد از پروتکل باس CAN پشتیبانی میکنه و یک کانال 12 بیتی DAC داره. برخلاف پایههای بورد Arduino UNO R3 که رزولوشن 10بیت ارائه میداد، رزولوشن پایههای آنالوگ بورد UNO R4 تا 14 بیت رو ارائه میدهند.
ویژگیهایی که تا به اینجا معرفی کردیم در بورد R4 Minima و هم در بورد R4 WiFi بصورت مشترک در دسترس هستن. البته، UNO R4 WiFi یک تراشه ESP32-S3، 12×8 LED matrix و یک کانکتور Qwiic 12C هم داره.
جعبه Arduino Uno R4
در نگاه اول مشاهده خواهید کرد که مشخصات اولیه بوردها در بسته بندی آنها درج شده. بوردها از قبل لحیم شده هستند (برخلاف Raspberry Pi Pico) و همچنین رنگ آبی تیره دارند، در واقع رنگ تیره تری نسبت به بورد آردوینو Uno R2 دارند.
هر دو بورد از ابعاد و ساختار مشترک Uno بهره میبرند، و این یعنی میتونیم از Shields (در اصطلاح آردوینو برای بوردهای الحاقی | برای Raspberry Pi از اصطلاح HATs استفاده میشه) در Uno R4 استفاده کنیم.
به کمک مقاله زیر میتونید با بهترین Shields های آردوینو آشنا بشید.
آردوینوها با یک اسکریپت تست ساده از قبل فلش میشوند. برای Minima، طرح کلاسیک “Blink” (به زبان آردوینو برای کد پروژه) داریم که هر ثانیه یک LED رو روشن/خاموش میکنه. برای وایفای R4، ماتریس LED 12×8 رو میبینیم که بر روی بورد غالب هست.
ایجاد اتصالات GPIO بسیار آسونه. پایه های GPIO به وضوح روی هدرهای مادگی و PCB چاپ شده. این برای کسانی که تازه وارد الکترونیک میشوند بسیار مفیده. Raspberry Pi Pico هم دارای ارجاعات GPIO هست اما در قسمت زیرین بورد چاپ شده و ممکنه یک مقدار گیج کننده باشه. برای اتصال Uno R4 به رایانه کابل USB C و Arduino IDE نیاز دارین.
طرح پایه Arduino UNO R4
با توجه به اینکه UNO R4 به لحاظ ظاهری و طرح پینها شبیه سایر بوردهای UNO هست، تا جایی که به بورد R3 مربوطه تفاوت زیادی در طرح پینها وجود نداره. البته R4 Minima و WiFi در طرح پینهاشون با هم تفاوتهایی دارن.
در تصویر زیر میتونین دیاگرام پایههای UNO R4 Minima رو مشاهده کنین.
اگر به تصویر پایین دقت کنید متوجه خواهید شد طرح پایههای UNO R4 WiFi کمی متفاوت هستند.
در جدول زیر میتونین پایههای IO بورد UNO R4 رو مشاهده کنین:
شیوۀ برقرسانی به UNO R4
برای برقرسانی به UNO R4 میتونین از کابل USB C، پایه Vin یا جک barrel استفاده کنین. ولتاژ USB باید در حدود 5V باشه. پایه Vin با ولتاژی بین 6 تا 24 ولت هم کار میکنه.
با توجه به اینکه پایه Vin به جک barrel وصل میشه، میتونین برای برقرسانی به بورد از آداپتور استفاده کنین.
حافظه UNO R4 چقدر است؟
بورد R4 Minima و هم بورد R4 WiFi یک حافظه فلش 256kB ( که 8 برابر بیشتر از UNO R3 هست)، 32kB SRAM (16 برابر بیشتر)، و 8kB of EEPROM (8 برابر بیشتر) در اختیارمون قرار میدهند. فرکانس کلاک این بوردها حدود 48MHz هست. دلیلش هم اینه که توی هر دو بورد از میکروکنترلر Renesas RA4M1 استفاده شده.
R4 WiFi یک تراشه ESP32-S3 هم داره. این تراشه یک ROM با ظرفیت 384kB و یک SRAM با ظرفیت 512kB داره.
شیوۀ دسترسی به تراشه ESP32-S3 در بورد R4 WiFi
تراشه ESP32-S3 دو تا کار انجام میده: اجرایی کردن قابلیت Wi-Fi / Bluetooth و اینکه به عنوان یک پل سریالی برای میکروکنترلر اصلی استفاده میکنه. برای همین به راحتی به کمک کتابخانه WiFiS3 که در UNO R4 Core تعبیه شده میتونیم از قابلیت بیسیم(Wireless) استفاده کنیم. در وبسایت رسمی Arduino UNO نمونههای زیادی وجود داره.
اما دسترسی به تراشه ESP32-S3 و استفاده از اون به صورت جداگانه کار آسونی نیست.
راهاندازی و کدنویسی بوردهای Arduino Uno R4
Arduino IDE از روزهای اولیه تا الان همراه همیشگی ما بوده. آردوینو در سال گذشته Arduino IDE آفلاین رو به روز کرد. اکنون در نسخه 2.1.1 Arduino IDE یک پیشرفت فوق العاده نسبت به تکرارهای گذشته هست. البته نه اینکه با IDE قدیمی مشکلی داشته باشیم، چون به خوبی با این بوردهای جدید همچنان کار میکنه.
با نصب Arduino IDE و اتصال بوردهای Arduino Uno R4 به کامپیوتر، IDE به راحتی بوردها رو برای استفاده، شناسایی و پیکربندی میکنه. حتی آخرین درایورها و پیکربندی بوردهای جدید رو هم بصورت خودکار دانلود کرد. در مرحله بعد به File >> Examples وارد شدیم و یک سری از طرح های نمونه رو برای بوردها انتخاب کردیم.
ابتدا با بورد Minima شروع میکنیم، ما طرح استاندارد Blink را به روز کردیم تا از یک حلقه for استفاده کنیم که قبل از توقف چند بار LED چشمک بزنه و مجدد تکرار کنه. فلش کردن کد کمتر از 30 ثانیه طول کشید و همه چیز خوب بود. برای وایفای R4، ما از نمونهای استفاده کردیم که از اتصال Wi-Fi ESP32 به همراه CPU Arm R4 استفاده میکند. ESP32 به تنهایی در نوع خود یک میکروکنترلر فوقالعاده قدرتمنده، اما در اینجا بهعنوان یک پردازنده کمکی عمل میکنه. در واقع ESP32 تمام شبکههایی رو بر روی سرعت پردازنده 48 مگاهرتزی(Arm) تاثیر میزاره رو هندل میکنه.
لینکها و منابع مفید
دیتاشیت
دیتاشیت UNO R4 رو میتونین از لینک زیر دانلود کنین:
Arduino® UNO R4 Minima Arduino® UNO R4 WiFi
شماتیک
طرحواره یا شماتیک UNO R4 رو میتونین از لینک زیر دانلود کنین:
Arduino® UNO R4 Minima Arduino® UNO R4 WiFi
ابعاد Arduino UNO R4
طول این بورد 68.58 میلیمتر و عرضش 53.44 میلیمتر هست (تصویر زیر)
سخن پایانی و جمعبندی
سری بوردهای Arduino Uno R4 به زودی به استانداردی واقعی تبدیل خواهند شد که توسعه دهندگان، مربیان و متخصصان، پروژه های خودشون رو بر اساس آن پایه گذاری میکنند.
مشخصه که بورد Uno R4 Minima کاربران جدید رو هدف قرار داده. قیمت 20 دلاری، سهولت استفاده و فرم فاکتور برای کسانی که به دنبال یادگیری الکترونیک هستند قطعا مفید خواهد بود.
Arduino Uno R4 WiFi تنها 7 دلار بیشتره اما میتونیم از قابلیت هایی همچون Wi-Fi و بلوتوث (نه به طور همزمان) و کانکتور Qwiic استفاده کنیم. این بورد کوچک، هنگامی که کمی عشق نرم افزاری رو بهش منتقل کنید، همون چیزی خواهد بود ازش به عنوان قلب پروژه های خودتون استفاده میکنید.