Find Here !!!

Sunday, 2 April 2017

Mengetahui Nilai RBG Suatu Warna menggunakan Sensor TCS3200 dan LCD Monitor

Perancangan alat untuk membaca nilai RGB suatu warna menggunakan TCS3200. Serta menampilkan nilainya menggunakan LCD Monitor dengan pemrograman sederhana melalui Arduino Uno.






Menghubungkan LCD monitor ke Arduino
PIN1 / VSS / GND
PIN2 / VDD / VCC > +5v power
PIN3 / VEE / VO > GND + Kaki Potensio 2 (tengah)
PIN4 / RS > PIN 8
PIN5 / RW > GND

PIN6 / E > PIN 9
PIN11 / D4 > PIN 7
PIN12 / D5 >  PIN 11
PIN13 / D6 > PIN 12
PIN14 / D7 > PIN 13
PIN15 / A > Kaki potensio 1(kiri) + 5V
PIN16 / K > Kaki potensio 3(kanan) + GND

Menghubungkan Sensor TCS3200 ke Arduino :

VDD > +5V
GND > GND
OE > GND
S0 > pin 2
S1 > pin 3
S2 > pin 4
S3 > pin 5
OUT > pin 10

int OutPut= 10;//menunjukkan pin untuk kaki OUT pada TCS3200
unsigned int frequency = 0;

#include <LiquidCrystal.h>
// Inisialisasi untuk LCD monitor
LiquidCrystal lcd(8, 9, 7, 11, 12, 13);//RS,EN,D4,D5,D6,D7

void setup()
{
                //menunjukkan penggunaan kolom dan baris LCD
                lcd.begin(16, 2);

                pinMode(2, OUTPUT);
                pinMode(3, OUTPUT);//menunjukkan pin 2, 3,4,5 dihidupkan
                pinMode(4, OUTPUT);
                pinMode(5, OUTPUT);
                pinMode(10, INPUT);//PIN 10 menunjukkan masukkan

                digitalWrite(2,HIGH);
                digitalWrite(3,LOW);//mengatur frekuensi sensor menjadi 20%
}
void loop()
{
                lcd.print("R=");//cetak variabel
                digitalWrite(4,LOW);
                digitalWrite(5,LOW);//pengaturan untuk sensor warna merah
                frequency = pulseIn(OutPut, LOW);//membaca frekuensi
                lcd.print(frequency);//cetak frekuensi merah
                lcd.print("  ");
                lcd.setCursor(7, 0);
                delay(500);
               
               lcd.print("B=");
                digitalWrite(4,LOW);
                digitalWrite(5,HIGH);
                frequency = pulseIn(OutPut, LOW);
                lcd.print(frequency);
                lcd.print("  ");
                lcd.setCursor(0, 1);
                delay(500);
              
               lcd.print("G=");
                digitalWrite(4,HIGH);
                digitalWrite(5,HIGH);
                frequency = pulseIn(OutPut, LOW);
                lcd.print(frequency);
                lcd.print("    ");
                lcd.setCursor(0, 0);
                delay(500);       
}                         





3 comments: