وهنا يتم التحكم ف محرك التيار المستمر (DC Motor) باستخدام المتحكمات والبرنامج الهندسي الشهير (Matlab) :-
انشاء انتر فيس (واجهة) مستخدم رسومية MATLAB للتحكم في محرك DCMOTOR:-
تم فتح نافذه منبثقه ثم عليك بتحيديد واجهه مستخدم رسوميات جديده كما هو موضح بالصوره
وعليك الان اختيار ثلاث مفاتيح ضغط
بوش بوتون للدوران في الاتجاه عقارب الساعه والاخر في الدوران عكس عقارب الساعه
وايضا مفتاح للتشغيل والايقاف أي ان عليك ان تعمل تلاث مفاتيح الاول يتم الضغط عليه ليعمل المحرك في الدوران لليمين وام الثاني كي يعمل المحرك في الدوران في التجاه اليسار والمفتاح الثالث عمل استوب للموتور التيار المستمر كما هو موضح بصوره.
وللتعديل في حجم المفتاح او تغيير
الديزاين الخاص بالمفتاح ما عليك غيرضغط ضغطه فوق المفتاح واحده وسيعطيك اختيار السحب من احد
الزوايا المفتاح ومن خلال الضغط المزدوج على المفتاح يمكنك تغيير لون وخريطه وعلامه
هذا المفتاح الذي قمنا بتخصيص ثلاث مفاتيح كما هو موضح بالصوره.
وأيضا كما في صوره الموضحة في الموقع
وفي اعلي الصفحه يوجد الرسم التخطيطي لربط Matlab بالوحه Arduino uno الشهيرة وفي المستقبل نضع في صفحه جديده من الموقع ربط Matlab وArduino باستخدام برنامج Proteus كا محاكي للوحه Arduino
وشكرا عزيزي المهندس وهنا نضع كود المستخدم في لوحه Arduino uno
كما يمكنك منتابعة قناتنا علي اليوتيوب من هنا
CODE ARDUINO UNO:-
function varargout = DCmotor(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @DCmotor_OpeningFcn, ... 'gui_OutputFcn', @DCmotor_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function DCmotor_OpeningFcn(hObject, eventdata, handles, varargin) guidata(hObject, handles); function varargout = DCmotor_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; clear all; global a; a = arduino(); function clockwise_Callback(hObject, eventdata, handles) global a; writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D6', 1); pause(0.5); function anticlockwise_Callback(hObject, eventdata, handles) global a; writeDigitalPin(a, 'D5', 1); writeDigitalPin(a, 'D6', 0); pause(0.5); function stop_Callback(hObject, eventdata, handles) global a; writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D6', 0); pause(0.5);