ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 9 از 9
  1. #1
    2018/06/07
    101
    15

    Question مشکل در برنامه نویسی آردوینو

    سلام دوستان.من برای کنترل 4 موتور dc و 1 موتور servo توسط آردوینو و ماژول بلوتوث و درایور موتور l293d میخوام کد بنویسم.
    واسه موتور های dc کد زیر رو نوشتم و مشکلی نداشت:
    کد:
    #include <Servo.h>
    #include <AFMotor.h>
    AF_DCMotor MotorR(1);
    AF_DCMotor MotorL(2);
    AF_DCMotor MotorR2(3);
    AF_DCMotor MotorL2(4);
    Servo gripperServo;
    int reads = Serial.read();
    void setup()
    {  
    Serial.begin(9600);
    gripperServo.attach(5);
    MotorR.setSpeed(255);
    MotorL.setSpeed(255);
    MotorR2.setSpeed(255);
    MotorL2.setSpeed(255); 
    }
    void loop()
    {
      switch (reads){
    
        
        case 200:
        MotorR.run(FORWARD);
        MotorL.run(FORWARD);
        MotorR2.run(FORWARD);
        MotorL2.run(FORWARD);
        break;
    
        
        case 210:
        MotorR.run(BACKWARD);
        MotorL.run(BACKWARD);
        MotorR2.run(BACKWARD);
        MotorL2.run(BACKWARD);
        break;
    
        
        case 220:
        MotorR.run(FORWARD);
        MotorL.run(RELEASE);
        MotorR2.run(FORWARD);
        MotorL2.run(RELEASE);
        break;
    
        
        case 230:
        MotorR.run(RELEASE);
        MotorL.run(FORWARD);
        MotorR2.run(RELEASE);
        MotorL2.run(FORWARD);
        break;
    
        
        case 240:
        MotorR.run(BACKWARD);
        MotorL.run(RELEASE);
        MotorR2.run(BACKWARD);
        MotorL2.run(RELEASE);
        break;
    
        
        case 250:
        MotorR.run(RELEASE);
        MotorL.run(BACKWARD);
        MotorR2.run(RELEASE);
        MotorL2.run(BACKWARD);
        break;
      }  
    }
    ولی واسه servo کد زیر رو نوشتم ولی ارور unusable value میده:
    کد:
    case Serial.read():
    if Serial.read<200{
    gripperServo.write(Serial.read);
    }
    break;
    چجوری میتونم عدد خونده شده از سریالو در اینجا به کار ببرم؟
    ویرایش توسط Mr.Skylake : 2018/06/08 در ساعت 10:33
  2. #2
    2018/02/22
    1,096
    689

    پاسخ : مشکل در برنامه نویسی آردوینو

    جلوی کیس که نمیشه تابع بذارید . وقتی جلوی دستور سوییچ ، سریال رو میخونید برای چی دوباره اینجا read نوشتید؟ هدفتون چیه ؟ مثال عددی سروو بزنید .
  3. #3
    2018/06/07
    101
    15

    پاسخ : مشکل در برنامه نویسی آردوینو

    نقل قول نوشته اصلی توسط Masood Ashoori

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    جلوی کیس که نمیشه تابع بذارید . وقتی جلوی دستور سوییچ ، سریال رو میخونید برای چی دوباره اینجا read نوشتید؟ هدفتون چیه ؟ مثال عددی سروو بزنید .
    ببینید من کار به خود تابع Serial.read)( ندارم.من فقط میخوام اون عددی که از طریق سریال دریافت شده رو در صورتی که از ۲۰۰ کمتر باشه به سروو بده.
  4. #4
    2018/02/22
    1,096
    689

    پاسخ : مشکل در برنامه نویسی آردوینو

    نقل قول نوشته اصلی توسط Mr.Skylake

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    ببینید من کار به خود تابع Serial.read)( ندارم.من فقط میخوام اون عددی که از طریق سریال دریافت شده رو در صورتی که از ۲۰۰ کمتر باشه به سروو بده.
    شما اون serial read رو گذاشتید قبل ستاپ مشکلی پیش نیومده ؟ کار می*کنه ؟! چون اصولاً باید توی لوپ باشه .
    وقتی سریال رو خوندید و داخل متغیر مثلا m ریختید . با یک شرط ساده میتونید دستور سروو بدید .
    if( m < 200 )
    servo.write(m);
  5. #5
    2018/06/07
    101
    15

    پاسخ : مشکل در برنامه نویسی آردوینو

    نقل قول نوشته اصلی توسط Masood Ashoori

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    شما اون serial read رو گذاشتید قبل ستاپ مشکلی پیش نیومده ؟ کار می*کنه ؟! چون اصولاً باید توی لوپ باشه .
    وقتی سریال رو خوندید و داخل متغیر مثلا m ریختید . با یک شرط ساده میتونید دستور سروو بدید .
    if( m < 200 )
    servo.write(m);
    چجوری بریزم؟یعنی همون براش متغیر تعریف کنم؟


    [QUOTE=Masood Ashoori;677863]
    شما اون serial read رو گذاشتید قبل ستاپ مشکلی پیش نیومده ؟ کار می*کنه ؟! چون اصولاً باید توی لوپ باشه .
    [QUOTE/]

    از لحاظ تست عملی انجام ندادم ولی از لحاظ کامپایلری ارور نداد.
    ویرایش توسط Mr.Skylake : 2018/06/08 در ساعت 12:35
  6. #6
    2018/02/22
    1,096
    689

    پاسخ : مشکل در برنامه نویسی آردوینو

    همون کاری که خط 8 کردید ،
    int read = serial.read();
    البته بازهم میگم اصولاً این دستور باید ابتدای حلقه لوپ نوشته بشه نه اونجا .
  7. #7
    2018/06/07
    101
    15

    پاسخ : مشکل در برنامه نویسی آردوینو

    نقل قول نوشته اصلی توسط Masood Ashoori

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    همون کاری که خط 8 کردید ،
    int read = serial.read();
    البته بازهم میگم اصولاً این دستور باید ابتدای حلقه لوپ نوشته بشه نه اونجا .
    این کارو کردم جواب نداد ارور داد
  8. #8
    2018/02/22
    1,096
    689

    پاسخ : مشکل در برنامه نویسی آردوینو

    کل برنامه رو بذارید
  9. #9
    2018/06/07
    101
    15

    پاسخ : مشکل در برنامه نویسی آردوینو

    نقل قول نوشته اصلی توسط Masood Ashoori

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    کل برنامه رو بذارید
    خیلی ممنون مشکلم حل شد

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    نقل قول نوشته اصلی توسط Masood Ashoori

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    همون کاری که خط 8 کردید ،
    int read = serial.read();
    البته بازهم میگم اصولاً این دستور باید ابتدای حلقه لوپ نوشته بشه نه اونجا .
    به این خاطر اونجا نوشتم که چون اگه تو لوپ مینوشتم تو ستاپ نمیشد ازش استفاده کرد
نمایش نتایج: از 1 به 9 از 9

موضوعات مشابه

  1. پاسخ: 15
    آخرين نوشته: 2018/03/07, 15:19
  2. مشکل در برنامه نویسی آردوینو مگا
    توسط sadegh.put در انجمن خانواده Arduino
    پاسخ: 1
    آخرين نوشته: 2017/02/08, 08:02
  3. زبان برنامه نویسی آردوینو؟
    توسط QICS در انجمن خانواده Arduino
    پاسخ: 3
    آخرين نوشته: 2015/08/10, 15:51
  4. برنامه نویسی آردوینو
    توسط haunting در انجمن خانواده Arduino
    پاسخ: 21
    آخرين نوشته: 2015/04/17, 17:28

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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