بهترین شبیهسازهای Arduino برای مبتدیان و حرفهایها

در میان علاقهمندان، Arduino یک پلتفرم متنباز بسیار محبوب برای پروژههای سختافزاری است که به یک میکروکنترلر نیاز دارند. این پلتفرم شامل بردهای توسعه ساده و کاربرپسندی است که با Arduino IDE برنامهنویسی میشوند. تنها با یک برد Arduino و چند قطعه جانبی میتوانید پروژههای بسیار جالبی بسازید!
گاهی اوقات بهتر است قبل از خرید همه قطعات و صرف وقت زیاد برای مونتاژ، طرح خود را آزمایش کنید. یک شبیهساز Arduino دقیقاً همین امکان را به شما میدهد! این نرمافزار قطعات فیزیکی و بردهای Arduino را بهصورت مجازی شبیهسازی میکند تا بتوانید مدار و کدی را که طراحی کردهاید پیش از پیادهسازی واقعی امتحان کنید.
استفاده از شبیهساز معمولاً در مراحل اولیه نمونهسازی یک طرح، بهرهورترین روش است. البته این کار معایبی هم دارد که در ادامه بررسی خواهیم کرد. در این مقاله، برخی از بهترین شبیهسازهای Arduino (چه آنلاین و چه آفلاین) را معرفی میکنیم، معیارهایی را که در انتخاب آنها در نظر گرفتیم توضیح میدهیم و راهنمایی میکنیم که چطور شبیهساز مناسب نیازتان را پیدا کنید.
پیشنهادی برای بخش آنلاین
برای شروع، بیایید به گزینههای آنلاین نگاه کنیم. یعنی به مرورگر و اینترنت خوب نیاز دارید و نیازی به نصب برنامه ندارید.
Microsoft Maker Code شبیهسازی Arduino با برنامهنویسی بلوکی و Python
در Microsoft Maker Code، ایجاد شبیهسازی با انواع بردها، از جمله مدلهای Arduino، با بلوکهای تصویری انجام میشود، بنابراین حتی کسانی که هیچ تجربه برنامهنویسی ندارند هم میتوانند شروع کنند. البته امکان برنامهنویسی با Python یا JavaScript هم وجود دارد. محیط آن بسیار شهودی است و وقتی مفاهیم پایه را یاد بگیرید، قادر خواهید بود شبیهسازیهای عالی بسازید.
با وجود آنکه یک پلتفرم آنلاین است، میتوانید دستگاههای واقعی را هم متصل کنید. طیف گستردهای از افزونهها برای سنسورها و قطعات دیگر وجود دارد که در شبیهسازی به کمک شما میآیند. علاوه بر عملکردهای پایه، افزونههای پیشرفتهتر مانند جویاستیک، سنسورها، یا حتی فرمانهایی برای پشتیبانی از فلش USB هم در دسترس هستند.
رابط کاربری بسیار ساده طراحی شده: در سمت چپ پنلی تصویری همراه با انیمیشن و در سمت راست پنل برنامهنویسی بلوکی قرار دارد. برخی خروجیها حتی بدون اتصال Arduino یا قطعهای نمایش داده میشوند، مثل پخش صدا. حتی میتوانید نقشه سیمکشی الکترونیکی را چاپ کنید تا در مونتاژ واقعی به شما کمک کند.
- توسعهدهنده: Microsoft
- مناسب برای: مبتدی تا متوسط
- ویژگیهای خاص: تست انواع قطعات مجازی، مناسب برای تازهکارها
- سازگاری: همه سیستمها (وبمحور)
- قیمت: رایگان
مثال ساده
- وارد صفحه Microsoft Maker Code شوید.
- روی «New project» کلیک کنید و یک برد انتخاب کنید.
- در تب Music، بلوک «play sound» را بکشید و روی بلوک «on start» رها کنید.
- صدای دلخواهتان را انتخاب کنید.
- دوباره در تب Music ، بلوک «play melody» را بکشید و روی بلوک «forever» قرار دهید.
- روی نوار نتهای موسیقی کلیک کنید و چند خانه را انتخاب کنید. سپس با دکمه پخش (مثلث پایین صفحه) آهنگتان را تست کنید.
Tinkercad Circuits طراحی و شبیهسازی مدار Arduino در مرورگر
Tinkercad Circuits یک سرویس آنلاین رایگان از Autodesk است که در سال 2017 معرفی شد و احتمالاً کاربرپسندترین شبیهساز Arduino به شمار میرود. شما میتوانید بهراحتی مدار خود را طراحی کنید، برنامهنویسی کنید (به صورت بلوکی یا متنی) و سپس آن را اشکالزدایی کنید. شبیهسازی بردهای Arduino و رابطهای ورودی/خروجی بهخوبی کار میکند و کد هم بهراحتی قابل اشتراکگذاری یا دانلود است.
البته محدودیتهایی وجود دارد. Tinkercad اجازه میدهد از هر قطعهای در کتابخانهاش استفاده کنید، اما نمیتوانید قطعههای جدید (مثل ماژولهای مختلف Arduino، مدلهای جدید بردها یا سنسورها) اضافه کنید و نمیتوانید قطعات موجود را تغییر دهید. برخی قطعات ساده مانند مقاومتها پارامتر پذیرند، اما این امکان برای میکروکنترلرها وجود ندارد. برای Arduino نیز فقط مدل Arduino Uno R3 موجود است.
برای استفاده باید ثبتنام کنید (به عنوان معلم، دانشآموز یا حساب شخصی).
- توسعهدهنده: Autodesk
- مناسب برای: مبتدی تا متوسط
- ویژگیهای خاص: خروجی گرفتن از برد و شماتیک برای ساخت PCB
- سازگاری: MacOS, Windows, Linux (وبمحور)
- قیمت: رایگان
مثال ساده:
برای امتحان برنامه بدون ثبتنام میتوانید از یک ابزار ساده استفاده کنید:
- لینک متر مجازی را باز کنید.
- روی «Simulate» کلیک کنید (مرورگر را تمامصفحه کنید).
- روی «Start Simulation» کلیک کنید.
- روی سنسور اولتراسونیک HC-SR04 کلیک کنید و دایره سبز کوچک را بکشید تا فاصله تغییر کند (اگر تصویر بزرگ است، با موس جابهجا یا بزرگ/کوچک کنید).
و تمام! مقادیر روی نمایشگر LCD برابر دادههای واقعی سنسور خواهد بود.
Wokwi شبیهسازی پیشرفته Arduino و میکروکنترلرهای دیگر
Wokwi در ابتدا بر پایهی AVR8js ساخته شد؛ یک پیادهسازی جاوااسکریپتی از معماری 8 بیتی AVR . این همان خانوادهی میکروکنترلرهایی است که در Arduino Uno، Nano و Mega استفاده میشود. در سالهای اخیر، آنها همچنین چندین پلتفرم محبوب دیگر مانند ESP32، STM32 و RP2040 (Raspberry Pi Pico) را نیز اضافه کردهاند. فهرست کامل سختافزارهای پشتیبانیشده در وبسایت رسمی Wokwi موجود است.
سادهترین راه برای شروع این است که وارد صفحهی اصلی شوید و پلتفرمی که میخواهید امتحان کنید (مثلاً Arduino) را انتخاب کنید. از آنجا میتوانید پروژههای آماده را بررسی و شبیهسازی کنید. همچنین میتوانید کد و شماتیک مدار را تغییر دهید؛ یا با ویرایش فایل diagram.json و یا با کشیدن یک قطعه جدید به مدار. برای راهنمایی بیشتر، یک راهنمای کامل استفاده از ویرایشگر دیاگرام نیز موجود است. اگر بخواهید کار خود را ذخیره کنید، باید با حساب Google یا GitHub ثبتنام کنید. پس از ورود، یک منوی کوچک (بالا سمت راست) با گزینهی “My Projects” ظاهر میشود که میتوانید پروژههای خود را در آن بسازید و مدیریت کنید.
Wokwi امکان ایجاد یا افزودن قطعات سفارشی و همچنین بارگذاری کتابخانههای اختصاصی را نیز فراهم میکند که جزئیات آن در مستندات سایت آمده است. برای کاربران پیشرفتهتر، قابلیت دیباگر تعاملی و آنالایزر منطقی وجود دارد که به اشکالزدایی بهتر کد کمک میکند. توسعهدهنده و جامعهی کاربری این پلتفرم بسیار فعال هستند و Wokwi بهسرعت رشد کرده است؛ زیرا مدل متنباز آن یک محیط همکاری جمعی ایجاد میکند. در کانال Discord و گروه LinkedIn میتوانید سؤال بپرسید و حتی از خود توسعهدهنده پشتیبانی دریافت کنید.
از نظر قیمتگذاری، Wokwi یک نسخه رایگان برای پروژههای متنباز دارد (که همه میتوانند فایلهای پروژهی شما را ببینند). این برای بیشتر کاربران کافی است، هرچند در این نسخه امکان بارگذاری کتابخانههای اختصاصی وجود ندارد.
برای کاربران حرفهایتر، پلنهای پولی با نامهای Hobby و Hobby+ ارائه میشوند که قابلیتهایی مانند پروژههای خصوصی، کتابخانههای اختصاصی و ادغام با Visual Studio Code را اضافه میکنند. در نهایت، پلن Wokwi Pro مخصوص پروژههای تجاری است و امکاناتی مانند زمان بیلد سریعتر و راهاندازی گیتوی خصوصی IoT را شامل میشود.
- توسعهدهنده: Uri Shaked
- مناسب برای: کاربران متوسط تا پیشرفته، پروژههای تجاری
- ویژگیهای خاص: پشتیبانی آنلاین از طریق Discord و LinkedIn، پشتیبانی از انواع میکروکنترلرها، دیباگینگ پیشرفته، مخزن GitHub
- سازگاری: همه سیستمها (مبتنی بر وب)
- قیمت: رایگان برای پروژههای متنباز، پلنهای پولی از 7 دلار در ماه
مثال ساده:
یک برنامهی آزمایشی را بررسی کنیم:
- با حساب Google یا GitHub ثبتنام کنید.
- شبیهسازی را با کلیک روی فلش سفید درون دایره سبز شروع کنید (مرورگر را تمامصفحه کنید).
- روی سنسور HC-SR04 کلیک کرده و اسلایدر را جابجا کنید تا فاصله تغییر کند.
- اگر تصویر خیلی بزرگ بود، میتوانید با اسکرول ماوس زوم کنید یا با کلیک روی مربع کوچک بالای سمت راست، کد را پنهان کنید.
و کار میکند! فاصلههای نمایش داده شده روی LCD تقریباً برابر با دادههای سنسور هستند.
پیشنهادی برای بخش آنلاین و آفلاین:
شبیهسازهای زیر هم بهصورت آنلاین و هم آفلاین در دسترس هستند، بنابراین برای نیازهای مختلف مناسب هستند.
Virtual Breadboard & Avatar Hardware تجربه سختافزار مجازی و واقعی ترکیبی
Virtual Breadboard یک اپلیکیشن فروشگاه ویندوز است. رابط کاربری آن ساده و کاربرپسند بوده و میتوانید بهراحتی مدارهای خود را با ابزارهای Drag & Drop طراحی کنید. همچنین میتوانید اسکیچهای خود را بهصورت فایل HEX از محیطهایی مثل Arduino IDE، Arduino Create، PlatformIO، Visual Studio و غیره بارگذاری کنید.
دامنهی قابلیتهای آن شامل شبیهسازی یک برد Arduino، رابطهای ورودی/خروجی و تعامل با برنامه میشود. علاوه بر این، میتوانید از پروژهی خود را در فرمتهای SVG و KiCad خروجی بگیرید. ویژگی خاص Virtual Breadboard، امکان استفاده از سختافزار مجازی واقعیت ترکیبی و قابلیت بازطراحی سختافزار است.
البته محدودیتهایی هم دارد:
- نمیتوانید قطعات و اجزای دلخواه خود را بسازید یا اضافه کنید.
- نمیتوانید مستقیماً از داخل نرمافزار، برنامههای خود را ایجاد کنید.
- امکان دریافت خروجی برد و شماتیک برای تولید PCB وجود ندارد.
- توسعهدهنده: James Caska
- مناسب برای: کاربران مبتدی تا متوسط
- ویژگیهای خاص: سختافزار مجازی واقعیت ترکیبی، بازطراحی سختافزار
- سازگاری: Windows
- قیمت: اپلیکیشن رایگان، ~10 دلار برای سختافزار Avatar، 15 تا 60 دلار برای دستگاههای رابط
مثال ساده:
ترکیب قطعات مجازی با واقعی
برای آزمایش Virtual Tape Measure، ابتدا نرمافزار را دانلود کرده و روی کامپیوتر خود نصب کنید. پس از انجام این کار، میتوانید از Toolbox برای اضافه کردن قطعات خود استفاده کنید؛ کافی است روی قطعه موردنظر کلیک کرده و آن را بکشید. برای مثال:
Toolbox > Integrated circuits > ATMega328p
حالا میتوانید فایل HEX خود را تنها با کشیدن آن بارگذاری کنید، اما پیام خطای زیر را دریافت خواهید کرد:
Unlicensed components: ATMega328Uno
Consider purchasing a license to enable these components at runtime
برای اینکه بررسی کنید برنامه آزمایشی ما درست کار میکند، به یک لایسنس نیاز دارید و سپس میتوانید مراحل زیر را انجام دهید:
- برنامه Virtual Breadboard را اجرا کنید.
- به مسیر Menu > Open > Browse Files > Open DigitalTapeMeasure.vbb بروید و فایل را باز کنید.
- دستگاه را روشن کنید (چند ثانیه صبر کنید).
- با حرکت دادن slider در سمت چپ سنسور HC-SR04، فاصله دیوار را تغییر دهید.
- اگر میخواهید از یک Arduino واقعی استفاده کنید، اتصالات ورودی و خروجی را کپی کرده و اسکچ را در ویرایشگر مورد علاقه خود باز کنید، سپس آن را روی برد آپلود کنید.
همه چیز کار میکند! و فاصلههای نمایش داده شده روی صفحه LCD برابر با دادههای سنسور است.
اگر نمیخواهید اشتراک خریداری کنید، میتوانید نسخه بتای آنلاین و مثالهای آن را امتحان کنید.
PICSimLab شبیهساز بلادرنگ و دیباگر پیشرفته برای Arduino و PIC
PICSimLab یک شبیهساز بلادرنگ (Realtime) برای بُردهای توسعه است که همراه با یک دیباگر MPLAB X/AVR-GDB یکپارچه عرضه میشود. این نرمافزار از تعدادی میکروکنترلرهای PICSim و همچنین برخی میکروکنترلرهای Simavr پشتیبانی میکند. علاوه بر این، PICSimLab با محیطهای MPLAB X و Arduino IDE برای برنامهنویسی بردهای میکروکنترلر ادغام شده است.
شما میتوانید مدارهای دلخواه خود را طراحی کنید، فایلهای HEX را بارگذاری کنید یا مستقیماً از Arduino IDE آپلود کنید. همچنین امکان شبیهسازی رابطهای ورودی/خروجی Arduino و تعامل با برنامه وجود دارد. کاربران پیشرفتهتر میتوانند قطعات و اجزای سفارشی خود را ایجاد یا اضافه کنند. با این حال، باز هم امکان طراحی برد و شماتیک و سپس خروجی گرفتن برای تولید PCB وجود ندارد.
- توسعهدهنده: Luis Claudio Gambôa Lopes
- مناسب برای: کاربران متوسط تا پیشرفته
- ویژگیهای خاص: شبیهسازی برخی میکروکنترلرهای PICSim، مخزن GitHub
- سازگاری: Windows 32- or 64-bit, Ubuntu, MacOS (با Wine)
- قیمت: رایگان
مثال ساده:
- نرمافزار را دانلود و نصب کنید.
- نرمافزار Com0com را نصب کنید (برای شبیهسازی سریال در ویندوز، به راهنمای PICSimLab مراجعه کنید.)
- نرمافزار را اجرا کنید.
- روی مسیر File > Load Workspace کلیک کنید.
- فایل DigitalTapeMeasure.pzw را انتخاب کنید.
- اسلایدر سمت چپ سنسور HC-SR04 را جابجا کنید تا فاصله تغییر کند.
- روی مسیر Tools > Serial Terminal کلیک کنید.
پیشنهادی برای بخش آفلاین
و برای جمعبندی، در اینجا چند گزینه آورده شده است که میتوانید آنها را دانلود کرده و بدون نیاز به اتصال اینترنت هنگام شبیهسازی استفاده کنید.
Flowcode برنامهنویسی گرافیکی و شبیهسازی سهبعدی Arduino
Flowcode یک پلتفرم برنامهنویسی گرافیکی با یک IDE (محیط توسعهی یکپارچه) است که از کنترلرهای مختلفی مانند PIC، AVR، ARM، ESP و Raspberry Pi پشتیبانی میکند. علاوه بر شبیهسازی سادهی Arduino، طیف وسیعی از قطعات تستی و قابلیت نمایش محیطی دوبعدی و سهبعدی را ارائه میدهد.
با چند کلیک و کشیدن (Drag & Drop)، میتوانید بلوکهای دستوری قابل ویرایش را در یک فلوچارت قرار دهید و بدون جابجایی بین صفحات، Arduino خود را آزمایش کنید.
Flowcode بسیار مستقیم و شهودی است و هم برای مبتدیان و هم کاربران با تجربهی قبلی مناسب است. یکی از ویژگیهای خاص آن، توانایی وارد کردن مدلهای سهبعدی با فرمتهای MESH، STEP و OBJ است. این ویژگی آن را برای آزمایش سیستمهای الکترومکانیکی عالی میکند، جایی که موتورها، سرووها و عملگرها میتوانند در یک نمایش دیجیتال ادغام شوند.
نسخهی رایگان Flowcode برای سازندگان (Makers) و علاقهمندان (Hobbyists) ارائه شده است و محدودیتی در اندازهی پروژه ندارد. نسخههای Pro و Academic قابلیتهای بیشتری در زمینهی دیباگینگ، الگوها و مستندسازی ارائه میدهند. تفاوتها بهطور کامل در سایت رسمی Flowcode توضیح داده شده است. این نرمافزار در 6 زبان در دسترس است.
- توسعهدهنده: Matrix TSL
- مناسب برای: مبتدیان تا کاربران پیشرفته
- ویژگیهای خاص: برنامهنویسی گرافیکی و محیط توسعهی یکپارچه (IDE)
- سازگاری: Windows
- قیمت: رایگان برای سازندگان و علاقهمندان + نسخه آزمایشی 30 روزه برای نسخه Pro (330 دلار)
مثال ساده:
علاوه بر راهنمای شروع به کار و ویدیوی آموزشی برای تازهکاران، بیایید برنامهی آزمایشی را اجرا کنیم تا ببینیم جریان کار چگونه است:
- نرمافزار را دانلود و نصب کنید.
- یک حساب کاربری بسازید و وارد شوید.
- یک پروژه جدید ایجاد کنید و در بخش Free Targets Tree گزینهی Arduino Uno R3 SMD را انتخاب کنید.
- در مسیر Component Library > Outputs عبارت LED ARRAY PCB را جستجو کنید و آن را به پنل سهبعدی اضافه کنید.
- در پنجرهی Project Explorer یک بلوک Loop بکشید و بین بلوکهای شروع و پایان فلوچارت قرار دهید. سپس یک بلوک Loop دیگر کشیده و بین تگهای Loop قرار دهید.
- با دوبار کلیک راست روی آیتم خروجی (Output) وارد پنجرهی ویژگیها شوید.
- در بخش Use Chip References پورت B را انتخاب کنید. مقدار متغیر را روی 1 بگذارید. در Advanced Options حالت Single bit را انتخاب کنید و مقدار را نیز روی 1 تنظیم کنید.
- در تب Debug روی Run کلیک کنید یا کلید F5 را فشار دهید تا اجرا شود و نتیجه را در پنل سهبعدی مشاهده کنید.
SimulIDE شبیهساز ساده و بلادرنگ مدارهای Arduino و AVR
SimulIDE یک شبیهساز مدارهای الکترونیکی بلادرنگ است که از PIC، AVR و Arduino پشتیبانی میکند. رابط کاربری آن بسیار ساده و مینیمال طراحی شده تا سریع، ساده و آسان باشد. شما میتوانید مدارهای خود را طراحی کرده و آنها را با استفاده از ویرایشگر کد و دیباگر برای زبانها و پلتفرمهایی مانند GcBasic، Arduino، PIC و AVR برنامهریزی کنید. علاوه بر این، SimulIDE یک کانال یوتیوب با بیش از 45 ویدیو آموزشی دارد.
همانطور که در مثالهای قبلی دیدیم، در این شبیهساز هم امکان ایجاد قطعات یا اجزای دلخواه وجود ندارد (هرچند میتوانید از طریق انجمن یا پشتیبانی در Patreon درخواست دهید.) همچنین امکان طراحی برد و شماتیک و سپس خروجی گرفتن برای تولید PCB وجود ندارد.
- توسعهدهندگان: Santiago Gonzales و Popov Alexey
- مناسب برای: مبتدیان تا کاربران پیشرفته
- ویژگیهای خاص: مخزن GitHub
- سازگاری: Windows 32- or 64-bit, Ubuntu, MacOS (با Wine)
- قیمت: رایگان (با امکان حمایت مالی/اهدا)
مثال ساده:
برای نمونه، بیایید نسخه رایگان را امتحان کنیم. دو روش وجود دارد:
روش سادهتر
- نرمافزار را دانلود، نصب و اجرا کنید.
- روی آیکون Open Circuit کلیک کنید.
- فایل DigitalTapeMeasure.simu را انتخاب کنید.
- روی دکمه قرمز کلیک کنید تا مدار روشن شود.
- برای تغییر فاصله، روی پنجره کوچک نمایش ولتاژ کلیک کرده و دکمه را بچرخانید.
روش پیچیدهتر
- نرمافزار را دانلود، نصب و اجرا کنید.
- قطعات زیر را بکشید و رها کنید: Arduino Uno، Hd44780 (نمایشگر LCD) HC-SR04 (سنسور التراسونیک) و منبع ولتاژ.
- تمام سیمها را به هم متصل کنید.
- روی Arduino کلیک راست کرده و firmware (فایل HEX) را بارگذاری کنید.
- روی دکمه قرمز کلیک کنید تا مدار روشن شود.
- برای تغییر فاصله، روی پنجره کوچک نمایش ولتاژ کلیک کرده و دکمه را بچرخانید.
Arduino IO Simulator تست قطعات Arduino بدون نیاز به همه سختافزارها
با وجود نامش، Arduino IO Simulator بیشتر برای تست قطعات طراحی شده و نیاز به یک Arduino واقعی متصل به کامپیوتر دارد. وقتی کدی یا مثالی روی Arduino متصل به رایانه اجرا شود، میتوانید از طریق سنسورها و قطعات موجود در شبیهساز با آن تعامل داشته باشید. در نسخه رایگان، اتصال باید از طریق کابل USB و یک پورت COM انجام شود. اما در نسخه Pro امکان شبیهسازی پورتها از طریق پروتکل TCP وجود دارد و میتوانید بهوسیله Wi-Fi وصل شوید. نسخه Pro در حال حاضر رایگان عرضه شده است.
هدف اصلی این نرمافزار، آزمایش سریع بدون نیاز به همه قطعات واقعی یا بررسی سریع رفتار کد است. همهچیز بهخوبی مستند شده؛ شامل دفترچه راهنما و دستور نصب که نیازهای اولیه مثل نصب Java را توضیح میدهد. این برنامه چندین نمونه آماده برای تست ارائه میدهد و همچنین کتابخانههایی برای استفاده سادهتر از قطعات دارد. این ویژگیها باعث میشود که نرمافزار برای اهداف آموزشی بسیار مفید باشد.
- توسعهدهنده: Xevro
- مناسب برای: مبتدیان تا کاربران متوسط
- ویژگیهای خاص: تست انواع قطعات مجازی
- سازگاری: MacOS, Windows
- قیمت: رایگان
مثال ساده:
بیایید ببینیم چطور میتوان از این برنامه استفاده کرد:
- نرمافزار را دانلود و نصب کنید.
- آن را با یکی از کلیدهای موجود در صفحه دانلود فعال کنید.
- از منوی نمونهها یک سروو موتور انتخاب کرده و در IDE باز کنید.
- پورتهای قطعات را با توجه به کانالهای استفاده شده در برنامه تنظیم کنید.
- کد خود را در Arduino بارگذاری کرده و پورت سریال را وصل کنید.
- قطعه مجازی که نمایانگر پتانسیومتر است را دستکاری کنید و واکنش قطعه واقعی را مشاهده کنید!
UnoArduSim محیط آموزشی و شبیهساز متنی Arduino
UnoArduSim یک ابزار آموزشی رایگان است که در آن میتوانید مدارهای خود را طراحی کنید (با کلیک روی مسیر Configure > I/O Devices) برنامهها را (بهصورت متنی یا با بارگذاری فایلهای Arduino) اجرا کنید، کد را دیباگ کنید و رابطهای ورودی/خروجی Arduino و تعامل برنامه را شبیهسازی کنید.
توجه داشته باشید که در این شبیهساز نمیتوانید قطعات و اجزای اختصاصی خود را ایجاد یا اضافه کنید، قطعات را کشیده و رها کنید (Drag & Drop)، برد و شماتیک طراحی کنید یا آنها را برای تولید PCB خروجی بگیرید.
- توسعهدهنده: Stan Simmons
- مناسب برای: کاربران متوسط تا پیشرفته
- ویژگی خاص: رابط کاربری شبیه به oscilloscope
- سازگار با: Windows
- قیمت: رایگان
مثال ساده:
بیایید نمونه آزمایشی خودمان را بررسی کنیم:
- نرمافزار را دانلود و نصب کنید.
- فایل INO Sketch را به همراه فایلهای myArduPrefs.txt و myIODevs.txt در همان پوشه کپی کنید.
- فایل INO را بارگذاری کنید.
- با کلیک روی Configure > I/O Devices قطعات را انتخاب کنید.
- روی گزینه LCD کلیک راست کرده و نوع آن را انتخاب کنید.
- دوبار روی پایههای 2 و 3 کلیک کنید تا یک نمایشگر شکل موج دیجیتال (مانند oscilloscope) باز شود.
Proteus VSM شبیهساز حرفهای Arduino با پشتیبانی از Shield و قطعات جانبی
Proteus VSM برای Arduino AVR بدون شک گرانترین گزینه در این فهرست است. با این حال، علاوه بر امکانات پایه، قابلیتهای ویژهای ارائه میدهد که در سایر شبیهسازها ندیدهایم. برای مثال، به هزاران مدل از قطعات جانبی دسترسی دارید و میتوانید دهها Shield مختلف را به شبیهسازیهای خود اضافه کنید.
- توسعهدهنده: Labcenter Electronics
- مناسب برای: کاربران پیشرفته تا حرفهای
- ویژگی خاص: امکان افزودن Shield به شبیهسازی
- سازگار با: Windows
- قیمت: از حدود 300 دلار (با هزینههای اضافه برای بستههای تکمیلی)
مثال ساده:
هرچند به دلیل محدودیت نسخه نمایشی حرفهای نتوانستیم نمونه آزمایشی خودمان را اجرا کنیم، اما بسیاری از کاربران در یوتیوب همین پروژه ساده متر نواری دیجیتال را با آن تست کردهاند.
اگر قصد امتحان کردن دارید، پروژههای نمونه زیادی در دسترس است:
نمونه 1
- نسخه نمایشی (Demo) را دانلود و نصب کنید.
- برنامه را اجرا کرده و یک نمونه باز کنید.
- عبارت Arduino LCD را جستجو کنید.
- در دسته VSM for AVR گزینه Arduino using I2C 16×2 LCD breakboard را انتخاب کنید.
- شبیهسازی را اجرا کنید.
- میتوانید کد منبع را تغییر دهید، اما هنگام ذخیره احتمالاً با پیام
“Saving is disabled in the demonstration version of Proteus”
روبهرو میشوید.
نمونه 2
- برنامه را اجرا کرده و یک نمونه باز کنید.
- عبارت Arduino SRF04 را جستجو کنید.
- یکی از پروژهها را انتخاب کنید.
- شبیهسازی را اجرا کنید.
- روی سنسور کلیک راست کرده، گزینه Edit Properties را انتخاب کنید و مقدار Range Value را روی 125 قرار دهید.
- دوباره شبیهسازی را اجرا کنید.
چگونه یک شبیهساز انتخاب کنیم؟
هنگام کار با شبیهسازها باید انتظاراتمان واقعبینانه باشد؛ چراکه هرگز به اندازه سختافزار واقعی روان و دقیق نخواهند بود. با این حال، یک شبیهساز ایدهآل باید ویژگیهای زیر را داشته باشد:
- کارایی قابل قبول: سرعت اجرای شبیهسازی برای داشتن یک جریان کاری روان بسیار مهم است. یک شبیهساز کند یا پر از باگ میتواند تجربه کاربر را خراب کند و حتی مشکلات واقعی مدار یا کد را پنهان نماید.
- کتابخانه قطعات کافی: اکثر شبیهسازها بردهای پرکاربرد Arduino مانند Uno، Nano و Mega و همچنین قطعاتی نظیر دکمه، LED، نمایشگر LCD و … را دارند. اما شبیهسازهایی که کتابخانه کوچکتری دارند، معمولاً سنسورهای خاص (مثل BMP180 برای فشارسنج) را شامل نمیشوند و این میتواند محدودیتی برای پروژههایی با چنین قطعاتی باشد.
- انجمن و توسعهدهندگان فعال: وجود آموزشها، انجمنهای پویا و پشتیبانی توسعهدهندگان میتواند تجربه کاربر را از یک شبیهساز عالی یا برعکس ناخوشایند کند. کاربران از یک جامعه فعال سود میبرند؛ چراکه میتوانند پرسشهایشان را مطرح کنند و دانش را به اشتراک بگذارند.
- رایگان یا با هزینه مناسب: بسیاری از ما باید مراقب هزینهها باشیم؛ بنابراین منطقی است که یک شبیهساز ایدهآل نباید فشار زیادی به بودجه ما وارد کند.
مقایسه کلی شبیهسازها
نام شبیهساز |
سطح کاربر | سیستمعامل/وب | قیمت | ویژگی خاص |
---|---|---|---|---|
Microsoft Maker Code | مبتدی | وب | رایگان | برنامهنویسی بلوکی + Python/JS |
Tinkercad Circuits | مبتدی-متوسط | وب | رایگان | طراحی مدار + شبیهسازی Uno |
Wokwi | متوسط-پیشرفته | وب | رایگان/پولی | پشتیبانی از ESP32، STM32 |
Virtual Breadboard | مبتدی-متوسط | ویندوز | رایگان/پولی | واقعیت ترکیبی + خروجی SVG |
PICSimLab | متوسط-پیشرفته | ویندوز/لینوکس | رایگان | دیباگر + پشتیبانی از PIC و AVR |
Flowcode | همه سطوح | ویندوز | رایگان/Pro | برنامهنویسی گرافیکی + 3D |
SimulIDE | مبتدی-پیشرفته | ویندوز/لینوکس | رایگان | رابط ساده و سریع |
Arduino IO Simulator | مبتدی-متوسط | ویندوز/مک | رایگان | اتصال به Arduino واقعی |
UnoArduSim | متوسط | ویندوز | رایگان | محیط آموزشی شبیه oscilloscope |
Proteus VSM | حرفهای | ویندوز | ~300$ | پشتیبانی از Shield و کتابخانه وسیع |
نتیجهگیری
شبیهسازهای Arduino ابزاری ارزشمند برای یادگیری، آموزش و حتی توسعهی پروژههای حرفهای هستند. این نرمافزارها به شما کمک میکنند پیش از خرید قطعات و صرف هزینه، ایدههای خود را در محیطی ایمن و کمهزینه آزمایش کنید. البته باید توجه داشت که هیچ شبیهسازی نمیتواند تجربهی کامل کار با سختافزار واقعی را جایگزین کند، اما میتواند فرایند طراحی و نمونهسازی را سرعت ببخشد.
با توجه به نیاز خود، اگر به دنبال یک محیط ساده و آموزشی هستید، ابزارهایی مانند Tinkercad یا Wokwi بهترین انتخاب هستند. اما اگر پروژهای پیشرفتهتر یا صنعتی در دست دارید، نرمافزارهایی مثل Proteus یا Flowcode گزینههای مناسبی خواهند بود. در نهایت، انتخاب شبیهساز مناسب به هدف، سطح تجربه و نوع پروژهی شما بستگی دارد.
