Kamis, 02 Maret 2023

Cara Kalibrasi Sensor Warna TCS 3200 di Arduino

Untuk mengkalibrasi sensor warna TCS3200, Anda dapat mengikuti langkah-langkah berikut:

  1. Pertama-tama, sambungkan sensor TCS3200 ke papan Arduino dan pasang kode program dasar yang akan membaca warna dari sensor dan menampilkannya di serial monitor.
  2. Letakkan sensor di atas permukaan putih, kemudian baca nilai warna RGB pada serial monitor. Pastikan nilai RGB pada putih adalah sekitar (255,255,255). Jika tidak, Anda dapat menyesuaikan nilai gain pada sensor untuk mengoptimalkan pembacaan warna.
  3. Setelah mengatur gain, letakkan sensor di atas permukaan hitam dan baca nilai warna RGB pada serial monitor. Pastikan nilai RGB pada hitam adalah sekitar (0,0,0).
  4. Setelah menyesuaikan putih dan hitam, Anda dapat menggunakan warna lain untuk dijadikan referensi seperti merah, hijau, biru atau warna lainnya. Pastikan nilai RGB yang dihasilkan sesuai dengan ekspektasi.
  5. Terakhir, Anda dapat menyesuaikan waktu integrasi (INTEG) pada sensor untuk mengoptimalkan pembacaan warna. Semakin lama waktu integrasi, semakin akurat hasil pembacaan warna, namun semakin lambat juga kecepatan pemrosesan data. Anda dapat mencoba mengatur waktu integrasi mulai dari 2,4,8,16, dan 32 siklus clock.
Berikut adalah contoh kode program dasar untuk membaca nilai RGB pada sensor warna TCS3200:

#include <Adafruit_TCS3200.h>

Adafruit_TCS3200 colorSensor(TCS3200_S2, TCS3200_S3, TCS3200_OUT);

void setup() {
  Serial.begin(9600);
  colorSensor.begin();
}

void loop() {
  colorSensor.setResolution(TCS3200_18BIT);
  colorSensor.writeRegister(0x00, TCS3200_MEASUREMENT_MODE);

  delay(50);
  
  uint16_t red = colorSensor.readRed();
  uint16_t green = colorSensor.readGreen();
  uint16_t blue = colorSensor.readBlue();

  Serial.print("RGB: ");
  Serial.print(red);
  Serial.print(" ");
  Serial.print(green);
  Serial.print(" ");
  Serial.println(blue);
}

Anda dapat melakukan kalibrasi sensor dengan mengubah gain dan waktu integrasi pada bagian berikut:

colorSensor.setGain(TCS3200_GAIN_1X);
colorSensor.setIntegrationTime(TCS3200_INTEGRATIONTIME_2_4MS);

Jika hasil pembacaan warna masih kurang akurat, Anda dapat mencoba menyesuaikan gain dan waktu integrasi hingga nilai RGB yang dihasilkan sudah sesuai dengan ekspektasi.