Sensor TCS 3200 merupakan module sensor yang mempunyai fungsi mengkonversi warna yang akan dideteksi menjadi Frekuensi yang akan di olah oleh mikrokontroler dengan kata lain sensor ini dapat mndeteksi warna. Untuk menggunakan sensor TCS 3200 terlebih dahulu kita perlu mengetahui cara mengkalibrasi sensor TCS 3200 agar hasil pembacaan dapat akurat.
[membership level=”0,1,2,4″]
[lwptoc numeration=”none” title=”Daftar Isi”]
Cara Kalibrasi Sensor Warna TCS 3200
1. Alat / Bahan
- Arduino IDE Downloa
- Arduino Uno 1 Buah
- Sensor TCS 3200 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan di sini.
Baca Juga : Membaca Input Dari Sensor Getar (Vibration Sensor)
2. Skema Rangkaian
Gambar Rangkaian Cara Kalibrasi Sensor Warna TCS 3200
Keterangan:
- 5V – VCC TCS 3200
- GND – GND TCS 3200
- D2 – S0 TCS 3200
- D3 – S1 TCS 3200
- D4 – S2 TCS 3200
- D5 – S3 TCS 3200
- D10 – Out TCS 3200
[/membership]
Baca Juga : Program Dasar Sensor Magnet (Hall Effect Sensor) Arduino Uno
3. Langkah Kerja
- Pertama, Siapkan alat dan bahan
- Kedua, Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian di atas
- Ketiga, Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Kemudian Ketikkan sketch program pada halaman Arduino IDE
- Selanjutnya Upload sketch kalibrasi lalu catat hasil pembacaan nilai minimal dan maksimal pada setiap warna merah, hijau dan biru
- Setelah itu Ganti nilai map pada sketch hasil dengan format
map(frequency, nilai_minimal, nilai_maksimal, 255, 0);
untuk setiap warna merah, hijau dan biru - Segera Lakukan proses uploading program hasil
4. Sketch Program
Program Kalibrasi:
/* Program Cara Kalibrasi Sensor Warna TCS 3200 dibuat oleh Indobot */ #define S0 2 //S0 di pin D2 #define S1 3 //S1 di pin D3 #define S2 4 //S2 di pin D4 #define S3 5 //S3 di pin D5 #define sensorOut 10 //Out di pin D10 int frequency = 0; //Variabel frekuensi void setup() { pinMode(S0, OUTPUT); //Setting S0 sebagai output pinMode(S1, OUTPUT); //Setting S1 sebagai output pinMode(S2, OUTPUT); //Setting S2 sebagai output pinMode(S3, OUTPUT); //Setting S3 sebagai output pinMode(sensorOut, INPUT); //Setting Outsensor sebagai Input //Setting frequency-scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW); Serial.begin(9600); //Mulai komunikasi serial } void loop() { //Setting baca merah digitalWrite(S2,LOW); digitalWrite(S3,LOW); frequency = pulseIn(sensorOut, LOW); Serial.print("R= "); Serial.print(frequency); Serial.print(" "); delay(100); //Setting baca hijau digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); Serial.print("G= "); Serial.print(frequency); Serial.print(" "); delay(100); //Setting baca biru digitalWrite(S2,LOW); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); Serial.print("B= "); Serial.print(frequency); Serial.println(" "); delay(100); }
Program Hasil:
/* Program Cara Kalibrasi Sensor Warna TCS 3200 dibuat oleh Indobot */ #define S0 2 //S0 di pin D2 #define S1 3 //S1 di pin D3 #define S2 4 //S2 di pin D4 #define S3 5 //S3 di pin D5 #define sensorOut 10 //Out di pin D10 int frequency = 0; //Variabel frekuensi void setup() { pinMode(S0, OUTPUT); //Setting S0 sebagai output pinMode(S1, OUTPUT); //Setting S1 sebagai output pinMode(S2, OUTPUT); //Setting S2 sebagai output pinMode(S3, OUTPUT); //Setting S3 sebagai output pinMode(sensorOut, INPUT); //Setting Outsensor sebagai Input // Setting frequency-scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW); Serial.begin(9600); //Mulai komunikasi serial } void loop() { //Setting baca merah digitalWrite(S2,LOW); digitalWrite(S3,LOW); frequency = pulseIn(sensorOut, LOW); frequency = map(frequency, 13,36,255,0); Serial.print("R= "); Serial.print(frequency); Serial.print(" "); delay(100); //Setting baca hijau digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); frequency = map(frequency, 15,37,255,0); Serial.print("G= "); Serial.print(frequency); Serial.print(" "); delay(100); //Setting baca biru digitalWrite(S2,LOW); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); frequency = map(frequency, 11,30,255,0); Serial.print("B= "); Serial.print(frequency); Serial.println(" "); delay(100); }
Kesimpulan:
Program bekerja dengan menampilkan komposisi warna, komposisi warna yang di scan akan tertampil sebagai data dengan panjang data 8 bit. Semakin pekat suatu warna maka semakin besar pula data bitnya. Komposisi data yang di tampilkan berupa R G B.
[/membership]