118ELEC | مجله خبری الکترونیک و رباتیک
  • خانه
  • اخبار
    • اخبار الکترونیک
    • اخبار رباتیک
  • آموزش ها
    • الکترونیک
      • الکترونیک مقدماتی
        • معرفی قطعات الکترونیک
        • تجهیزات اندازه‌گیری
      • الکترونیک پیشرفته
      • الکترونیک دیجیتال
      • الکترونیک صنعتی
    • میکروکنترلرها
      • میکروکنترلر چیست و انواع آن
    • آردوینو
      • آردوینو چیست
      • پروژه آردوینو
    • اینترنت اشیاء
      • اینترنت اشیاء مقدماتی
      • اینترنت اشیاء پیشرفته
    • شبکه‌های کامپیوتری و ارتباط داده
      • can
    • طراحی و ساخت PCB
      • روش های ساخت پی سی بی
    • باتری‌ها
      • باتری چیست؟
      • باتری لیتیوم یون
    • موتور و درایور
      • درایور موتور
      • موتور DC
    • رباتیک
      • مباحث پایه رباتیک
      • ربات مسیر یاب
      • ربات جنگجو
      • سایر ربات ها
  • پروژه
    • پروژه آردوینو
    • پروژه Esp
  • سرگرمی الکترونیک
  • درباره ما
    • درباره ما
    • تماس با ما
  • نویسنده شو!
    • راهنمای ثبت نام و درج مقاله
    • نشر مقاله
    • ثبت نام
    • ورود
    • بازیابی رمز عبور
بدون نتیجه
مشاهده همه نتیجه
  • خانه
  • اخبار
    • اخبار الکترونیک
    • اخبار رباتیک
  • آموزش ها
    • الکترونیک
      • الکترونیک مقدماتی
        • معرفی قطعات الکترونیک
        • تجهیزات اندازه‌گیری
      • الکترونیک پیشرفته
      • الکترونیک دیجیتال
      • الکترونیک صنعتی
    • میکروکنترلرها
      • میکروکنترلر چیست و انواع آن
    • آردوینو
      • آردوینو چیست
      • پروژه آردوینو
    • اینترنت اشیاء
      • اینترنت اشیاء مقدماتی
      • اینترنت اشیاء پیشرفته
    • شبکه‌های کامپیوتری و ارتباط داده
      • can
    • طراحی و ساخت PCB
      • روش های ساخت پی سی بی
    • باتری‌ها
      • باتری چیست؟
      • باتری لیتیوم یون
    • موتور و درایور
      • درایور موتور
      • موتور DC
    • رباتیک
      • مباحث پایه رباتیک
      • ربات مسیر یاب
      • ربات جنگجو
      • سایر ربات ها
  • پروژه
    • پروژه آردوینو
    • پروژه Esp
  • سرگرمی الکترونیک
  • درباره ما
    • درباره ما
    • تماس با ما
  • نویسنده شو!
    • راهنمای ثبت نام و درج مقاله
    • نشر مقاله
    • ثبت نام
    • ورود
    • بازیابی رمز عبور
بدون نتیجه
مشاهده همه نتیجه
118ELEC | مجله خبری الکترونیک و رباتیک
بدون نتیجه
مشاهده همه نتیجه

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

P Y توسط نویسنده
12 بهمن 1400
در ربات مسیر یاب
24
آموزش ساخت ربات مسیریاب با آردوینو

ربات تعقیب خط یا ربات مسیریاب (Line Follower Robot) یک ربات ساده است که به‌صورت مستقل هدایت می‌شود و خطی را که روی زمین کشیده شده دنبال می‌کند. این خط می‌تواند خطی تیره روی سطح سفید یا خطی سفید، بر روی سطح تیره باشد. ساخت این ربات یک پروژه بسیار جالب است! در این آموزش، با نحوه ساخت ربات مسیریاب با آردوینو UNO و برخی المان‌های در دسترس آشنا خواهید شد.

نحوه کار ربات مسیریاب

همان‌طور که قبلاً گفته شد، ربات مسیریاب (LFR) یک خط را دنبال می‌کند و برای دنبال کردن یک خط، باید ابتدا خط را تشخیص دهد. اما چگونه می‌توان مکانیسم تشخیص خط را در LFR پیاده سازی کرد؟ همه می‌دانیم که بازتاب نور در سطح سفید، حداکثر و در سطح سیاه، حداقل است؛ زیرا سطح سیاه بیشترین مقدار نور را جذب می‌کند. بنابراین، ما قصد داریم از این ویژگی نور برای تشخیص خط استفاده کنیم. به‌منظور تشخیص نور، می‌توان از LDR (مقاومت وابسته به نور) یا سنسور IR استفاده کرد.

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

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

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

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

حرکت به جلو:

حرکت رو به جلو ربات با قرارگیری دو سنسور بر روی سطح سفید

در این حالت، هنگامی‌که هر دو سنسور روی یک سطح سفید هستند و خط بین دو سنسور قرار دارد، ربات باید به جلو حرکت کند، به عبارت دیگر، هر دو موتور باید به شکلی بچرخند که ربات در جهت جلو حرکت کند (در واقع هر دو موتور باید به دلیل نحوه قرار دادن آن‌ها در ساختار ما، در جهت مخالف بچرخند. اما برای سادگی کار، ما حرکت موتورها را رو به جلو می‌نامیم.)

گردش به چپ:

حرکت ربات به سمت چپ با قرارگیری سنسور سمت چپ بر روی خط سیاه

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

چرخش به راست:

حرکت ربات به سمت راست با قرارگیری سنسور سمت راست بر روی خط سیاه

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

توقف:

توقف ربات تعقیب خط با قرارگیری سنسورها بر روی خط سیاه

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

اجزای مورد نیاز برای ساخت ربات تعقیب خط با آردوینو UNO

1. آردوینو UNO – 1 عدد

2. درایور موتور L293D – 1 عدد

3. ماژول سنسور IR – 2 عدد

4. باتری 7.4 یا 9 ولت – 1 عدد

5. موتور گیربکس– 2 عدد

6. چرخ ربات – 2 عدد

7. چرخ هرزگرد – 1 عدد

8. شاسی ربات– 1 عدد

9. سیم

10. پیچ

اجزای مورد نیاز برای ساخت ربات تعقیب خط

نمودار مدار و مونتاژ ربات مسیریاب

مدار ربات مسیریاب

مدار ربات مسیریاب از شش قسمت کلی تشکیل شده است:

  1. دو سنسور  IR
  2. یک درایور موتور
  3. دو موتور گیربکس
  4. یک آردوینو
  5. یک باتری
  6. چند سیم برای اتصال

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

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

چرا به درایور موتور نیاز داریم؟

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

L293D دارای 16 پین است ، پایه‌های L293D در نمودار زیر نشان داده شده است.

پین‌های درایور موتور L293D

اتصالات پین‌های درایور موتور به شرح زیر است:

پین شماره 1 و 9 پین‌های فعال‌ساز هستند. این دو پین را به ورودی 5 ولت متصل می‌کنیم تا موتور فعال شود.

پین‌های شماره 1A ، 2A ، 3A و 4A پین‌های کنترل هستند.

برای مثال اگر پین 1A مقدار صفر بگیرد و 2A مقدار یک بگیرد، موتور به راست می‌چرخد و در صورت پایین آمدن 1A و 2A بالا، موتور به سمت چپ می‌چرخد. بنابراین، ما این پین‌ها را به پایه‌های خروجی دیکودر وصل می‌کنیم.

پین‌های 1Y،2Y ، 3Y و 4Y، پین‌های اتصال موتور هستند.

توجه: Vcc2، پین ولتاژ درایور موتور است و فقط در صورت استفاده از موتور ولتاژ بالا استفاده می‌شود.

اتصال پین‌های آردوینو UNO با درایور موتور به شرح زیر است:

پین‎های موتور درایور L293D و آردوینو برای اتصال به هم

در اینجا، ما از باتری 7.4 لیتیوم یون برای تغذیه کل مدار استفاده می‌کنیم. می‌توانید از هر نوع باتری از 6 تا 12 ولت استفاده کنید. برای حرکت ربات، باید از موتورهایی با RPM کم اما با گشتاوری کافی برای حمل وزن ربات استفاده کنیم. بنابراین، برای این ربات دو موتور گیربکس 60 دور در دقیقه 6V انتخاب شده است که با باتری تغذیه می‌شود.

مونتاژ ربات مسیریاب

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

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

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

اکنون، موتورها را با کمک چسب حرارتی مانند تصویر زیر روی شاسی نصب کنید.

