نمایش نتایج: از 1 به 9 از 9
Like Tree1 لایک
  • 1 Post By e.rasekh

موضوع: ماژول سنسور رنگ - سنسور تشخیص رنگ tcs230

Threaded View

  1. #1
    Junior Member
    تاریخ عضویت
    Jul 2013
    نوشته ها
    13

    ماژول سنسور رنگ - سنسور تشخیص رنگ tcs230

    سنسور رنگ مدل TCS230، فتودیودهای سیلیکونی قابل تنظیم را با یک مبدل جریان به فرکانس ترکیب کرده و آن را در یک مدار مجتمع CMOS به شکل یک ماژول یکپارچه ارائه می نماید. فرکانس خروجی full-scale این سنسور را می توان توسط یکی از سه مقدار از پیش تعیین شده از طریق پین های ورودی کنترلی، درجه بندی نمود. این سنسور شامل ورودی و خروجی دیجیتال است که امکان ارتباط مستقیم با برد آردوینو . یا سایر میکروکنترلرها و مدارات منطقی را فراهم می نماید.

    خروجی این سنسور یک موج مربعی (50% duty cycle) می باشد و فرکانس آن مستقیماً با شدت (درخشندگی) نور متناسب است.

    مشخصات:

    • تراشه : TCS230
    • ولتاژ عملیاتی: 3 ولت ~ 5 ولت
    • بهترین محدوده تشخیص: 10 میلی متر
    • تبدیل شدت نور به فرکانس با وضوح بسیار بالا
    • ارتباط مستقیم با میکروکنترلر
    • اندازه PCB: تقریباً. 1.2 در 0.95 اینچ



    کاربرد:

    • تشخیص رنگ



    نحوه عملکرد:

    این سنسور، رنگ جسمی که در مقابل آن قرار دارد را تحلیل کرده و فرکانس هر یک از سه رنگ قرمز (R)، سبز(G) و آبی (B) موجود در آن را، به صورت عددی در محدوده 0 تا 255 اعلام می نماید.

    شماتیک مدار:
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: TCS230.jpg
مشاهده: 712
حجم: 51.6 کیلو بایت

    مثال آردوینو:
    کد:
    /*
     # Be name Khoda!
     # Example code for the TCS230 Color sensor 
     # Company    : AftabRayaneh
     # Website    : http://shop.aftabrayaneh.com
     # Editor     : Elham Rasekh
     # Date       : 31.08.2013
     # Version    : 2.0
     
     # s0 -> digital pin 3
     # s1 -> digital pin 4
     # s2 -> digital pin 5
     # s3 -> digital pin 6
     # out-> digital pin 2
     # OE -> digital pin GND
     
     */
    
    int tcs_s0 = 3, tcs_s1 = 4, tcs_s2 = 5, tcs_s3 = 6;
    int tcs_out = 2;
    int flag = 0;
    int my_timer = 0;
    byte counter = 0;
    byte countR = 0, countG = 0, countB = 0;
    void setup()
    {
      Serial.begin(9600);
      pinMode(tcs_s0,OUTPUT);
      pinMode(tcs_s1,OUTPUT);
      pinMode(tcs_s2,OUTPUT);
      pinMode(tcs_s3,OUTPUT);
    }
    void TCS()
    {
      flag=0;
      digitalWrite(tcs_s1,HIGH);
      digitalWrite(tcs_s0,HIGH);
      digitalWrite(tcs_s2,LOW);
      digitalWrite(tcs_s3,LOW);
      attachInterrupt(0, ISR_INTO, LOW);
      timer0_init();
    }
    void ISR_INTO()
    {
      counter++;
    }
    void timer0_init(void)
    {
      TCCR2A=0x00;
      TCCR2B=0x07; //the clock frequency source 1024 points
      TCNT2= 10000; //10 ms overflow again
      TIMSK2 = 0x01; //allow interrupt
    }
    
    int i=0;
    ISR(TIMER2_OVF_vect)//the timer 2, 10ms interrupt overflow again. Internal overflow interrupt executive function
    { 
      if (my_timer > 100)
      {
        Serial.print("red=");
        Serial.println(countR,DEC);
        Serial.print("green=");
        Serial.println(countG,DEC);
        Serial.print("blue=");
        Serial.println(countB,DEC);
        Serial.println("\n");
        my_timer=0;
      }
      my_timer++; 
      TCNT2=100;
      flag++;
      if(flag==1)
      {
        countR=counter;
    
        digitalWrite(tcs_s2,HIGH);
        digitalWrite(tcs_s3,HIGH);
      }
      else if(flag==2)
      {
        countG=counter;
    
        digitalWrite(tcs_s2,LOW);
        digitalWrite(tcs_s3,HIGH);
      }
      else if(flag==3)
      {
        countB=counter;
        digitalWrite(tcs_s2,LOW);
        digitalWrite(tcs_s3,LOW);
      }
      else if(flag==4)
      {
        flag=0;
      }
      counter=0;
    }
    void loop()
    {
      TCS();
      while(1);
    }
    جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط e.rasekh : 09-11-2013 در ساعت 06:11 AM
    لایک کردن

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

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

SEO by vBSEO