جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پردازش تصویر > ساخت ربات دنبال کننده ی توپ با استفاده از رزبری پای

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

اسفند 6, 1396
ارسال شده توسط mjavad
پردازش تصویر، پروژه، پروژه های رایگان، پروژه های رزبری پای، رباتیک، رزبری پای (Raspberry Pi)
ربات دنبال کننده

به نام خدا

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

ربات دنبال کننده

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

نرم افزار اپن سی وی یک نرم افزار معروف و اوپن سورس است که در قسمت پردازش تصویر استفاده می شود.  اما در این پروژه برای ساده سازی از نرم افزار Processing استفاده کرده ایم. از آنجایی که نرم افزار Prossecing  کتابخانه ی GPIO را نیز تعریف کرده است پس نیازی برای ایجاد ارتباط بین پایتون و نرم افزار Processing نخواهیم داشت.

قطعات مورد نیاز برای پروژه ی ساخت ربات دنبال کننده ی توپ با استفاده از رزبری پای:

رزبری پای

ماژول دوربین با کابل ribbon

شاسی ربات

چرخدنده با چرخ

L293D

پاور بانک و یا هر منبع تغذیه ی قابل حمل

 

موارد مورد نیاز برای برنامه نویسی:

مانیتور برای رزبری پای

کیبورد یا موس برای رزبری پای

نرم افزار Processing ARM

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

آماده سازی Processing  بر روی رزبری پای :

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

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

گام دوم: از اتصال رزبری پای به اینترنت اطمینان حاصل کنید. زیرا باید چند فایل را دانلود کنیم.

گام سوم: بر روی Processing ARM کلیک کنید تا این نرم افزار را برای رزبری پای دانلود کنید که یک فایل زیپ می باشد.

گام چهارم: بعد از اتمام دانلود فایل زیپ را در محل مورد نظر اکسترکت کنید.

گام پنجم: پس از اکسترکت ، بر روی فایلی با نام Processing کلیک کنید. باید تصویری مطابق شکل زیر مشاهده کنید.

 

 

 

 

ربات دنبال کننده

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

گام هفتم: اکنون به دو کتابخانه برای دنبال کردن توپ نیاز داریم. سپس بر روی Sketch -> Import Library -> Add Library کلیک کرده. صفحه ای مانند زیر باز خواهد شد.

ربات دنبال کننده

گام هشتم: در قسمت سرچ برای رزبری پای جستجو کنید و نتیجه ای مانند زیر خواهید دید.

 

 

ربات دنبال کننده

گام نهم : به دنبال کتابخانه های  “GL Video” و “Hardware I/O” بگردید و آن ها را نصب کنید. مطمعن شوید که هر دوی آن ها را نصب کرده اید.

گام دهم: پس از انجام مراحل بالا اکنون نرم افزار آمده است.

شماتیک مدار:

همانطور که مشاهده می کنید شماتیک مدار دنبال کننده به صورت زیر است.

 

 

ربات دنبال کننده

 

 برای راه اندازی موتور ها به چهار پین (A,B,A,B) نیاز داریم. این چهار پین به 14 ، 4 ، 17 و 18  GPIO متصل هستند. سیم های نارنجی و سفید باهم اتصال یک موتور را شکل می دهند. پس ما دو نمونه موتور جفت شده داریم.

موتور ها به L293D متصل هستند که خود آن به یک پاور بانک متصل است. از اتصال زمین رزبری پای به زمین پاور بانک اطمینان حاصل کنید. تنها در این صورت کار میکند.

 

دانلود کد پروژه ربات دنبال کننده :

[maxbutton id=”188″ url=”http://avatrobo.ir/wp-content/uploads/2018/02/ربات-دنبال-کننده.txt” ]

import processing.io.*;
import gohai.glvideo.*;
GLCapture video;
color trackColor;
void setup() {
  size(320, 240, P2D);
  video = new GLCapture(this);
  video.start();
  
  trackColor = color(255, 0, 0);
  
  GPIO.pinMode(4, GPIO.OUTPUT);
  GPIO.pinMode(14, GPIO.OUTPUT);
  GPIO.pinMode(17, GPIO.OUTPUT);
  GPIO.pinMode(18, GPIO.OUTPUT);
}
void draw() {
   background(0);
  if (video.available()) {
    video.read();
  }
  
  video.loadPixels();
  image(video, 0, 0);
  
  float worldRecord = 500; 
  int closestX = 0;
  int closestY = 0;
  
  // Begin loop to walk through every pixel
  for (int x = 0; x < video.width; x ++ ) {
    for (int y = 0; y < video.height; y ++ ) {
      int loc = x + y*video.width;
      // What is current color
      color currentColor = video.pixels[loc];
      float r1 = red(currentColor);
      float g1 = green(currentColor);
      float b1 = blue(currentColor);
      float r2 = red(trackColor);
      float g2 = green(trackColor);
      float b2 = blue(trackColor);
      // Using euclidean distance to compare colors
      float d = dist(r1, g1, b1, r2, g2, b2); // We are using the dist( ) function to compare the current color with the color we are tracking.
      // If current color is more similar to tracked color than
      // closest color, save current location and current difference
      if (d < worldRecord) {
        worldRecord = d;
        closestX = x;
        closestY = y;
      }
    }
  }
  
  if (worldRecord < 10) { 
    // Draw a circle at the tracked pixel
    fill(trackColor);
    strokeWeight(4.0);
    stroke(0);
    ellipse(closestX, closestY, 16, 16);
    println(closestX,closestY);
    
    if (closestX<140)
    {
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.HIGH);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.LOW);
     delay(10);
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.HIGH);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.HIGH);
     
     println("Turn Right"); 
    }
    else if (closestX>200)
    {
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.LOW);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.HIGH);
     delay(10);
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.HIGH);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.HIGH);
     println("Turn Left"); 
    }
    else if (closestY<170)
    {
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.LOW);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.LOW);
     delay(10);
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.HIGH);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.HIGH);
     println("Go Frwd"); 
    }
    else
     {
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.HIGH);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.HIGH);
     }   
  }
  else
  {
     GPIO.digitalWrite(4, GPIO.HIGH);
     GPIO.digitalWrite(14, GPIO.HIGH);
     GPIO.digitalWrite(17, GPIO.HIGH);
     GPIO.digitalWrite(18, GPIO.HIGH);
  }
}
void mousePressed() {
  // Save color where the mouse is clicked in trackColor variable
  int loc = mouseX + mouseY*video.width;
  trackColor = video.pixels[loc];
}

 

برچسب ها: پردازش تصویرپروژه رباتیکپروژه های جالب با رزبری پایپروژه ی ربات دنبال کنندهپروژه ی رزبری پای ربات دنبال کنندهپروژه ی ساخت ربات دنبال کننده ی توپ با استفاده از رزبری پایدانلود پروژه رباتیکدانلود پروژه ی ربات دنبال کنندهدانلود کد ساخت ربات دنبال کننده ی توپ با استفاده از رزبری پایرباتربات دنبال کنندهربات دنبال کننده ی توپربات فوتبالیسترباتیکرباتیک با رزبری پایرزبری پایکد رایگان ساخت ربات دنبال کننده ی توپ با استفاده از رزبری پای
قبلی ردیاب خودرو با استفاده از آردوینو و GPS و GSM
بعدی پروژه ی ساخت ربات آتش نشان با استفاده از سرو موتور و آردوینو همراه با کد

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

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

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

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

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.