نمایش نتایج: از 1 به 10 از 10
Like Tree2 لایک
  • 1 Post By magmagmary
  • 1 Post By magmagmary

موضوع: ارتباط متلب و آردوینو

Hybrid View

  1. #1
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    16

    ارتباط متلب و آردوینو

    سلام خدمت دوستان عزیز
    چجوری میشه از متلب یک بردار با سریال بفرستیم واسه آردوینو؟
    می خوام دو تا سروو موتور راه اندازی کنم

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    آرایه رو توی یه حلقه for بفرست

    فقط همونطور که میدونی تو کامپایلر متلب خونه های ارایه از 0 شروع نمیشه از 1 شروع میشه
    لایک کردن

  3. #3
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    16
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    آرایه رو توی یه حلقه for بفرست

    فقط همونطور که میدونی تو کامپایلر متلب خونه های ارایه از 0 شروع نمیشه از 1 شروع میشه
    چجوری میتونم دیتا بفرستم واسه آردوینو؟ هنوز این کارو نتونستم انجام بدم
    چیزی که من خوندم با 4 تا دستور s=serial('COM3'); و fopen(s) و fwrite(?) و fclose(s) در متلب میشه دیتا فرستاد واسه آردوینو حالا چیزی ک مشکل داریم اینکه مقابل دستور fwrite چی بنویسیم و چجوری مقدار بدیم که بتونم همین مقادیر رو توی آردوینو بخونم. ممنونم

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط alira725 نمایش پست ها
    چجوری میتونم دیتا بفرستم واسه آردوینو؟ هنوز این کارو نتونستم انجام بدم
    چیزی که من خوندم با 4 تا دستور s=serial('COM3'); و fopen(s) و fwrite(?) و fclose(s) در متلب میشه دیتا فرستاد واسه آردوینو حالا چیزی ک مشکل داریم اینکه مقابل دستور fwrite چی بنویسیم و چجوری مقدار بدیم که بتونم همین مقادیر رو توی آردوینو بخونم. ممنونم
    با دستور اول سریال رو معرفی می کنی
    با دستور دوم پروت کام رو باز می کنی
    اما به جای fwrite ترجیحا از fprint استفاده کن .
    اینم یه نمونه کد :
    کد:
    clear all
    clc
    
    
    answer=1; % this is where we'll store the user's answer
    arduino=serial('COM4','BaudRate',9600); % create serial communication object on port COM4
    
    
    fopen(arduino); % initiate arduino communication
    
    
    while answer
        fprintf(arduino,'%s',char(answer)); % send answer variable content to arduino
        answer=input('Enter led value 1 or 2 (1=ON, 2=OFF, 0=EXIT PROGRAM): '); % ask user to enter value for variable answer
    end
    
    
    fclose(arduino); % end communication with arduino
    لایک کردن

  5. #5
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    16
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    با دستور اول سریال رو معرفی می کنی
    با دستور دوم پروت کام رو باز می کنی
    اما به جای fwrite ترجیحا از fprint استفاده کن .
    اینم یه نمونه کد :
    کد:
    clear all
    clc
    
    
    answer=1; % this is where we'll store the user's answer
    arduino=serial('COM4','BaudRate',9600); % create serial communication object on port COM4
    
    
    fopen(arduino); % initiate arduino communication
    
    
    while answer
        fprintf(arduino,'%s',char(answer)); % send answer variable content to arduino
        answer=input('Enter led value 1 or 2 (1=ON, 2=OFF, 0=EXIT PROGRAM): '); % ask user to enter value for variable answer
    end
    
    
    fclose(arduino); % end communication with arduino
    خیلی ممنون از راهنمایی هاتون
    حالا یه سوال دیگه ک دارم اینکه چجوری میتونم این دیتا ها که میفرستم واسه اردوینو رو تو برنامه آردوینو دخیره کنم؟ اصن میشه؟
    همچنین توضیح بدین این مثال دقیقا چکار میکنه؟
    مثلا ما می خواهیم یک ماتریس یا عدد از متلب به اردوینو بفرستیم که این اعداد در واقع زوایایی هستند که می خواهیم سروو موتوری که به اردوینو وصله به این زوایا برود به عنوان مثال در متلب یک بردار از زوایایی ک سروو باید در آنها قرار بگیرد داریم یعنی زاویه ابتدا و انتها و تعدادی زاویه بین این مقادیر که باید به اردوینو داده شود.
    ویرایش توسط alira725 : 07-19-2016 در ساعت 02:40 PM

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط alira725 نمایش پست ها
    خیلی ممنون از راهنمایی هاتون
    حالا یه سوال دیگه ک دارم اینکه چجوری میتونم این دیتا ها که میفرستم واسه اردوینو رو تو برنامه آردوینو دخیره کنم؟ اصن میشه؟
    همچنین توضیح بدین این مثال دقیقا چکار میکنه؟
    مثلا ما می خواهیم یک ماتریس یا عدد از متلب به اردوینو بفرستیم که این اعداد در واقع زوایایی هستند که می خواهیم سروو موتوری که به اردوینو وصله به این زوایا برود به عنوان مثال در متلب یک بردار از زوایایی ک سروو باید در آنها قرار بگیرد داریم یعنی زاویه ابتدا و انتها و تعدادی زاویه بین این مقادیر که باید به اردوینو داده شود.
    در مورد سوال اولتون داده داره روی پورت کام میاد کافیه با دستور Serial.read داده رو بگیرید

    برای درک مثال هم کافیه کامنتهای کنار کد رو بخونید دقیقا توضیح داده هر خط کد چیکار می کنه
    پورت کام معرفی میشه
    باز میشه
    یه متغیر به اسم answer تعریف شده که مقدارش برای آردوینو استفاده میشه
    هر بار هم تو محیط کامند متلب ازتون میخواد عدد مورد نظرتون رو وارد کنید.

    در مورد بردار هم همونطور که توی تاپیک قبلی گفتم
    یه حلقه for می نویسید تمام درایه های بردار رو یکی یکی با دستور
    fprint میفرستید برای آردوینو

    یعنی تو همون کد قبلی به جای while از for استفاده کنید و بر حسب اینکه بردارتون چند تا درایه داره for رو پیکر بندی کنید.

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO