Sensor warna bekerja berdasarkan prinsip absorpsi cahaya oleh objek. Ketika cahaya dikenakan
pada suatu objek, objek tersebut akan menyerap cahaya tertentu dan memantulkan cahaya lainnya.
Sensor warna mendeteksi cahaya yang dipantulkan oleh objek dan menganalisis spektrum warna
yang terkandung dalam cahaya tersebut.
Sensor warna terdiri dari beberapa elemen sensitif cahaya, seperti filter optik atau fotodioda, yang
dapat merespons cahaya pada berbagai panjang gelombang atau spektrum warna tertentu. Ketika
cahaya masuk ke sensor warna, setiap elemen sensitif cahaya merespons spektrum warna tertentu dan
menghasilkan sinyal listrik yang sesuai dengan intensitas cahaya dan warna yang dideteksi. Sinyal
listrik ini kemudian diproses oleh mikrokontroler untuk menghasilkan keluaran yang sesuai dengan
perubahan warna pada objek yang dideteksi.
Dalam aplikasi "Analisis Kinerja Sensor Warna dalam Mendeteksi Perubahan Warna pada Objek",
sensor warna digunakan untuk mendeteksi perubahan warna pada objek dan menghasilkan keluaran
yang dapat digunakan untuk mengontrol proses tertentu. Misalnya, sensor warna dapat digunakan
untuk mengontrol mesin pengemasan produk berdasarkan warna produk yang masuk ke mesin
tersebut.
Dalam rangkaian sensor warna, sinyal keluaran sensor dapat diolah menggunakan beberapa teknik
pemrosesan sinyal, seperti pengolahan citra digital atau algoritma machine learning, untuk
meningkatkan akurasi dan kecepatan deteksi warna.
void setup() {
// Mulai komunikasi serial dengan baud rate 9600
Serial.begin(9600);
// Inisialisasi I2C
Wire.begin();
void loop() {
// Membaca data warna dari sensor
unsigned int redValue = readColorData(TCS3200_RED_REGISTER);
unsigned int greenValue = readColorData(TCS3200_GREEN_REGISTER);
unsigned int blueValue = readColorData(TCS3200_BLUE_REGISTER);
unsigned int clearValue = readColorData(TCS3200_CLEAR_REGISTER);
void enableColorSensor() {
// Mengaktifkan sensor warna
Wire.beginTransmission(TCS3200_ADDRESS);
Wire.write(TCS3200_COMMAND_BIT | TCS3200_ENABLE_REGISTER);
Wire.write(TCS3200_RGBC_ENABLE);
Wire.endTransmission();
}
return colorValue;
}
Pastikan Anda telah menghubungkan sensor warna TCS3200 ke pin-pen pada Arduino Uno
yang sesuai (misalnya SDA ke A4, SCL ke A5). Program di atas menggunakan library Wire
untuk mengakses I2C pada Arduino Uno.
Program tersebut akan terus membaca data warna dari sensor setiap detik dan
menampilkannya melalui Serial Monitor. Anda dapat menyesuaikan program tersebut sesuai
dengan kebutuhan Anda, seperti menggunakan LED untuk menampilkan hasil warna atau
melakukan pengolahan data tambahan.
9. redValue: Variabel dengan tipe data `unsigned int` yang menyimpan nilai data
warna merah.
10. greenValue: Variabel dengan tipe data `unsigned int` yang menyimpan nilai
data warna hijau.
11. blueValue: Variabel dengan tipe data `unsigned int` yang menyimpan nilai data
warna biru.
12. clearValue: Variabel dengan tipe data `unsigned int` yang menyimpan nilai
data warna tanpa filter warna.
13. setup() dan loop(): Fungsi dengan tipe data `void` yang digunakan oleh
Arduino.
15. readColorData(): Fungsi dengan tipe data `unsigned int` yang membaca data
warna dari sensor.
16. byte: Tipe data `byte` yang merupakan tipe data bawaan pada Arduino dan
digunakan untuk menyimpan nilai data byte.
b. Variable
Variabel yang terdapat dalam program tersebut adalah:
1. `redValue`: Variabel dengan tipe data `unsigned int` yang digunakan untuk
menyimpan nilai data warna merah.
2. `greenValue`: Variabel dengan tipe data `unsigned int` yang digunakan untuk
menyimpan nilai data warna hijau.
3. `blueValue`: Variabel dengan tipe data `unsigned int` yang digunakan untuk
menyimpan nilai data warna biru.
4. `clearValue`: Variabel dengan tipe data `unsigned int` yang digunakan untuk
menyimpan nilai data warna tanpa filter warna.
c. Fungtion
Program tersebut memiliki fungsi-fungsi sebagai berikut:
1. `setup()`: Fungsi ini dijalankan saat program pertama kali dijalankan. Pada
fungsi ini dilakukan inisialisasi komunikasi serial dengan baud rate 9600,
inisialisasi I2C, dan mengaktifkan sensor warna dengan memanggil fungsi
`enableColorSensor()`.
Dengan demikian, program ini bertujuan untuk membaca data warna dari sensor
TCS3200 dan menampilkannya melalui Serial Monitor.