آردوینو, پروژه آردوینو

به کمک آردوینو ربات مسیریاب (تعقیب خط) بسازید!

آموزش نحوه ساخت ربات مسیریاب با آردوینو در 3 مرحله!

ساخت ربات تعقیب خط همیشه یکی از جذاب‌ترین رؤیاهایی بوده که هر رباتیک‌آموزی آرزو دارد آن را به واقعیت تبدیل کند. حال برای کسانی که همواره این مهم را مدنظر داشته‌اند می‌خواهیم نحوه ساخت ربات مسیریاب با آردوینو را آموزش دهیم؛ پس با بلاگ بهنام رباتیک همراه باشید.

اگر برای نخستین بار است که اسم آردوینو را می‌شنوید و یا نیاز به آشنایی بیشتر با این برد هوشمند دارید، پیشنهاد می‌کنیم حتماً اولین قسمت از سلسله مطالب آموزش 0 تا 100 آردوینو تحت عنوان آردوینو چیست؟ را حتما مطالعه بفرمایید.

ربات مسیریاب یا ربات تعقیب خط چیست؟

آموزش ساخت ربات مسیریاب با آردوینو
نمونه‌ای از ربات تعقیب خط

به طور کلی به ربات‌هایی ربات مسیریاب می‌گویند که بدون کنترل انسان بتوانند راه خود را با توجه به شرایط آماده شده از قبل پیدا کنند. این نوع ربات‌ها به دو دسته تقسیم می‌شوند؛ 1) آن‌هایی که از سنسور تشخیص نور مرئی برای شناسایی خط و مسیر استفاده می‌کنند و 2) آن‌هایی که از مادون قرمز برای شناسایی مسیر بهره می‌برند. برای مثال، در کارخانه‌هایی که تماماً اتوماتیک هستند، ربات‌ها راه خود را از روی دنبال کردن خطوط خاص به وسیله مادون قرمز پیدا می‌کنند. اینک در این پروژه می‌خواهیم رباتی همانند این ربات بسازیم.

در این پروژه از برد آردوینو Uno به عنوان پردازشگر و یا مغز اصلی ربات استفاده کرده‌ایم. همچنین، از ماژول L298N به منظور کنترل سرعت و تعیین جهت حرکت موتورها استفاده شده است. ضمناً، برای تشخیص خطوط مشکی نیز سنسور فرستنده و گیرنده TCRT5000 به کار رفته است.

گام اول برای ساخت ربات مسیریاب با آردوینو: قطعات مورد نیاز

کالا

تعداد

برد هوشمند آردوینو Uno

1 عدد

درایور L298N

1 عدد

ماژول سنسور TCRT5000 فرستنده و گیرنده مادون قرمز

2 عدد

موتور گیربکس زرد پلاستیکی یکطرفه 6 ولت

2 عدد

چرخ پلاستیکی

2 عدد

چرخ هرزگرد

1 عدد

شاسی ربات

1 عدد

سازه ربات (اختیاری)

1 عدد

باتری لیتیوم – یونی 18650

3 عدد

جاباتری سه‌تایی لیتیوم – یونی 18650

1 عدد

سیم برد بورد

1 بسته

برد بورد

1 عدد

توضیحاتی در مورد قطعات الکترونیکی پروژه ساخت ربات مسیریاب با آردوینو

آردوینو

آردوینو Uno مغز اصلی و کنترل‌کننده تمامی عناصر این ربات است که خود بر پایه سری میکروکنترلرهای محبوب AVR می‌باشد.

ماژول درایور موتور L298N

این ماژول درایور که بر پایه آی‌سی درایوری با همین نام است، قابلیت راه‌اندازی موتورهای DC و استپر را دارد. با استفاده از میکروکنترلر و این درایور قادر خواهید بود سرعت و جهت حرکت موتورها را کنترل کنید. همچنین، این درایور توانایی کنترل همزمان 2 موتور DC را دارد.

سنسور فرستنده و گیرنده مادون قرمز TCRT5000

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

توضیح عملکرد قطعات استفاده شده در ساخت ربات مسیریاب با آردوینو

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

