Deteksi Warna TCS3200 Kendali Servo
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat mendeteksi warna kemuan dari nilai warna tesebut menghasilkan output berupa gerakan servo. jadi terdapat beberapa warna yang mana tiap-tiap warna mewakili gerakan servo tertentu. untuk lebih jelasnya berikut adalah koding dan komponennya.
1. Komponen
2. Program Arduino IDE
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo myservo1;
#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define sensorOut 6
int frequency = 0;
int btset = A0;
int btsetx = 0;
int fmerah;
int fgreen;
int fblue;
int kal;
int simfmerah1,simfmerah2,simfmerah3,simfmerah4,simfmerah5,simfmerah6,simfmerah7,simfmerah8;
int simfgreen1,simfgreen2,simfgreen3,simfgreen4,simfgreen5,simfgreen6,simfgreen7,simfgreen8;
int simfblue1,simfblue2,simfblue3,simfblue4,simfblue5,simfblue6,simfblue7,simfblue8;
int fmerahatas1,fmerahatas2,fmerahatas3,fmerahatas4,fmerahatas5,fmerahatas6,fmerahatas7,fmerahatas8;
int fmerahbawah1,fmerahbawah2,fmerahbawah3,fmerahbawah4,fmerahbawah5,fmerahbawah6,fmerahbawah7,fmerahbawah8;
int fgreenatas1,fgreenatas2,fgreenatas3,fgreenatas4,fgreenatas5,fgreenatas6,fgreenatas7,fgreenatas8;
int fgreenbawah1,fgreenbawah2,fgreenbawah3,fgreenbawah4,fgreenbawah5,fgreenbawah6,fgreenbawah7,fgreenbawah8;
int fblueatas1,fblueatas2,fblueatas3,fblueatas4,fblueatas5,fblueatas6,fblueatas7,fblueatas8;
int fbluebawah1,fbluebawah2,fbluebawah3,fbluebawah4,fbluebawah5,fbluebawah6,fbluebawah7,fbluebawah8;
int range = 20;
void setup()
{
myservo1.attach(9);
lcd.begin();
lcd.clear();
lcd.noCursor();
pinMode(btset, INPUT_PULLUP);
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
myservo1.write(150);
}
void loop(){
btsetx = digitalRead(btset);
if(btsetx == 0){
lcd.clear();
delay(2000);
scanning1();
scanning2();
scanning3();
scanning4();
scanning5();
scanning6();
scanning7();
scanning8();
}
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(800);
fmerahatas1 = simfmerah1 + range; fmerahatas2 = simfmerah2 + range; fmerahatas3 = simfmerah3 + range; fmerahatas4 = simfmerah4 + range; fmerahatas5 = simfmerah5 + range; fmerahatas6 = simfmerah6 + range; fmerahatas7 = simfmerah7 + range; fmerahatas8 = simfmerah8 + range;
fmerahbawah1 = simfmerah1 - range; fmerahbawah2 = simfmerah2 - range; fmerahbawah3 = simfmerah3 - range; fmerahbawah4 = simfmerah4 - range; fmerahbawah5 = simfmerah5 - range; fmerahbawah6 = simfmerah6 - range; fmerahbawah7 = simfmerah7 - range; fmerahbawah8 = simfmerah8 - range;
fgreenatas1 = simfgreen1 + range;
fgreenbawah1 = simfgreen1 - range;
fblueatas1 = simfblue1 + range;
fbluebawah1 = simfblue1 - range;
fgreenatas2 = simfgreen2 + range;
fgreenbawah2 = simfgreen2 - range;
fblueatas2 = simfblue2 + range;
fbluebawah2 = simfblue2 - range;
fgreenatas3 = simfgreen3 + range;
fgreenbawah3 = simfgreen3 - range;
fblueatas3 = simfblue3 + range;
fbluebawah3 = simfblue3 - range;
fgreenatas4 = simfgreen4 + range;
fgreenbawah4 = simfgreen4 - range;
fblueatas4 = simfblue4 + range;
fbluebawah4 = simfblue4 - range;
fgreenatas5 = simfgreen5 + range;
fgreenbawah5 = simfgreen5 - range;
fblueatas5 = simfblue5 + range;
fbluebawah5 = simfblue5 - range;
fgreenatas6 = simfgreen6 + range;
fgreenbawah6 = simfgreen6 - range;
fblueatas6 = simfblue6 + range;
fbluebawah6 = simfblue6 - range;
fgreenatas7 = simfgreen7 + range;
fgreenbawah7 = simfgreen7 - range;
fblueatas7 = simfblue7 + range;
fbluebawah7 = simfblue7 - range;
fgreenatas8 = simfgreen8 + range;
fgreenbawah8 = simfgreen8 - range;
fblueatas8 = simfblue8 + range;
fbluebawah8 = simfblue8 - range;
if(kal == 1){
if((fmerah < fmerahatas1)&&(fmerah > fmerahbawah1)&&(fgreen < fgreenatas1)&&(fgreen > fgreenbawah1)&&(fblue < fblueatas1)&&(fblue > fbluebawah1)){
lcd.setCursor(0,0);
lcd.print(" WARNA 1");
myservo1.write(70);
}
if((fmerah < fmerahatas2)&&(fmerah > fmerahbawah2)&&(fgreen < fgreenatas2)&&(fgreen > fgreenbawah2)&&(fblue < fblueatas2)&&(fblue > fbluebawah2)){
lcd.setCursor(0,0);
lcd.print(" WARNA 2");
myservo1.write(100);
}
if((fmerah < fmerahatas3)&&(fmerah > fmerahbawah3)&&(fgreen < fgreenatas3)&&(fgreen > fgreenbawah3)&&(fblue < fblueatas3)&&(fblue > fbluebawah3)){
lcd.setCursor(0,0);
lcd.print(" WARNA 3");
myservo1.write(130);
}
if((fmerah < fmerahatas4)&&(fmerah > fmerahbawah4)&&(fgreen < fgreenatas4)&&(fgreen > fgreenbawah4)&&(fblue < fblueatas4)&&(fblue > fbluebawah4)){
lcd.setCursor(0,0);
lcd.print(" WARNA 4");
myservo1.write(160);
}
if((fmerah < fmerahatas5)&&(fmerah > fmerahbawah5)&&(fgreen < fgreenatas5)&&(fgreen > fgreenbawah5)&&(fblue < fblueatas5)&&(fblue > fbluebawah5)){
lcd.setCursor(0,0);
lcd.print(" WARNA 5");
myservo1.write(180);
}
if((fmerah < fmerahatas6)&&(fmerah > fmerahbawah6)&&(fgreen < fgreenatas6)&&(fgreen > fgreenbawah6)&&(fblue < fblueatas6)&&(fblue > fbluebawah6)){
lcd.setCursor(0,0);
lcd.print(" WARNA 6");
myservo1.write(200);
}
if((fmerah < fmerahatas7)&&(fmerah > fmerahbawah7)&&(fgreen < fgreenatas7)&&(fgreen > fgreenbawah7)&&(fblue < fblueatas7)&&(fblue > fbluebawah7)){
lcd.setCursor(0,0);
lcd.print(" WARNA 7");
myservo1.write(50);
}
if((fmerah < fmerahatas8)&&(fmerah > fmerahbawah8)&&(fgreen < fgreenatas8)&&(fgreen > fgreenbawah8)&&(fblue < fblueatas8)&&(fblue > fbluebawah8)){
lcd.setCursor(0,0);
lcd.print(" WARNA 8");
myservo1.write(220);
}
}
}
void scanning1(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 1");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah1 = fmerah;
simfgreen1 = fgreen;
simfblue1 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning1();
}
void scanning2(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 2");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah2 = fmerah;
simfgreen2 = fgreen;
simfblue2 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning2();
}
void scanning3(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 3");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah3 = fmerah;
simfgreen3 = fgreen;
simfblue3 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning3();
}
void scanning4(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 4");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah4 = fmerah;
simfgreen4 = fgreen;
simfblue4 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning4();
}
void scanning5(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 5");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah5 = fmerah;
simfgreen5 = fgreen;
simfblue5 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning5();
}
void scanning6(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 6");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah6 = fmerah;
simfgreen6 = fgreen;
simfblue6 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning6();
}
void scanning7(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 7");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah7 = fmerah;
simfgreen7 = fgreen;
simfblue7 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning7();
}
void scanning8(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 8");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah8 = fmerah;
simfgreen8 = fgreen;
simfblue8 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
kal = 1;
return;
}
scanning8();
}
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo myservo1;
#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define sensorOut 6
int frequency = 0;
int btset = A0;
int btsetx = 0;
int fmerah;
int fgreen;
int fblue;
int kal;
int simfmerah1,simfmerah2,simfmerah3,simfmerah4,simfmerah5,simfmerah6,simfmerah7,simfmerah8;
int simfgreen1,simfgreen2,simfgreen3,simfgreen4,simfgreen5,simfgreen6,simfgreen7,simfgreen8;
int simfblue1,simfblue2,simfblue3,simfblue4,simfblue5,simfblue6,simfblue7,simfblue8;
int fmerahatas1,fmerahatas2,fmerahatas3,fmerahatas4,fmerahatas5,fmerahatas6,fmerahatas7,fmerahatas8;
int fmerahbawah1,fmerahbawah2,fmerahbawah3,fmerahbawah4,fmerahbawah5,fmerahbawah6,fmerahbawah7,fmerahbawah8;
int fgreenatas1,fgreenatas2,fgreenatas3,fgreenatas4,fgreenatas5,fgreenatas6,fgreenatas7,fgreenatas8;
int fgreenbawah1,fgreenbawah2,fgreenbawah3,fgreenbawah4,fgreenbawah5,fgreenbawah6,fgreenbawah7,fgreenbawah8;
int fblueatas1,fblueatas2,fblueatas3,fblueatas4,fblueatas5,fblueatas6,fblueatas7,fblueatas8;
int fbluebawah1,fbluebawah2,fbluebawah3,fbluebawah4,fbluebawah5,fbluebawah6,fbluebawah7,fbluebawah8;
int range = 20;
void setup()
{
myservo1.attach(9);
lcd.begin();
lcd.clear();
lcd.noCursor();
pinMode(btset, INPUT_PULLUP);
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
myservo1.write(150);
}
void loop(){
btsetx = digitalRead(btset);
if(btsetx == 0){
lcd.clear();
delay(2000);
scanning1();
scanning2();
scanning3();
scanning4();
scanning5();
scanning6();
scanning7();
scanning8();
}
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(800);
fmerahatas1 = simfmerah1 + range; fmerahatas2 = simfmerah2 + range; fmerahatas3 = simfmerah3 + range; fmerahatas4 = simfmerah4 + range; fmerahatas5 = simfmerah5 + range; fmerahatas6 = simfmerah6 + range; fmerahatas7 = simfmerah7 + range; fmerahatas8 = simfmerah8 + range;
fmerahbawah1 = simfmerah1 - range; fmerahbawah2 = simfmerah2 - range; fmerahbawah3 = simfmerah3 - range; fmerahbawah4 = simfmerah4 - range; fmerahbawah5 = simfmerah5 - range; fmerahbawah6 = simfmerah6 - range; fmerahbawah7 = simfmerah7 - range; fmerahbawah8 = simfmerah8 - range;
fgreenatas1 = simfgreen1 + range;
fgreenbawah1 = simfgreen1 - range;
fblueatas1 = simfblue1 + range;
fbluebawah1 = simfblue1 - range;
fgreenatas2 = simfgreen2 + range;
fgreenbawah2 = simfgreen2 - range;
fblueatas2 = simfblue2 + range;
fbluebawah2 = simfblue2 - range;
fgreenatas3 = simfgreen3 + range;
fgreenbawah3 = simfgreen3 - range;
fblueatas3 = simfblue3 + range;
fbluebawah3 = simfblue3 - range;
fgreenatas4 = simfgreen4 + range;
fgreenbawah4 = simfgreen4 - range;
fblueatas4 = simfblue4 + range;
fbluebawah4 = simfblue4 - range;
fgreenatas5 = simfgreen5 + range;
fgreenbawah5 = simfgreen5 - range;
fblueatas5 = simfblue5 + range;
fbluebawah5 = simfblue5 - range;
fgreenatas6 = simfgreen6 + range;
fgreenbawah6 = simfgreen6 - range;
fblueatas6 = simfblue6 + range;
fbluebawah6 = simfblue6 - range;
fgreenatas7 = simfgreen7 + range;
fgreenbawah7 = simfgreen7 - range;
fblueatas7 = simfblue7 + range;
fbluebawah7 = simfblue7 - range;
fgreenatas8 = simfgreen8 + range;
fgreenbawah8 = simfgreen8 - range;
fblueatas8 = simfblue8 + range;
fbluebawah8 = simfblue8 - range;
if(kal == 1){
if((fmerah < fmerahatas1)&&(fmerah > fmerahbawah1)&&(fgreen < fgreenatas1)&&(fgreen > fgreenbawah1)&&(fblue < fblueatas1)&&(fblue > fbluebawah1)){
lcd.setCursor(0,0);
lcd.print(" WARNA 1");
myservo1.write(70);
}
if((fmerah < fmerahatas2)&&(fmerah > fmerahbawah2)&&(fgreen < fgreenatas2)&&(fgreen > fgreenbawah2)&&(fblue < fblueatas2)&&(fblue > fbluebawah2)){
lcd.setCursor(0,0);
lcd.print(" WARNA 2");
myservo1.write(100);
}
if((fmerah < fmerahatas3)&&(fmerah > fmerahbawah3)&&(fgreen < fgreenatas3)&&(fgreen > fgreenbawah3)&&(fblue < fblueatas3)&&(fblue > fbluebawah3)){
lcd.setCursor(0,0);
lcd.print(" WARNA 3");
myservo1.write(130);
}
if((fmerah < fmerahatas4)&&(fmerah > fmerahbawah4)&&(fgreen < fgreenatas4)&&(fgreen > fgreenbawah4)&&(fblue < fblueatas4)&&(fblue > fbluebawah4)){
lcd.setCursor(0,0);
lcd.print(" WARNA 4");
myservo1.write(160);
}
if((fmerah < fmerahatas5)&&(fmerah > fmerahbawah5)&&(fgreen < fgreenatas5)&&(fgreen > fgreenbawah5)&&(fblue < fblueatas5)&&(fblue > fbluebawah5)){
lcd.setCursor(0,0);
lcd.print(" WARNA 5");
myservo1.write(180);
}
if((fmerah < fmerahatas6)&&(fmerah > fmerahbawah6)&&(fgreen < fgreenatas6)&&(fgreen > fgreenbawah6)&&(fblue < fblueatas6)&&(fblue > fbluebawah6)){
lcd.setCursor(0,0);
lcd.print(" WARNA 6");
myservo1.write(200);
}
if((fmerah < fmerahatas7)&&(fmerah > fmerahbawah7)&&(fgreen < fgreenatas7)&&(fgreen > fgreenbawah7)&&(fblue < fblueatas7)&&(fblue > fbluebawah7)){
lcd.setCursor(0,0);
lcd.print(" WARNA 7");
myservo1.write(50);
}
if((fmerah < fmerahatas8)&&(fmerah > fmerahbawah8)&&(fgreen < fgreenatas8)&&(fgreen > fgreenbawah8)&&(fblue < fblueatas8)&&(fblue > fbluebawah8)){
lcd.setCursor(0,0);
lcd.print(" WARNA 8");
myservo1.write(220);
}
}
}
void scanning1(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 1");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah1 = fmerah;
simfgreen1 = fgreen;
simfblue1 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning1();
}
void scanning2(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 2");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah2 = fmerah;
simfgreen2 = fgreen;
simfblue2 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning2();
}
void scanning3(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 3");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah3 = fmerah;
simfgreen3 = fgreen;
simfblue3 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning3();
}
void scanning4(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 4");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah4 = fmerah;
simfgreen4 = fgreen;
simfblue4 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning4();
}
void scanning5(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 5");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah5 = fmerah;
simfgreen5 = fgreen;
simfblue5 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning5();
}
void scanning6(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 6");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah6 = fmerah;
simfgreen6 = fgreen;
simfblue6 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning6();
}
void scanning7(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 7");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah7 = fmerah;
simfgreen7 = fgreen;
simfblue7 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
return;
}
scanning7();
}
void scanning8(){
btsetx = digitalRead(btset);
lcd.setCursor(0,0);
lcd.print("SCAN WARNA 8");
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
frequency = pulseIn(sensorOut, LOW);
fmerah = frequency;
lcd.setCursor(0,1);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fgreen = frequency;
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
frequency = pulseIn(sensorOut, LOW);
fblue = frequency;
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(100);
if(btsetx == 0){
delay(200);
simfmerah8 = fmerah;
simfgreen8 = fgreen;
simfblue8 = fblue;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("R=");
lcd.print(fmerah);
lcd.print(" ");
lcd.print("G=");
lcd.print(fgreen);
lcd.print(" ");
lcd.print("B=");
lcd.print(fblue);
lcd.print(" ");
delay(3000);
lcd.clear();
kal = 1;
return;
}
scanning8();
}
3. VIDEO HASILNYA
No comments:
Post a Comment