چسباندن موتورها به شاسی ربات با استفاده از چسب حرارتی

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

در مرحله بعد، LED مادون قرمز و سنسور را مانند تصویر خم کنید.

اتصال LED مادون قرمز و سنسور خم شده به ربات

سپس سنسورها را به سمت پایین ربات قرار دهید، حسگرها را با توجه به عرض مسیر و عرض ربات تنظیم کنید. به یاد داشته باشید که یک سنسور برای تشخیص سمت چپ و دیگری برای تشخیص سمت راست است.

نصب درایور موتور در شاسی ربات

حالا برد آردوینو خود را با استفاده از چسب روی شاسی نصب کنید و پایه‌های خروجی سنسور را به پین دیجیتال 2 و 4 آردوینو وصل کنید.

اتصال درایور موتور به آردوینو

پین‌های VCC را به 5 ولت و پایه‌های زمین را به زمین وصل کنید.

حالا، پین‌‎های فعال کننده درایور موتور را به پین 5 و 8 آردوینو وصل کنید و پین‌های ورودی درایور موتور را به ترتیب به پین شماره 6 ، 7 ، 9 و 10 آردوینو وصل کنید.

در نهایت، باتری را به مدار وصل کرده و باتری را روی شاسی قرار دهید. در اینجا، همه چیز را با سیم‌های جامپر متصل کرده‌ایم. اما برای ایجاد یک ساختار دائمی، می‌توانید مستقیماً همه چیز را به هم لحیم کنید.

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

اتصال چرخ هرزگرد به شاسی ربات

در نهایت، چرخ‌ها را اضافه کنید. برای ایمنی بیشتر، یک ورق پلاستیکی را نیز به عنوان ضربه گیر اضافه کردیم.

اتصال چرخ‌ها و ورق پلاستیکی ضربه‌گیر به ربات

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

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

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

 #define enA 5 //Enable1 L293 Pin enA
 #define in1 6 //Motor1  L293 Pin in1
 #define in2 7 //Motor1  L293 Pin in1
 #define in3 9 //Motor2  L293Pin in1
 #define in4 10 //Motor2  L293 Pin in1
 #define enB 8 //Enable2 L298 Pin enB
 #define R_S 4 // Right sensor
 #define L_S 2 // Left sensor

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

pinMode(R_S, INPUT);
pinMode(L_S, INPUT);
 pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
 pinMode(in2, OUTPUT);
 pinMode(in3, OUTPUT);
 pinMode(in4, OUTPUT);
 pinMode(enB, OUTPUT);
digitalWrite(enA, HIGH);
digitalWrite(enB, HIGH);

در بخش حلقه، ابتدا مقادیر سنسورهای IR را می‌خوانیم و سپس با استفاده از “if condition” حرکت موتور را مطابق نیاز خود کنترل می‌کنیم. چهار شرایط حرکت در زیر توضیح داده شده است.

حرکت رو به جلو:

if((digitalRead(R_S) == 0)&&(digitalRead(L_S) == 0)){forward();} 

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

(توجه: در اینجا 0 به این معنی است که خروجی سنسور IR در وضعیت high است، زیرا سنسور روی سطح سفید قرار دارد)

گردش به سمت راست:

if((digitalRead(R_S) == 1)&&(digitalRead(L_S) == 0)){turnRight();} 

اگر سنسور راست در حال تشخیص سطح سیاه است و سنسور چپ هیچ خط مشکی را تشخیص نمی‌دهد، آنگاه تابع Right فراخوانی می‌شود و با فراخوانی تابع turnRight، پروتکل مربوط به چرخش به راست را آغاز می‌کند.

گردش به سمت چپ:

 if((digitalRead(R_S) == 0)&&(digitalRead(L_S) == 1)){turnLeft();} 

اگر سنسور راست روی رنگ سفید باشد و سنسور چپ سیاه را تشخیص دهد، آنگاه تابع turnLeft فراخوانی می‌شود. این تابع چرخش ربات به سمت چپ را انجام می‌دهد.

توقف ربات مسیریاب:

 if((digitalRead(R_S) == 1)&&(digitalRead(L_S) == 1)){Stop();} 

اگر سنسور راست و سنسور چپ روی رنگ مشکی باشند، تابع Stop فراخوانی می‌شود. در این حالت، ربات کاملاً متوقف خواهد شد.

