ساخت تصاویر متحرک با استفاده از آردوینو و نرم‌افزار متلب

تصاویر متحرک درخشان از نظر بصری جذاب هستند و از این رو به طور گسترده برای اهداف تبلیغاتی استفاده می شوند. در این پروژه، ما یک رویکرد رابط کاربری گرافیکی مبتنی بر MATLAB (GUI) برای کنترل الگوی نور دهی تعدادی از دیودهای ساطع کننده نور (LED) ارائه می‌کنیم. استفاده از رابط کاربری گرافیکی سودمند است زیرا کاربر می تواند الگوهای روشنایی را در حین انجام سایر وظایف در رایانه شخصی کنترل کند.
این پروژه پنج الگوی نورپردازی مختلف از جمله شمارنده حلقه و شمارنده جانسون را با کلیک کردن روی دکمه‌های فشاری مناسب در رابط کاربری گرافیکی ایجاد می‌کند. سرعت چشمک زدن LED ها را نیز می توان با استفاده از دکمه های فشاری سریع، معمولی و آهسته در رابط کاربری گرافیکی کنترل کرد. نمونه اولیه در شکل 1 و رابط کاربری گرافیکی مبتنی بر MATLAB در شکل 2 نشان داده شده است. برای سفارش پروژه متلب مشابه این پروژه حتما به صفحه لینک شده با عنوان انجام پروژه متلب کلیک کنید.

نمونه اولیه پروژه توسط نویسنده
شکل 1. نمونه اولیه پروژه توسط نویسنده
رابط کاربری گرافیکی مبتنی بر MATLAB
شکل 2. رابط کاربری گرافیکی مبتنی بر MATLAB

مدار و اجرای پروژه تصاویر متحرک درخشان

مدار کنترل با استفاده از آردوینو در شکل 3 نشان داده شده است. این مدار از یک برد آردوینو Uno، هشت LED و هشت مقاومت 1 کیلو اهم تشکیل شده است.

نمودار مدار پروژه
شکل 3. نمودار مدار پروژه

Arduino Uno یک برد توسعه مبتنی بر میکروکنترلر AVR ATmega328P با شش پایه ورودی آنالوگ و 14 پایه ورودی/خروجی دیجیتال (I/O) است. این میکروکنترلر دارای 32 کیلوبایت حافظه فلش ISP، 2 کیلوبایت رم و 1 کیلوبایت EEPROM است. این برد ارتباط سریالی را از طریق UART، SPI و I2C فراهم می کند. میکروکنترلر می تواند در فرکانس 16 مگاهرتز کار کند. در این پروژه، پایه‌های ورودی/خروجی دیجیتال 3 تا 10 آردوینو به عنوان پایه‌های خروجی پیکربندی شده و برای کنترل روشنایی هشت LED استفاده می‌شود.

هنگامی که یک دکمه فشاری مربوط به یک الگوی خاص در رابط کاربری گرافیکی فشار داده می‌شود، تابع پاسخ تماس مربوطه را در برنامه منبع اجرا می‌کند. آردوینو به منظور ایجاد الگوی درخشان مورد نظر با هشت مقاومت 1 کیلو اهم سری متصل شده، جریان را از طریق LED ها محدود می کنند.

پیشنهاد میکنم مقاله "معرفی بهترین کتاب های آموزش متلب" مطالعه کنید.

نرم افزار

ما از Arduino IDE برای برنامه نویسی Arduino Uno استفاده کردیم. آخرین نسخه IDE را می توان به صورت رایگان از وب سایت رسمی آردوینو دانلود کرد. پس از دانلود، Arduino IDE را نصب کنید و دایرکتوری نصب را یادداشت کنید.

پکیج “Legacy MATLAB and Simulink Support for Arduino” را از سایت Mathworks دانلود کنید. پوشه فشرده شده با نام ArduinoIO را استخراج کنید. از پوشه ArduinoIO، پوشه pde را کپی کرده و در C:\Program Files(یا Program files x86)\Arduino\libraries قرار دهید. (ممکن است مسیر بسته به دایرکتوری نصب IDE متفاوت باشد). پس ازقرار دادن پوشه pde در محل صحیح، Arduino IDE را باز کنید. اگر پوشه را در محل صحیح قرار داده اید، می توانید pde را در File->Examples->pde پیدا کنید. کد را به صورت زیر باز کنید: File->Examples->pde->adioes

پیشنهاد میکنم مقاله "20 ایده برتر برای پروژه متلب" مطالعه کنید.

برد Arduino Uno را به رایانه شخصی خود وصل کنید. از Device Manager، به پورت COM که برد Arduino Uno به آن متصل است توجه کنید. از منوی Tools در Arduino IDE، برد را Arduino Uno و شماره پورت COM را که قبلا ذکر شد انتخاب کنید. با فشار دادن دکمه آپلود در IDE، کد adioes را روی برد Arduino Uno آپلود کنید.

اکنون کل محتوای پوشه ArduinoIO استخراج شده را در پوشه ای در My Documents (در رایانه شخصی ویندوز) کپی کنید.

این برنامه کاربردی رابط کاربری گرافیکی در نسخه R2014a متلب توسعه یافته است. پس از نصب این نسخه متلب در رایانه شخصی خود، فایل install_arduino.m موجود در فهرستی را که محتویات پوشه ArduinoIO را در آن کپی کرده اید، باز کنید. حالا فایل install_arduino.m را اجرا کنید. این کد مسیر بسته پشتیبانی آردوینو را به درستی نصب و ذخیره می کند.

فایل کد منبع (Illumination001.m) را برای این پروژه باز کنید. خط a=arduino ('COM9') را با شماره پورت COM در رایانه شخصی خود جایی که برد Arduino Uno وصل شده است ویرایش کنید. وقتی فایل پروژه را اجرا می کنید، متلب سعی می کند با برد ارتباط برقرار کند. پس از برقراری ارتباط موفقیت آمیز، می توانید LED ها را با فشار دادن دکمه های فشاری مربوطه در رابط کاربری گرافیکی کنترل کنید.

برای دانلود منبع کد برای ساخت تصاویر متحرک با استفاده از آردوینو و نرم‌افزار متلب، اینجا کلیک کنید

پروژه ای برای انجام داری؟

تخصص انجام پروژه داری؟

دیدگاه خود را بیان کنید

1000 کاراکتر باقیمانده است