Alat Pemilah Warna Berbasis Arduino UNO

 Alat Pemilah Warna Berbasis Arduino UNO 





Disusun Oleh :
1. Faisal Raymond Airlangga  (3.32.20.2.09)
2. Navandra Pangestu            (3.32.20.2.18)


Latar Belakang
Perkembangan dunia teknologi saat ini semakin berkembang sedemikian pesat dan merambah ke berbagai sisi kehidupan manusia. Perkembangan tersebut didukung oleh tersediannya perangkat keras. Dengan kata lain banyak perusahaan melakukan otomasi produksinya. Misalnya, proses produksi yang pada awalnya masih dilakukan secara manual seperti pada proses pemisah barang contohnya botol minuman. Pada proses industri manual dikerjakan oleh tenaga manusia dan membutuhkan jumlah tenaga kerja yang tidak sedikit dan membuat waktu proses produksi menjadi lebih lama. Selain itu sering terjadi human error pada industri manual ini karena melakukan pekerjaan secara berulang-ulang. Untuk mengatasi masalah itu, perusahaan yang menginginkan proses produksi yang lebih efektif dan efisien melakukan perubahan pola produksi dengan mengaplikasikan sistem otomasi dalam produksinya. Seperti halnya dalam memilih barang berdasarkan warna yang berbeda akan membutuhkan suatu alat yang bisa memilah produk-produk tersebut secara otomatis. Dengan adanya alat pemisah botol minuman otomatis berbasis arduino uno dapat dimanfaatkan sebagai pengolah data dari sensor TCS 3200 dan menjadikannya suatu tampilan akhir dalam proses pemilah barang. Otomatis akan sangat membantu dalam proses produksi produk-produk tersebut. Dengan perkembangan teknologi pada saat ini.


Komponen Yang Digunakan:
1. Arduino Uno
2. Motor Servo 
3. Sensor TCS 3200
4. Kabel Jumper


Diagram Alir:



Program:

#include <Servo.h>

#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define sensorOut 6
int R=0;
int G=0;
int B=0;
Servo topServo;
Servo bottomServo;

int frequency = 0;
int color=0;

void setup() {
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(sensorOut, INPUT);
  pinMode(13, OUTPUT);
  // Setting frequency-scaling to 20%
  digitalWrite(S0, HIGH);
  digitalWrite(S1, LOW);

  topServo.attach(7);
  bottomServo.attach(8);
  
  Serial.begin(9600);
}

void loop() {

  topServo.write(113);
  delay(500);
  
  for(int i = 117; i > 55; i--) {
    topServo.write(i);
    delay(2);
  }
  delay(1000);
  
  color = readColor();
  delay(10);  

  switch (color) {
    case 1:
    bottomServo.write(50);
    Serial.println("BROWN");
    break;

 
    case 3:
    bottomServo.write(100);
    Serial.println("BLUE");
    break;



    case 6:
    bottomServo.write(175);
    
    break;
    
    case 0:
    break;
  }
  delay(300);
  
  for(int i = 65; i > 29; i--) {
    topServo.write(i);
    delay(2);
  } 
  delay(200);
  
  for(int i = 29; i < 115; i++) {
    topServo.write(i);
    delay(2);
  }
  color=0;
   
}

// Custom Function - readColor()
int readColor() {
  // Setting red filtered photodiodes to be read
  digitalWrite(S2, LOW);
  digitalWrite(S3, LOW);
  // Reading the output frequency
  frequency = pulseIn(sensorOut, LOW);
  R = frequency;
  // Printing the value on the serial monitor
  Serial.print("R= ");//printing name
  Serial.print(frequency);//printing RED color frequency
  Serial.print("  ");
  delay(50);

  // Setting Green filtered photodiodes to be read
  digitalWrite(S2, HIGH);
  digitalWrite(S3, HIGH);
  // Reading the output frequency
  frequency = pulseIn(sensorOut, LOW);
  G = frequency;
  // Printing the value on the serial monitor
  Serial.print("G= ");//printing name
  Serial.print(frequency);//printing RED color frequency
  Serial.print("  ");
  delay(50);

  // Setting Blue filtered photodiodes to be read
  digitalWrite(S2, LOW);
  digitalWrite(S3, HIGH);
  // Reading the output frequency
  frequency = pulseIn(sensorOut, LOW);
   B = frequency;
  // Printing the value on the serial monitor
  Serial.print("B= ");//printing name
  Serial.print(frequency);//printing RED color frequency
  Serial.println("  ");
  delay(50);
   

  if(R<60 & R>53 & G<65 & G>56 & B>38 & B<45 ){
    color = 1; // BROWN
  }

  if(G<43 & G>38 & B<28 & B>23 & R>38 & R<44 ){
    color = 3; // BLUE
  }

  return color;  
}


Power Point:


















Video YouTube:

Github:

Komentar