ما 4 عملکرد ربات راForward ، turnLeft ، turnRight و Stop تعریف کرده‌ایم. کد انجام این توابع در زیر آمده است:

تابع جلو:

void forward(){ 
digitalWrite(in1, HIGH); 
 digitalWrite(in2, LOW); 
 digitalWrite(in3, LOW); 
 digitalWrite(in4, HIGH);
 }

این بدان معناست که ما ورودی 1 و 4 درایور موتور را به وضعیت high می‌بریم، در نتیجه، هر دو موتور به جلو حرکت می‌کنند. به همین شکل توابع دیگر را که در ادامه ارائه شده‌اند، می‌سازیم.

تابع چرخش به راست:

void turnRight(){
digitalWrite(in1, LOW);  //Right Motor forward Pin
digitalWrite(in2, HIGH); //Right Motor backward Pin 
digitalWrite(in3, LOW);  //Left Motor backward Pin
digitalWrite(in4, HIGH); //Left Motor forward Pin
 }

تابع چرخش به چپ :

void turnLeft(){
 digitalWrite(in1, HIGH); //Right Motor forward Pin
 digitalWrite(in2, LOW);  //Right Motor backward Pin
 digitalWrite(in3, HIGH); //Left Motor backward Pin
 digitalWrite(in4, LOW);  //Left Motor forward Pin
 }

تابع توقف:

