LAMPIRAN Datasheet Sensor Warna TCS3200

Post on 20-Jan-2022

4 views 0 download

Transcript of LAMPIRAN Datasheet Sensor Warna TCS3200

61

LAMPIRAN

Datasheet Sensor Warna TCS3200

62

63

DATASHEET Arduino

64

65

Datasheet Motor Servo MG995

66

67

Program Lengan Robot Pemilah Barang Berdasarkan Warna

#include <Servo.h>

Servo motorServo1; //Base

Servo motorServo2; //SHoulder

Servo motorServo3; //ELbow

Servo motorServo4; //Wrist

Servo motorServo5; //Gripper

int s2 = 11; //S2 Sensor Ke Pin 11 Arduino

int s3 = 12; //S3 Sensor Ke Pin 12 Arduino

int outPin = 13; //Output Sensor Ke Pin 13 Arduino

void setup() {

pinMode(s2, OUTPUT);

pinMode(s3, OUTPUT);

pinMode(outPin, INPUT);

Serial.begin(9600); //Menyalakan Port Serial Monitor

motorServo1.attach(2);

motorServo2.attach(3);

motorServo3.attach(4);

motorServo4.attach(5);

motorServo5.attach(6);

}

void loop() {

68

//Posisi awal

motorServo1.write(90);

motorServo2.write(90);

motorServo3.write(90);

motorServo4.write(90);

motorServo5.write(0);

delay(2000);

//Menuju lokasi objek

motorServo4.write(4);

delay(1000);

motorServo1.write(180);

delay(1000);

motorServo2.write(73);

delay(1000);

motorServo3.write(140);

delay(1000);

motorServo5.write(160);

delay(1000);

//Identifikasi Warna

char color

switch(color) {

case 'r': //Warna Merah

motorServo2.write(90);

delay(1000);

motorServo3.write(140);

69

delay(1000);

motorServo1.write(0);

delay(1000);

motorServo4.write(40);

delay(2000);

motorServo5.write(0);

delay(1000);

case 'g': //Warna Hijau

motorServo2.write(90);

delay(1000);

motorServo3.write(140);

delay(1000);

motorServo1.write(15);

delay(1000);

motorServo4.write(40);

delay(2000);

motorServo5.write(0);

delay(1000);

case 'b': //Warna Biru

motorServo2.write(90);

delay(1000);

motorServo3.write(140);

delay(1000);

70

motorServo1.write(30);

delay(1000);

motorServo4.write(40);

delay(2000);

motorServo5.write(0);

delay(1000);

case 'u': //Warna Tidak Terdeteksi

motorServo1.write(90);

motorServo2.write(90);

motorServo3.write(90);

motorServo4.write(90);

motorServo5.write(90);

delay(1000);

delay(5000); //pause

}

delay(5000);

return;

}

char get_color() {

int R;

int G;

int B;

71

//Membaca Komponen Merah

digitalWrite(s2, LOW);

digitalWrite(s3, LOW);

R = pulseIn(outPin, LOW);

//Membaca Komponen Hijau

digitalWrite(s2, HIGH);

digitalWrite(s3, HIGH);

G = pulseIn(outPin, LOW);

//Membaca Komponen Biru

digitalWrite(s2, LOW);

digitalWrite(s3, HIGH);

B = pulseIn(outPin, LOW);

if((R>5) && (R<11) && (G>16) && (G<26) && (B>16) && (B<26)) //Warna

Merah

{

if (DEBUG) Serial.println("Warna Merah");

color = 'r';

}

else if((R>28) && (R<38) && (G>19) && (G<25) && (B>16) && (B<25))

//Warna Biru

{

if (DEBUG) Serial.println("Warna Biru");

color = 'b';

}

else if((R>14) && (R<20) && (G>7) && (G<13) && (B>7) && (B<13))

//Warna Hijau

{

72

Serial.println("Warna Hijau");

color = 'g';

}

else

{

Serial.print("R = ");

Serial.print(R);

Serial.print(" G = ");

Serial.print(G);

Serial.print(" B = ");

Serial.println(B);

}

color = 'u'; //Tidak Terdeteksi

}

}