برای ساخت ربات مسیریاب با آردوینو، مدار خود را به کمک سیم‌های رابط طبق تصویر زیر ببندید. برای اطمینان از عملکرد صحیح مدار، در اتصالات دقت بیشتری به خرج دهید!

گام دوم برای ساخت ربات مسیریاب با آردوینو: بستن مدار

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

در این میان، اگر این نور به سطح سیاه بتابد بازتابی نخواهیم داشت. این طرز کار حالت دیجیتال است که فقط حالت 0 یا 1 دارد ولی در صورتی که از پین آنالوگ استفاده کنیم، خروجی بسته به سطح (که روشن‌تر باشد یا تیره‌تر) بین 0 تا 1023 متغییر خواهد بود به این صورت که اگر ماژول در نزدیکی سطح کاملاً سفید قرار گیرد، عدد 0 و اگر در نزدیکی سطح کاملاً مشکی قرار گیرد، عدد 1023 توسط پین آنالوگ خوانده می‌شود.

حالا می‌خواهیم از همین ساز و کار برای تشخیص خطوط مشکی روی صفحه‌ای سفید استفاده کنیم. با تشخیص مرز بین سفید و سیاه می‌توانیم چرخ‌های ربات را در مسیر راست و چپ با سرعت متغیر (به کمک PWM و یا مدولاسیون پهنای پالس) حرکت دهیم تا ربات کاملاً در مسیر خطوط سیاه باقی بماند.

L298N: ابتدا جامپرهایی که کنار پین‌های IN1 و IN4 هستند را بردارید.

ENA> پین 5 آردوینو

In1> پین 8 آردوینو

In2> پین 9 آردوینو

In3> پین 10 آردوینو

In4> پین 11 آردوینو

ENB> پین 6 آردوینو

Out1 و Out2> به دو سر موتور چپ

 Out3 و Out4> به دو سر موتور راست

TCRT5000 (ماژول سمت راست):

GND> به قطب منفی باتری

VCC> به قطب مثبت باتری

D0> پین 3 آردوینو

TCRT5000 (ماژول سمت چپ):

GND> به قطب منفی باتری

VCC> به قطب مثبت باتری

D0> پین 2 آردوینو

باتری‌ها:

قطب مثبت باتری اول به قطب منفی باتری دوم

قطب مثبت باتری دوم به قطب منفی باتری سوم

قطب منفی باتری اول به GND آردوینو

قطب مثبت باتری سوم به 5 ولت آردوینو

شماتیک کلی مدار ساخت ربات مسیریاب با آردوینو

توجه داشته باشید 3 عدد باتری استفاده شده به صورت سری به یکدیگر متصل شده‌اند.

شماتیک مدار ربات تعقیب‌کننده خط
شماتیک مدار ربات تعقیب‌کننده خط

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

				
					//_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_www.behnamrobotic.com