void Stop(){
 digitalWrite(in1, LOW); //Right Motor forward Pin 
digitalWrite(in2, LOW); //Right Motor backward Pin
digitalWrite(in3, LOW); //Left Motor backward Pin 
digitalWrite(in4, LOW); //Left Motor forward Pin

پس از کدنویسی، باید کد را در آردوینو بارگذاری کنیم و برای انجام این کار، آردوینو خود را با استفاده از کابل USB به رایانه متصل کرده و این کد را با استفاده از Arduino IDE بارگذاری کنیم.

// Arduino Line Follower Robot Code

#define enA 5//Enable1 L293 Pin enA 
#define in1 6 //Motor1  L293 Pin in1 
#define in2 7 //Motor1  L293 Pin in1 
#define in3 9 //Motor2  L293 Pin in1 
#define in4 10 //Motor2  L293 Pin in1 
#define enB 8 //Enable2 L293 Pin enB 
#define R_S 4//ir sensor Right
#define L_S 2 //ir sensor Left
void setup(){ 
pinMode(R_S, INPUT); 
pinMode(L_S, INPUT); 
pinMode(enA, OUTPUT); 
pinMode(in1, OUTPUT); 
pinMode(in2, OUTPUT); 
pinMode(in3, OUTPUT); 
pinMode(in4, OUTPUT); 
pinMode(enB, OUTPUT);
digitalWrite(enA, HIGH); 
digitalWrite(enB, HIGH); 
delay(1000);
}
void loop(){  
if((digitalRead(R_S) == 0)&&(digitalRead(L_S) == 0)){forward();}   //if Right Sensor and Left Sensor are at White color then it will call forward function
if((digitalRead(R_S) == 1)&&(digitalRead(L_S) == 0)){turnRight();} //if Right Sensor is Black and Left Sensor is White then it will call turn Right function  
if((digitalRead(R_S) == 0)&&(digitalRead(L_S) == 1)){turnLeft();}  //if Right Sensor is White and Left Sensor is Black then it will call turn Left function
if((digitalRead(R_S) == 1)&&(digitalRead(L_S) == 1)){Stop();} //if Right Sensor and Left Sensor are at Black color then it will call Stop function
}
void forward(){  //forward
digitalWrite(in1, HIGH); //Right Motor forward Pin 
digitalWrite(in2, LOW);  //Right Motor backward Pin 
digitalWrite(in3, LOW);  //Left Motor backward Pin 
digitalWrite(in4, HIGH); //Left Motor forward Pin 
}
void turnRight(){ //turnRight
digitalWrite(in1, LOW);  //Right Motor forward Pin 
digitalWrite(in2, HIGH); //Right Motor backward Pin  
digitalWrite(in3, LOW);  //Left Motor backward Pin 
 digitalWrite(in4, HIGH); //Left Motor forward Pin 
}
void turnLeft(){ //turnLeft
digitalWrite(in1, HIGH); //Right Motor forward Pin 
digitalWrite(in2, LOW);  //Right Motor backward Pin 
digitalWrite(in3, HIGH); //Left Motor backward Pin 
digitalWrite(in4, LOW);  //Left Motor forward Pin 
}
void Stop(){ //stop
digitalWrite(in1, LOW); //Right Motor forward Pin 
digitalWrite(in2, LOW); //Right Motor backward Pin 
digitalWrite(in3, LOW); //Left Motor backward Pin 
digitalWrite(in4, LOW); //Left Motor forward Pin 
}

آزمایش و کالیبراسیون

ما ربات مسیریاب را مونتاژ کرده و کد را بارگذاری کردیم، اکنون زمان آن است که عملکرد آن را ببینیم. اگر ربات ما نتواند خط را دنبال کند، باید آن را کالیبره کنیم. برای شروع، ربات را روی سطح سیاه (هر دو سنسور باید بر روی سطح سیاه باشند) قرار دهید.

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

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

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

پست قبلی

آموزش ساخت برد مدار چاپی در خانه

پست بعدی

آشنایی کامل با برد مدار چاپی و انواع آن

P Y

نویسنده

پست بعدی
آشنایی کامل با برد مدار چاپی و انواع آن

آشنایی کامل با برد مدار چاپی و انواع آن

نظرات 24

  1. علیرضا می گوید:
    4 سال قبل

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

    پاسخ
    • P Y P Y می گوید:
      4 سال قبل

      سلام وقت بخیر، خیر دوست عزیز

      پاسخ
  2. علیرضا می گوید:
    4 سال قبل

    سلام این ربات رو میشه تو مسابقات رباتیک شرکت داد

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

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

      پاسخ
  3. علیرضا می گوید:
    4 سال قبل

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

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

      پلکسی هست. متاسفانه طرحش رو نداریم.

      پاسخ
  4. علیرضا می گوید:
    4 سال قبل

    سلام این سیم هایی که برای اتصال مدارات استفاده میشه مدلش چیه

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

      سلام وقتتون بخیر،
      سیم جامپر هستند.

      پاسخ
  5. محمد پارسا می گوید:
    3 سال قبل

    سلام ميشه از درايور موتور l298 استفاده كرد

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

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

      پاسخ
  6. امیر حسین می گوید:
    3 سال قبل

    سلام ببخشید اگر ما بخواهیم با درایور l298d کار کنیم که دارای 16 پین نمی باشد خوب چی کار کنیم که وصل بشود به برد اردینیو و بقیه

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

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

      پاسخ
  7. علی می گوید:
    3 سال قبل

    سلام وقت بخیر برد l293d که من می خواهم بخرم که یک مدل دیگر است چه کار کنم

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

      سلام دوست عزیز،
      احتمال زیاد بردها تشابه زیادی دارند و راه‌اندازی همه اون‌ها بسیار ساده‌ست،
      با خوندن دیتاشیت و جستجو در اینترنت و … می‌تونید به راحتی برد خودتون رو راه‌اندازی کنید.

      پاسخ
  8. امیر می گوید:
    3 سال قبل

    سلام خوب هستید میتونیم از درایور موتور استفاده نکنیم؟

    پاسخ
    • 118elec .com 118elec .com می گوید:
      3 سال قبل

      سلام دوست عزیز،
      تشکر، اتصال مستقیم موتور به میکروکنترلر باعث آسیب رسیدن به میکرو می‌شه،
      به همین دلیل نیاز به درایور موتور داریم. البته می‌تونیم درایور رو خودمون با چند ترانزیستور بسازیم.

      پاسخ
  9. Nic می گوید:
    3 سال قبل

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

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

      سلام دوست عزیز،
      بله می‌تونه، البته طبیعتا برای مسیرهای پیچیده به تعداد سنسور بیشتری نیازه.

      پاسخ
  10. نیما می گوید:
    3 سال قبل

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

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

      سلام به شما، تشکر
      با مدولاسیون عرض پالس یا pwm. به عبارت دیگه به جای اینکه به موتور دائما ۱ بدید، یک پالس ۰ و ۱ بدید که هر چه زمان ۱ بیشتر باشه،
      متوسط ولتاژ بیشتر بوده و سرعت هم بیشتر خواهد بود. این عملکرد با تابع analogWrite(n) صورت می‌گیره که n عددی بین ۰ و ۲۵۶ هست.

      پاسخ
  11. ربانی می گوید:
    3 سال قبل

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

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

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

      پاسخ
  12. ایلیا می گوید:
    3 سال قبل

    سلام من یه ربات مسیر یاب دارم.با 4 تا سنسور ای ار TRT5000 و 1 ماژول شعله و 2 تا سنسور تشخیص رنگ TSC3200 و 1 پمپ اب کف کش 3 تا 6 ولتی و درایور موتور L298 و 4 تا موتور DC . سه تا باتری کتابی موازی کردم ولی اصلا نتونست ربات رو به حرکت در بیاره.میخواستم بدونم پیشنهادی دارین من از چه باتری و چه تعدادی استفاده کنم تا مشکلم حل بشه؟

    پاسخ
    • P Y P Y می گوید:
      3 سال قبل

      سلام دوست عزیز،
      می‌تونید از باتری‌های لیتیومی استفاده کنید. هر سل باتری لیتیومی در حالت شارژ کامل حدود ۴.۲ ولت هست. پس دو سل باید سری بشه.

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

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

راه اندازی سنسور تشخیص رنگ TCS230/TCS3200 با آردوینو

توسط 118elec .com
20 اسفند 1401
0
راه اندازی سنسور تشخیص رنگ TCS230/TCS3200 با آردوینو

در این مقاله به آموزش تشخیص رنگ با استفاده از سنسور رنگ TCS230 یا TCS3200 و آردوینو پرداخته شده است....

بیشتر بخوانید

نحوه ارتقاء مبدل XL4015

توسط 118elec .com
15 اسفند 1401
0
تغییر مبدل XL4015 با استفاده ازمحدود‌کننده‌های قابل تنظیم جریان

در این آموزش روشی ساده برای ارتقای ماژول XL4015، که یک مبدل DC به DC باک می‌باشد، با استفاده از...

بیشتر بخوانید

پیشرفت نوسان سازها در راستای پاسخ به نیازهای روز تکنولوژی

توسط نویسنده 2
14 شهریور 1401
0
پیشرفت نوسان سازها در راستای پاسخ به نیازهای روز تکنولوژی

Part components inside joystick of a console game نوسان سازهای ساعت، سیگنال مرجع دقیق زمان‌بندی‌شده‌ای برای کنترل مدار الکترونیکی ارائه...

بیشتر بخوانید

درباره ما

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

ارتباط با ما از طریق:

118elec@gmail.com

  • اصول مقاله نویسی
  • درباره ما
  • تماس با ما

Copyright © تمام حقوق این سایت متعلق به 118elec می‌باشد.

بدون نتیجه
مشاهده همه نتیجه
  • خانه
  • اخبار
    • اخبار الکترونیک
    • اخبار رباتیک
  • آموزش ها
    • الکترونیک
      • الکترونیک مقدماتی
      • الکترونیک پیشرفته
      • الکترونیک دیجیتال
      • الکترونیک صنعتی
    • میکروکنترلرها
      • میکروکنترلر چیست و انواع آن
    • آردوینو
      • آردوینو چیست
      • پروژه آردوینو
    • اینترنت اشیاء
      • اینترنت اشیاء مقدماتی
      • اینترنت اشیاء پیشرفته
    • شبکه‌های کامپیوتری و ارتباط داده
      • can
    • طراحی و ساخت PCB
      • روش های ساخت پی سی بی
    • باتری‌ها
      • باتری چیست؟
      • باتری لیتیوم یون
    • موتور و درایور
      • درایور موتور
      • موتور DC
    • رباتیک
      • مباحث پایه رباتیک
      • ربات مسیر یاب
      • ربات جنگجو
      • سایر ربات ها
  • پروژه
    • پروژه آردوینو
    • پروژه Esp
  • سرگرمی الکترونیک
  • درباره ما
    • درباره ما
    • تماس با ما
  • نویسنده شو!
    • راهنمای ثبت نام و درج مقاله
    • نشر مقاله
    • ثبت نام
    • ورود
    • بازیابی رمز عبور

Copyright © تمام حقوق این سایت متعلق به 118elec می‌باشد.

خوش آمدید!

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

رمز عبور را فراموش کرده اید؟ ثبت نام

ایجاد حساب جدید!

پر کردن فرم های زیر برای ثبت نام

تمام زمینه ها مورد نیاز است. ورود

رمز عبور خود را بازیابی کنید

لطفا نام کاربری یا آدرس ایمیل خود را برای تنظیم مجدد رمز عبور خود وارد کنید.

ورود