Sensor TCS 3200 merupakan module sensor yang mempunyai fungsi mengkonversi warna yang akan dideteksi menjadi Frekuensi yang akan diolah oleh mikrokontroler dengan kata lain sensor ini dapat mndeteksi warna. Setelah mengetahui bagaimana cara mengkalibrasi sensor TCS 3200 kali ini kita coba menampilkan hasil pembacaan sensor ke layar LCD 16×2.
1. Alat / Bahan
- Arduino IDE Download
- Library: LiquidCrystal_I2C Download
- Arduino UNO 1 Buah
- Sensor TCS 3200 1 Buah
- LCD 16×2 1 Buah
- I2C LCD 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian
Gambar Rangkaian Akses Sensor Warna TCS 3200 dengan Tampilan LCD 16×2
Keterangan:
- 5V – VCC TCS 3200, VCC I2C
- GND – GND TCS 3200, GND I2C
- D2 – S0 TCS 3200
- D3 – S1 TCS 3200
- D4 – S2 TCS 3200
- D5 – S3 TCS 3200
- D10 – Out TCS 3200
- SDA – SDA I2C
- SCL – SCL I2C
- Pin I2C – Pin LCD
3. Langkah Kerja
- Siapkan alat dan juga bahan
- Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Lakukan kalibrasi sebelum memprogram sensor. Tutorial kalibrasi dapat dilihat disini:
Cara Kalibrasi Sensor Warna TCS 3200 - Kemudian Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Unduh semua library di atas dan juga masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Ketikkan sketch program pada halaman Arduino IDE
- Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
Mencari Tahu Alamat I2C Pada Modul I2C - Terakhir Lakukan proses uploading program
Baca juga :Indobot UKM Teknologi Bersinergi Membangun Bangsa
4. Sketch Program
Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu selanjutnya dapatkan konsultasi dari kami!
/* Program Akses Sensor Warna TCS 3200 dengan Tampilan LCD 16x2 dibuat oleh Indobot */ #include <LiquidCrystal_I2C.h> //Library LCD I2C LiquidCrystal_I2C lcd(0x27,16,2); //Alamat I2C #define S0 2 //S0 pada D2 #define S1 3 //S1 pada D3 #define S2 4 //S2 pada D4 #define S3 5 //S3 pada D5 #define sensorOut 10 //Out sensor pada D10 int frequency = 0; //Variabel penampung data sensor void setup() { pinMode(S0, OUTPUT); //Setting I/O pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(sensorOut, INPUT); // Setting frequency-scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW); lcd.init (); //Mulai LCD lcd.setBacklight(HIGH); //Nyalakan backlight } void loop() { //Setting baca merah digitalWrite(S2,LOW); digitalWrite(S3,LOW); frequency = pulseIn(sensorOut, LOW); frequency = map(frequency, 13,36,255,0); lcd.setCursor(0,0); lcd.print("R= "); lcd.print(frequency); //delay(100); //Setting baca hijau digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); frequency = map(frequency, 15,37,255,0); lcd.setCursor(0,1); lcd.print("G= "); lcd.print(frequency); //delay(100); //Setting baca biru digitalWrite(S2,LOW); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); frequency = map(frequency, 11,30,255,0); lcd.setCursor(8,0); lcd.print("B= "); lcd.print(frequency); //delay(100); delay(1000); lcd.clear(); }
Kesimpulan:
Program bekerja dengan menampilkan komposisi warna pada layar LCD. Komposisi warna berupa kombinasi RGB akan munjul di layar lcd bergantung dengan kadar warna benda yang di deteksi sensor, misalkan sensor warna mendeteksi warna merah maka di layar lcd akan tertampil R = 255 G = 0 B = 0.
Bikin project tanpa ribet beli komponen sana-sini? Starter Kit Arduino/IoT bisa jadi solusi mu!