/*----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);

}
				
			

نحوه آپلود کد ساخت ربات مسیریاب با آردوینو

برای آپلود کد بر روی برد، ابتدا نرم‌افزار Arduino IDE را باز کنید و تمام نوشته‌های داخل آن را پاک کرده و کد بالا را کپی کنید. سپس در محیط نرم افزار این کد را Paste کنید. حال بر روی کلید کامپایل کلیک نمایید و منتظر بمانید تا کد کامپایل شود. سپس در نوار Tools برد و پورت مورد نظر را انتخاب کنید. حال بر روی کلید آپلود کلیک نمایید و منتظر بمانید تا آپلود شود.

توضیحات کدهای پروژه ساخت ربات مسیریاب با آردوینو

int LS = 2;    // left sensor

int RS = 3;    // right sensor

در این دو خط، ما پین‌های مربوط به سنسورهای مادون قرمز را مشخص کرده‌ایم که سنسور راست به پین 3 و سنسور چپ به پین 2 متصل می‌باشد.

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

int ENBR = 6;  //right motor PWM

در این 6 خط پین‌های مربوط به ماژول درایور L298N مشخص شده‌اند.

pinMode(LS,  INPUT);

  pinMode(RS,  INPUT);

در این دو خط پین‌های دیجیتال سنسورهای مادون قرمز راست و چپ به صورت ورودی تعریف شده‌اند.

pinMode(LM1, OUTPUT);

  pinMode(LM2, OUTPUT);

  pinMode(RM1, OUTPUT);

  pinMode(RM2, OUTPUT);

  pinMode(ENBL,OUTPUT);

  pinMode(ENBR,OUTPUT);

در این شش خط پین‌های In1، In2، In3، In4، ENA و ENB ماژول درایور L298N به صورت خروجی تعریف شده‌اند.

int vall = digitalRead(LS);

  int valr = digitalRead(RS);

خواندن مقدار پین دیجیتال سنسورها و ذخیره کردن مقدار پین دیجیتال سنسور سمت چپ در متغیر vall و سنسور سمت راست در متغیر valr امکان‌پذیر است.

MoveForward();

Stop();

TurnRight();

TurnLeft();

توابع در آردوینو چیست؟

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

تابع های استفاده شده در این کد برابر با حرکت به جلو، چرخش به راست، چرخش به چپ و ایست می‌باشد که به ترتیب با نام‌های MoveForward، TurnRight، TurnLeft و Stop نام‌گذاری شده‌اند.

				
					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);

}
				
			

ایرادهای رایج پروژه ساخت ربات مسیریاب با آردوینو و چگونگی رفع آنها

پلاریته موتورها: اگر مشاهده کردید که موتورها برعکس عمل می‌کنند، یعنی به جای جلو، عقب می‌روند یا به جای عقب، جلو می‌روند، به سادگی دو سر آن را به صورت معکوس به ماژول درایور متصل کنید. توجه داشته باشید که شاید یکی از موتورها درست بوده و دیگری ایراد داشته باشد؛ پس حتماً مراقب این نکته باشید.

تعویض پلاریتی موتورها در ربات مسیریاب

پتانسیومتر ماژول TCRT5000: تعیین می‌کند که تا چه مقدار تیرگی برابر با 1 و چه مقدار روشنایی برابر با 0 باشد. اگر ربات درست کار نکرد، این مورد را هم بررسی کنید و مطمئن شوید که پتانسیومتر آن بر نیمه‌های خود باشد نه بر ابتدا یا انتها.

پتانسیومتر
پتانسیومتر

54 دیدگاه در “به کمک آردوینو ربات مسیریاب (تعقیب خط) بسازید!

  1. دانیال باسره گفت:

    ببخشید چند تا از پایه های ماژول TCRT5000 استفاده میشوند و چرا؟

  2. مهدی احسانی گفت:

    با سلام و درود خدمت شما؛
    آقا من کوی رو که گذاشته بودید تو سایت رو زدم در نرم افزار، اما خطا میده میگه که “سنسور ها نوع خاصی را نشان نمیدهند” همون اولین خط رو ترور میده که نوشته بودید ;into Los =2،
    چکار باید کنم ،
    ممنون میشم راهنمایی کنید..🙏

  3. مهدی احسانی گفت:

    ببخشید،*;int LS=2

  4. مهدی احسانی گفت:

    سلام
    آقا حل شد…
    ان شاءالله که پاینده باشید.
    یاعلی

    1. پشتیبان حکیمی گفت:

      سلام
      خیلی ممنون
      موفق باشید

    2. علیرضا گفت:

      میشه با سنسور خط دیگه استفاده کرد و سوال دیگر اینکه فانکشن نیاز به چه میکروفن یا چیزی دیگر دارد

      1. امیررضا گفت:

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

  5. رضائي-اميررضا رضائي-اميررضا گفت:

    سلام.من تمام قسمت هارو درست انجام دادم.وقتی تک تک با این مدار برنامه میدم قشنگ کار مکنه ولی برنامه اصلی ک ربات باید حرکت کنه نمیشه

    1. امیررضا گفت:

      با عرض سلام و خسته نباشید.
      اتصالات موتور های الکتریکی را دوباره بررسی کنید و از صحت کارکرد درایور مطمئن شوید

  6. محمد علیدوستی گفت:

    سلام بسیار جذاب بود

    1. امیررضا گفت:

      سپاسگذارم از حسن نظرتون

  7. بلال گفت:

    با سلام طبق نقشه وصل کردم چراغ سانسور روشن l298روشن اردینو هم روشن ولی موتور حرکتی نداره

    1. امیررضا گفت:

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

  8. صادقی گفت:

    سلام چرا موتورها هیچ حرکتی ندارند درصورتی که درایور وبرد و سنسورها روشن میشن؟

    1. امیررضا گفت:

      سلام و عرض خسته نباشید.
      برای مشکل شما احتمالات زیر وجود دارد لطفا آن ها را بررسی کنید:
      1.احتمال دارد پتانسیومترهای روی پتانسیومتر تنظیم نباشند و چیزی را تشخیص نمی دهند. لطفا آن ها را تنظیم کنید
      2.احتمال دارد پایه های ENBL و ENBL درست به درایور متصل نشده باشد.
      3.از صحت عملکرد درایو مطمئن شوید.
      برای تست کد اگر به پایه های ENBL و ENBL یک ال ای دی با مقاومت 220 اهم متصل کنید. اگر جلو را بزنید با نور کمتر ازمعمول روشن و اگر عقب را بزنید باید خاموش شود.

      1. حسام خرمی گفت:

        سلام
        ربات کار می کنه فقط باید روی خط سفید باشه روی خط سیاه کار نمی کنه. برای این که روی خط سیاه کار کنه باید چیکار کنم؟؟؟

        1. فروشگاه بهنام رباتیک گفت:

          سلام
          باید در if ها vall و valr رو برعکس کنید
          جایی که 1 هست به 0 و جاهایی که 0 هست به 1 تغییر دهید
          با تشکر از توجه شما

  9. سلام من برای تغذیهl298n میتونم از باتری شارژی معمولی استفاده کنم؟ باتری من باتری digitalهستش

    1. امیررضا گفت:

      سلام بله به شرط اینکه ولتاژ آن همخوانی داشته باشد و بتواند جریان کافی را تامین کند.

    2. مهران گفت:

      سلام درایو من ورودی 5رو دارع ولی موتورها کار نمی کنند چیکار کنم

      1. فروشگاه بهنام رباتیک گفت:

        سلام
        اگه امکانش هست توی شبکه‌های اجتماعی‌مون عکس بفرستید تا ببینیم کجای مدار مشکل داره ولی یک نکته کلی اینکه منبع تامین کننده موتور باید به ورودی 12 ولت متصل بشه تا موتور ها حرکت کنند

  10. محمد علیدوستی گفت:

    من باتری شارژی هام AA 1.2vهستش آیا مناسبه؟

    1. امیررضا گفت:

      طبق دیتاشیت باید حداقل 5 ولت ولتاژ را برای ماژول فراهم آورید.

  11. حامد گفت:

    سلام.
    ممنون از توضیحات کاملتون.
    من مدار رو کامل و درست بستم خروجی سنسورها رو هم گرفتم صفر و یک هم میشن فقط موتور ها حرکت نمیکنه.اتصالات هم درست هست.ممنون میشم راهنمایی کنید

    1. امیررضا گفت:

      سلام
      ممنونم از وقتی که گذاشتین و مطالعه کردین
      برای مشکلتون لطفا موتور ها را با برنامه ساده تری تست کنید. همچنین پایه هایی که به موتور وصل می شوند را با ال ای دی تست کنید. مشکل می تواند از پتانسیومتر های سنسور های تشخیص نیز باشد. آن ها را چرخوانده و دوباره تست کنید.

  12. حامد گفت:

    سلام .ممنون از پاسخگویی.مشکل برنامه در کد های نوشته شده است.
    اینو برا همه میگم. مشکل کدها اینه که مقدار LS و RS رو ریختیم توی متغیر های VALL و VARL .ولی در شرط های IF جای اینکه VALR و VALL رو مقایسه کنه RS و LS مقایسه کرده.
    کد درسیت اینه
    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();
    }
    }

    1. امیررضا گفت:

      سلام.
      خیلی خیلی ممنونم از راهنمایی ای که فرمودین. مشکلی که میفرمایین کاملا درسته و در متن اصلاحش کردیم.
      باز هم تشکر میکنم از دقتتون و وقتی که گذاشتین برای اینکار.
      یک پیشنهاد جذاب از طرف تیم پشتیبانی بهنام رباتیک برای ایمیلتون ارسال میشه. امیدوارم که خوشتون بیاد.

  13. بهمن حاجی عسگری گفت:

    سلام
    من کد تو اردوینو زدم ولی ربات ثابت بود بعد اصلا serial monitor و برا من هیچی نشون نمیده باید چی کار کنم؟؟

    1. امیررضا گفت:

      سلام. وقتتون بخیر
      اگه تو سریال مانیتور چیزی نشون نمیده که احتمال زیاد اتصالات به سیستم باید بررسی بشه

      1. Omid گفت:

        سلام وقتتون بخیر
        چجوری سنسور ها رو کالیبره می کنید ؟
        یعنی برنامه یا نرم افزار خاصی داره واسه ی تنظیم کردن پیچ پتانسیومتر ؟

        1. فروشگاه بهنام رباتیک گفت:

          سلام
          برای تنظیم کردن پیچ روی پتانسیومتر فقط کافیه اونو با یک پیچ گوشتی بچرخونید

          1. Omid گفت:

            تشکر
            فقط اینکه پیچ ها رو که میچرخونیم مهمه که روی زمینه مشکی یا سفید بچرخن ؟
            همینطور بعد از اینکه پیچ یکی از سنسور ها رو می چرخونم چراغش خاموش میشه تایر های همون سمت هم معکوس میشه جهت چرخششون اما اون طرف این اتفاق نمی افته
            اگه امکانش هست راجع به این هم توضیح بدین

          2. فروشگاه بهنام رباتیک گفت:

            بله قطعاً مهمه که روی زمینه مشکی یا سفید بچرخن

  14. سعید گفت:

    سلام. بار اول اتصالات رو وصل کردم موتورها به آهستگی حرکت داشتن ولی در سری های بعد نمیدونم چه اتفاقی افتاد موتورها اصلا حرکتی نداشتن واسه همون اومدم دوباره پروگرام کردم چراغ های L و on و Rx روشنه ولی پروگرم نمیشه و موتورها هم بالطبع حرکتی ندارن لطفا راهنمایی کنید. با تشکر

    1. امیررضا گفت:

      سلام.
      این که موتورها بار اول حرکت داشتن و بار بعد جرکت نداشتن احتمال زیاد میدم که مشکل از موتورهاتون باشه. لطفا با یه موتور دیگه تست کنید ببینید نتیجه میگیرید یا نه.

  15. فرزاد گفت:

    سلام میشه بگین برای ساخت ربات تعقیب خط چه کدی رو به برد ادوینو وارد کنیم؟

    1. امیررضا گفت:

      سلام. کدهایی که مربوط به برد آردوینو هست در متن پروژه آورده شده است.

  16. محمد گفت:

    سلام وقت بخیر ببخشید چطوری کد برنامه رو چهار سنسوره کنم لطفا اگر امکانش هست بگید به شدت نیاز دارم

    1. مدیر وب گفت:

      با عرض سلام،
      برای این که برنامه رو 4 سنسوره کنید ، ساختار کد خیلی تغییری نمی کنه ولی مسئله این جاست که تحلیل رفتار ربات و حرکت موتور ها یکم سخت میشه که این کار یک کد نویس ماهر در این زمینه می باشد ، برای همین پیشنهاد نمی شه که کد رو تغییر بدین .
      با تشکر از همراهی شما

  17. داود گفت:

    با سلام و خسته نباشید
    من هم اتصالات و کد رو درست اضافه کردم و ربات هم برد آردینو و هم شیلد و هم TCRT روشن میشه اما هیچ حرکتی نمی کنه
    فقط من از شیلد 8 کاناله استفاده کردم هیچ راه حلی دارید به من بگید

    1. مدیر وب گفت:

      با عرض سلام،
      به احتمال زیاد یا در سیم کشی مشکل پیش آمده و یا آن که تغذیه درایور رو به درستی نداده اید.
      پروژه ها همه تست شده و درست هستند، می توانید در نرم افزار محبوب پروتئوس سیم کشی و مدار بندی خودتون رو تست کنید.
      با تشکر از همراهی شما

  18. Bahar گفت:

    سلام چطور میتونم سرعتشو کمتر کنم خیلی سریع حرکت میکنه و اینکه برای عملکرد صحیح فاصله دوتا سنسور از هم باید چقدر باشه

    1. مدیر وب گفت:

      با سلام،
      اوایل کد عبارتی به این مضمون هست، int motorspeed = 150 این عدد رو می توانید تغییر بدهید (یک عدد بین 1 تا 225) با تغییر این عدد سرعت موتور کم و زیاد می شود.

  19. داود گفت:

    با سلام و خسته نباشید
    چجوری می تونیم 3 جاباتری تکی رو به همدیگر وصل کنیم ؟
    چون من قطب مثبت همه جاباتری ها رو به همدیگر وصل کردم و سر منفی هر سه باتری به هم
    ربات روشن میشه فقط حرکت نمیکنه و سنسورهاشم دقیق کار می کنند.
    فقط من به جای 2 موتور و چرخ از 4 موتور استفاده کردم

  20. Amir گفت:

    سلام برايه درایور متوL298 از چیز دیگری میشه استفاده کرد

    1. فروشگاه بهنام رباتیک گفت:

      با عرض سلام و وقت بخیر
      بله میشه از هر موتور درایوری که قابلیت H-Bridge داره و با جریان و ولتاژ مدنظر ما هماهنگ هست استفاده کرد ولی توجه کنید که بهترین گزینه همین L298 هست
      با تشکر از توجه شما

  21. یوسف گفت:

    سلام – مطابق مدار روبات رو بستیم ولی کار نمیکنه 5 ولت خروجی از درایور موتو ر به آردینو جواب نمیده ؟ چرا ؟ با کابل به لپ تاب جواب میده ولی مستقیم برق آردینو که از درایور موتور میگیریم جواب نمیده ؟ چرا ؟ راهنمایی بفرمایید لطفا 09155193177

    1. فروشگاه بهنام رباتیک گفت:

      سلام
      کابل رو تعویض و دوباره تست کنید. همچنین اتصالات رو هم بررسی بفرمایید

  22. Bahar گفت:

    سلام وقت بخیر
    با همین توضیحات ربات درست کردم ولی وقتی باتری رو گذاشتم از آردینو دود زد و ربات کار نکرد میشه بگید علتش چیه؟ فک کنم برد سوخته باشه میگن ولتاژ زیاد بهش متصل کردی همه اتصالات رو طبق چیزی گفتید انجام دادم خاهشا میشه بگید چیکار کنم ربات کار کنه اگه کار نکنه درس رباتیکم میفتم 😥

    1. فروشگاه بهنام رباتیک گفت:

      سلام
      وقت شما هم بخیر
      حقیقتا طبق چیزی ک خودتون فرمودید از آردوینو دود زد، احتمالا سوخته چون نباید به آردوینو بیش از 5 ولت وارد کنید

  23. مهران گفت:

    چرا قطعات کامل موجود نیست

    1. فروشگاه بهنام رباتیک گفت:

      با سلام
      قطعاتی که فروشگاه ما میتونه برای ساخت این دستگاه ارائه بده رو میتونین خریداری کنید
      با تشکر از توجه شما

  24. مهران گفت:

    سلام درایو من 5ولت رو دارع ولی موتور هام کار نمیکنه
    باید چیکار کنم

    1. فروشگاه بهنام رباتیک گفت:

      سلام
      اگه امکانش هست توی شبکه‌های اجتماعی‌مون عکس بفرستید تا ببینیم کجای مدار مشکل داره ولی یک نکته کلی اینکه منبع تامین کننده موتور باید به ورودی 12 ولت متصل بشه تا موتور ها حرکت کنند

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *