رفتن به مطلب
  • advertisement_alt
  • advertisement_alt
  • advertisement_alt

راه اندازی ربات مسیریاب با آردینو


Vahidtak
 اشتراک گذاری

ارسال های توصیه شده

با سلام و وقت بخیر

دوستان بنده میخوام یک ربات مسیریاب درست کنم از2 تا سنسور LED و  4 تا چرخ و 2تا باتری و یک برد آردینو مدل UNO و یک ماژول L298N استفاده کردم

مشکل اینجاست هیچ عکس العملی داده نمیشه وقتی باتری روشن میکنم ماژول و برد آردینو روشن میشه و حتی سنسور led ولی نه حرکتی هیچ...

نمیدونم سیمکشی ها اشتباه،زور باتری ها نمیرسه یا اینکه کدها در برد آردینو اشتباه و دستور نمیده

ممنون میشم راهنمایی و کمک کنید واقعا چندهفته اس درگیرشم،و اینکه فکر کنم یکی از سنسور LED ها خراب باشه

کد ارسال کردم، نمیدونم این اتصالات و سیم کشی درسته یا نه

عکس از برد و باتری ام ضمیمه کردم

/*----IR Sensors Connection----*/

int LS = 2;    // left sensor

int RS = 3;    // right sensor

/*-------defining Outputs------*/

int LM1 = 8;        // left motor

int LM2 = 9;       // left motor

int RM1 = 10;     // right motor

int RM2 = 11;    // right motor

int ENBL = 5;   //left motor PWM(ENA)

int ENBR = 6;  //right motor PWM(ENB)

//speed setting

int motorspeed = 150; //MAX speed is 255

void setup()

{

  pinMode(LS,  INPUT);

  pinMode(RS,  INPUT);

  pinMode(LM1, OUTPUT);

  pinMode(LM2, OUTPUT);

  pinMode(RM1, OUTPUT);

  pinMode(RM2, OUTPUT);

  pinMode(ENBL,OUTPUT);

  pinMode(ENBR,OUTPUT);

}

void loop(){

  int vall = digitalRead(LS);

  int valr = digitalRead(RS);

if (( vall == 0 ) && ( valr == 0 )) //CONDITION-1 FORWARD

{

    MoveForward();

  }

  if (( vall == 1 ) && (valr == 1)) //CONDITION-2 STOP

  {

      Stop();

    }

  if(( vall == 0 ) && ( valr == 1 ))  // RIGHT

  {

      TurnRight();

  }

  if(( vall == 1 ) && ( valr == 0 ))

  {

      TurnLeft();

  }

}

void MoveForward()

{

    digitalWrite(LM1,LOW);

    digitalWrite(LM2,HIGH);

    digitalWrite(RM1,LOW);

    digitalWrite(RM2,HIGH);

    analogWrite(ENBL,motorspeed);

    analogWrite(ENBR,motorspeed);

    delay(20);

}

void TurnRight()

{

    digitalWrite(LM1,LOW);

    digitalWrite(LM2,HIGH);

    digitalWrite(RM1,HIGH);

    digitalWrite(RM2,LOW);

    analogWrite(ENBL,motorspeed);

    analogWrite(ENBR,motorspeed);

    delay(20);

}

void TurnLeft()

{

    digitalWrite(LM1,HIGH);

    digitalWrite(LM2,LOW);

    digitalWrite(RM1,LOW);

    digitalWrite(RM2,HIGH);

    analogWrite(ENBL,motorspeed);

    analogWrite(ENBR,motorspeed);

    delay(20);

}

void Stop()

{

    digitalWrite(LM1,LOW);

    digitalWrite(LM2,LOW);

    digitalWrite(RM1,LOW);

    digitalWrite(RM2,LOW);

    delay(20);

}

 

photo14622744878.jpg

photo14622754052.jpg

photo14622800891.jpg

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

سلام

به جای موتور ال ای دی قرار بدهید و عملکرد را تست کنید ببینید ال ای دی ها مطابق برنامه روشن یا خاموش میشود یا خیر.

اگر درست عمل نمیکند سنسور ها و کد را بررسی کنید اگر عمل میکند تغذیه موتور ها را تغییر بدهید.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

۹ ساعت قبل، پاسخگوی انجمن گفته است:

سلام

به جای موتور ال ای دی قرار بدهید و عملکرد را تست کنید ببینید ال ای دی ها مطابق برنامه روشن یا خاموش میشود یا خیر.

اگر درست عمل نمیکند سنسور ها و کد را بررسی کنید اگر عمل میکند تغذیه موتور ها را تغییر بدهید.

سلام سنسور روشن و خاموش میشه وقتی جسمی روبرو سنسور قرار میدم عکس العمل نشون میده،

منظورتون از تغذیه موتور تغییر بدم یعنی باتری باید بیشتر کنم؟ ولتاژ

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

بله باتری را تغییر بدهید یا به جای تغذیه بالا و موتور فقط تغذیه مناسب یک ال ای دی را فراهم کنید و ال ای دی را به پایه های موتور درایور متصل کنید ببینید با تغییر حالت سنسور ها، ال ای دی متناسب با آن روشن میشود یا خیر

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
 اشتراک گذاری

×
×
  • اضافه کردن...