Monday, August 8, 2022

Mengakses dan Memprogram Sensor Warna RGB TCS3200 di Arduino

 Sensor Warna RGB TCS3200


TCS3200 Color Sensor adalah sensor pendeteksi warna yang memiliki chip sensor Taos TCS3200 untuk mengontrol  4 LED RGB dan LED putih. TCS3200 dapat mendeteksi dan mengukur hampir tak terbatas warna. Aplikasinya membaca tes strip, menyortir warna, cahaya ambient sensing dan kalibrasi, dan pencocokan warna.


  1. Spesifikasi Sensor Warna TSC 3200

Berikut ini adalah Spesifikasi sensor warna TSC 3200.

Tegangan kerja (2.7V ke 5.5V)

Dimensi : 28.4x28.4mm


Dapat berkomunikasi dengan mikrokontroller melalui :

Pin S0 - S1 : Pin untuk seleksi input frekuensi output

Pin S2 - S3 : Input sensor photodioda

Pin OUT : frekuensi output

Pin OE : enable pin output (aktif low)



  1. Konfigurasi Sensor & Arduino

Sensor Warna TSC 3200 dapat berkomunikasi dengan modul Arduino dengan menghubungkan Pin S0,S1,S2,S3,dan pin Out ke pin digital mikrokontroller. Jenis mikrokontroler yang digunakan adalah Arduino Uno yang memiliki spesifikasi seperti berikut.


IC Mikrokontroller : ATmega328

Tegangan Kerja : 5V

Digital Pin : 14 Pin 

Analog Pin : 6 Pin

Clock Speed : 16 MHz


C:\Users\Aninda\Downloads\TCS3200.png

Koneksi diagram sensor warna TSC 3200 dengan Arduino Uno


Pin digital Arduino yang digunakan untuk menghubungkan Sensor Warna TSC 3200 dan Arduino Uno adalah :

Pin S0 terhubung dengan pin digital 2 Arduino Uno

Pin S1 terhubung dengan pin digital 3 Arduino Uno

Pin S2 terhubung dengan pin digital 4 Arduino Uno

Pin S3 terhubung dengan pin digital 5 Arduino Uno.

Pin Out terhubung dengan pin digital 6 Arduino Uno.

Pin Vcc terhubung dengan pin sumber 5V Arduino Uno.

Pin Gnd terhubung dengan pin sumber ground Arduino Uno.


  1. Contoh Aplikasi program Sensor Warna TSC 3200 dengan Arduino Uno


int s0=3,s1=4,s2=5,s3=6;

int out=2;

int flag=0;

byte counter=0;

byte countR=0,countG=0,countB=0;


void setup()

 {

 Serial.begin(115200);

 pinMode(s0,OUTPUT);

 pinMode(s1,OUTPUT); 

 pinMode(s2,OUTPUT);

 pinMode(s3,OUTPUT);


 }



void TCS()

 {

 flag=0;  

 digitalWrite(s1,HIGH);

 digitalWrite(s0,HIGH);

 digitalWrite(s2,LOW);

 digitalWrite(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= 100;    //10 ms overflow again

  TIMSK2 = 0x01; //allow interrupt

 }


 int i=0;


{

    TCNT2=100;

    flag++;

 if(flag==1)

  {

    countR=counter;

    Serial.print("red=");

    Serial.println(countR,DEC);

    digitalWrite(s2,HIGH);

    digitalWrite(s3,HIGH);

  }

  else if(flag==2)

   {

    countG=counter;

    Serial.print("green=");

    Serial.println(countG,DEC);

    digitalWrite(s2,LOW);

    digitalWrite(s3,HIGH);

   }

   else if(flag==3)

    {

    countB=counter;

    Serial.print("blue=");

    Serial.println(countB,DEC);

    Serial.println("\n"); 

    digitalWrite(s2,LOW);

    digitalWrite(s3,LOW);

    }

    else if(flag==4)

     {

     flag=0;

     }

       counter=0;

}


void loop()

 {

  TCS();

  while(1);

 }



  1. Contoh Aplikasi dalam kehidupan sehari-hari


  1. Auto door lock smart home

  2. Arduino, TCS3200 color sensor, NeoPixel Ring and some elevator music

  3. Color detection sensor

  4. TCS3200 color sensor & EMIC 2

No comments:

Post a Comment