Kontak

Email | elektronikaabcd2015@gmail.com

Search This Blog

MENU

Thursday, January 4, 2018

PENYELEKSI BOLA PINGPONG BERDASARKAN WARNA

PENYELEKSI BOLA PINGPONG BERDASARKAN WARNA

Emilia Novasari1, Irvan Maulana M2, Wisnu Giri Kencono3, Samuel BETA.4
Mahasiswa dan Dosen Program Studi Teknik Elektronika, Jurusan Teknik Elektro,
Politeknik Negeri Semarang
Jl. Prof. H. Soedarto, SH, Tembalang, Semarang, Indonesia


Intisari -- Dalam pembacaan warna dibutuhkan alat pendeteksi warna yaitu dengan menggunakan sensor warna. Maka dalam penelitian ini dibuatlah aplikasi Arduino menggunakan masukan sensor warna TCS3200 dengan luaran suara (DFPlayer dan speaker).
Kata Kunci : Arduino, Sensor Warna (TCS3200), DFPlayer, Speaker
    AbstractIn reading the color required color detection tool by using a color sensor. 
    So in this   study was made using the Arduino application TCS3200 color sensor input with 
    voice output (DFPlayer and speakers).

Keyword : Arduino, TCS3200 Color sensor, DFPlayer, Speaker




1.    PENDAHULUAN


1.1              Latar Belakang
Seiring dengan perkembangan teknologi dan ilmu pengetahuan, akhir-akhir ini bidang elektronika mengalami kemajuan yang pesat. Dengan kemajuan tersebut, membuat manusia selalu berusaha memanfaatkan teknologi yang ada untuk mempermudah kehidupannya. Karena tidak setiap manusia memiliki kemampuan untuk mangenali warna, maka dari itu kami membuat alat pembaca warna otomatis dengan output suara yang ditujukan untuk membantu penyandang tunanetra dan buta warna dan juga bisa digunakan sebagai modul pembelajaran.

1.2        Tujuan
Tujuan pembuatan alat ini adalah :
1.        Sebagai modul pembelajaran
2.        Sebagai alat pembantu pembacaan warna bagi penyandang tunanetra dan buta warna.

1.3       Rumusan Masalah
Berdasarkan latar belakang, akan ditentukan beberapa rumusan masalah, yaitu:
1.        Bagaimana cara kerja sensor TCS3200 sebagai pendeteksi warna?
2.        Bagaimana cara menampilkan output suara?
3.        Bagaimana cara kerja motor servo SG90?

1.4           Pembatasan Masalah
Adapun yang membatasi alat ini adalah :
1.        Membaca warna dengan sensor warna TCS3200
2.        Menggunakan suara (DFplayer dan speaker) untuk keluarannya
3.        Mengetahui cara kerja dari motor servo SG90

1.5              Metodologi
Target proyek ini menjalankan program yang dapat diimplementasikan langsung terhadap alat. Langkah- langkah pembuatan Proyek Arduino dapat didefinisikan sebagai berikut :
1.        Studi pustaka alat dan bahan
2.        Perancangan perangkat lunak dan program
3.        Implementasi program
4.        Pengujian perangkat lunak dan perangkat keras
5.        Analisa
6.        Laporan

1.    TINJAUAN PUSTAKA
Penjelasan dan uraian teori penunjang yang digunakan dalam membuat alat ini diperlukan untuk mempermudah pemahaman tentang cara kerja rangkaian maupun dasar-dasar perencanaan pembuatan alat.
1.1               Arduino

Gambar 2.1 Papan Arduino
Arduino adalah papan mikrokontroler berdasarkan ATmega328 (datasheet). Arduino ini berisi semua yang diperlukan untuk mendukung mikrokontroler, untuk mengaktifkan cukup menghubungkannya ke komputer dengan kabel USB dengan adaptor AC-DC atau baterai.
“Arduino Uno beroperasi pada tegangan eksternal dari 6-20 volt. ATmega328 ini memiliki memori sebesar 32 KB (0,5 KB dari memori tersebut digunakan untuk bootloader) dan juga memiliki memori sebesar 2 KB dari SRAM dan 1 KB dari EEPROM.
Arduino menggunakan software processing tersendiri penggabungan dari bahasa C++ dan Java.” Arif (2012:1)


”Software Arduino dapat diinstal di berbagai sistem operasi seperti: LINUX, Mac OS, Windows. Software IDE Arduino terdiri dari 3(tiga) bagian:
1.    Editor Program, untuk menulis program dalam bahasa processing. Listing program pada Arduino disebut sketch.
2.    Compiler, modul yang berfungsi mengubah bahasa prosesing (kode program) kedalam kode biner karena kode biner adalah satu satunya bahasa program yang dipahami oleh mikrokontroler.
3.    Uploader, modul yang berfungsi memasukan kode biner kedalam memori mikrokontroler.
Arduino Uno memiliki 14 digital input / output pin (dimana 6 dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya terhubung ke komputer dengan kabel USB atau kekuasaan itu dengan adaptor atau baterai AC-to-DC untuk memulai.
Uno berbeda dari semua papan sebelumnya dalam hal itu tidak menggunakan FTDI chip driver USB-to-serial. Sebaliknya, fitur Atmega16U2 (Atmega8U2 sampai versi R2) diprogram sebagai konverter USB-to-serial.
Uno memiliki resistor menarik garis 8U2 HWB ke tanah, sehingga lebih mudah untuk dimasukkan ke dalam mode DFU . memiliki fitur baru sebagai berikut:
1.    Pin out: tambah SDA dan pin SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, yang IOREF yang memungkinkan perisai untuk beradaptasi dengan tegangan yang disediakan dari papan. Di masa depan, perisai akan kompatibel dengan kedua papan yang menggunakan AVR, yang beroperasi dengan 5V dan dengan Arduino Karena yang beroperasi dengan 3.3V. Yang kedua adalah pin tidak terhubung, yang dicadangkan untuk tujuan masa depan.
2.    Sirkuit RESET kuat.
3.    16U2 atmega menggantikan 8U2.

1.2   Sensor TCS3200
TCS3200 and TCS3210 merupakan konverter yang diprogram untuk mengubah warna menjadi frekuensi yang tersusun atas konfigurasi silicon photodiode dan konverter arus ke frekuensi dalam IC CMOS monolithic yang tunggal. Keluaran dari sensor ini adalah gelombang kotak (duty cycle 50%) frekuensi yang berbanding lurus dengan intensitas cahaya (irradiance).
Di dalam TCS3200, konverter cahaya ke frekuensi membaca sebuah array 8x8 dari photodioda, 16 photodioda mempunyai penyaring warna biru, 16 photodioda mempunyai penyaring warna merah, 16 photodioda mempunyai penyaring warna hijau, dan 16 photodioda untuk warna terang tanpa penyaring.
4 tipe warna dari photodiode telah diintegrasikan untuk meminimalkan efek ketidak seragaman dari insiden irradiance. Semua photodiode dari warna yang sama telah terhubung secara parallel. Pin S2 dan S3 digunakan untuk memilih grup dari photodiode(merah, hijau, biru, jernih) yang telah aktif.
Fitur Sensor TCS3200 antara lain :
1.      Konversi Tinggi Resolusi Intensitas Cahaya ke Frekuensi
2.      Warna Diprogram dan Full Skala Frekuensi Keluaran
3.      Berkomunikasi Langsung Dengan Microcontroller
4.      Pasokan tunggal Operasi (2,7 V sampai 5,5 V)
5.      Mempunyai Power Down Fitur
6.      Kesalahan Nonlinier Biasanya 0,2% pada 50 kHz
7.      Stabil 200 ppm / ° C Koefisien Suhu
8.      Bebas Timbal (Pb) dan RoHS-Kompatibel Paket “Surface Mount”





Catatan Penggunaan :
         Tegangan,VDD = 6V
         Jarak tegangan masukan, Semua masukan,Vi = −0.3 V to VDD + 0.3 V
         Suhu untuk beroperasi = −40°C to 85°C
         Suhu untuk penyimpanan = −40°C to 85°C
         Temperatur maksimum penyolderan sesuai dengan JEDEC J-STD-020A = 260°C

1.3  DFplayer
DFPlayer adalah  modul audio sederhana yang berfungsi untuk mentransmisikanfile audio dari SD Card ke mikrokontroller arduino. Dfplayer ini juga bisa berdiri sendiri hanya dengan dipasang baterai , speaker dan tombol. Modul ini juga bisa dikombinasikan dengan Arduino Uno atau mikrikontroller  lainnya dengan kemampuan Receiver (RX) / Transmitter (Tx).
DFPlayer adalah sebuah modul yang cukup sempurna yang terintegrasi modul decoding, yang mendukung format audio yang umum seperti Mp3, Wav, dan WMA. Selain itu juga mendukung kartu TF dengan sistem file FAT16 dan FAT32.


Gambar 2.6 DFPlayer
Pin out DFPlayer:
1.      Pin 1 = VCC                                                            9. Pin 9 = BUSY
2.      Pin 2 = RX                                                              10. Pin 10 = USB -
3.      Pin 3 = TX                                                               11. Pin 11 = USB +
4.      Pin 4 = DAC_R                                                       12. Pin 12 = ADKEY_2
5.      Pin 5 = DAC_I                                                        13. Pin 13 = ADKEY_1
6.      Pin 6 = SPK_1                                                         14. Pin 14 = IO_2
7.      Pin 7 = GND                                                           15. Pin 15 = GND
8.      Pin 8 = SPK_2                                                         16. Pin 16 = IO_1

1.4  Speaker
Pengeras suara (loud speaker atau speaker) adalah transduser yang mengubah sinyal elektrik ke frekuensi audio (suara) dengan cara menggetarkan komponennya yang berbentuk membran untuk menggetarkan udara sehingga terjadilah gelombang suara sampai di kendang telinga kita dan dapat kita dengar sebagai suara.
Dalam setiap sistem penghasil suara (loud speaker), pengeras suara merupakan juga menentukan kualitas suara di samping juga peralatan pengolah suara sebelumnya yang masih berbentuk listrik dalam rangkaian penguat amplifier.
Sistem pada pengeras suara adalah suatu komponen yang mengubah kode sinyal elektronik terakhir menjadi gerakan mekanik.

Gambar 2.7 Speaker


Gambar 2.8 Bagian-bagian Speaker
Pada gambar diatas, dapat kita lihat bahwa pada dasarnya Speaker terdiri dari beberapa komponen utama yaitu Cone, Suspension, Magnet Permanen, Voice Coil dan juga Kerangka Speaker.
Dalam rangka menterjemahkan sinyal listrik menjadi suara yang dapat didengar, Speaker memiliki komponen Elektromagnetik yang terdiri dari Kumparan yang disebut dengan Voice Coil untuk membangkitkan medan magnet dan berinteraksi dengan Magnet Permanen sehingga menggerakan Cone Speaker maju dan mundur. Voice Coil adalah bagian yang bergerak sedangkan Magnet Permanen adalah bagian Speaker yang tetap pada posisinya. Sinyal listrik yang melewati Voice Coil akan menyebabkan arah medan magnet berubah secara cepat sehingga terjadi gerakan “tarik” dan “tolak” dengan Magnet Permanen. Dengan demikian, terjadilah getaran yang maju dan mundur pada Cone Speaker.
Cone adalah komponen utama Speaker yang bergerak. Pada prinsipnya, semakin besarnya Cone semakin besar pula permukaan yang dapat menggerakan udara sehingga suara yang dihasilkan Speaker juga akan semakin besar.
Suspension yang terdapat dalam Speaker berfungsi untuk menarik Cone ke posisi semulanya setelah bergerak maju dan mundur. Suspension juga berfungsi sebagai pemegang Cone dan Voice Coil. Kekakuan (rigidity), komposisi dan desain Suspension sangat mempengaruhi kualitas suara Speaker itu sendiri.

1.5  Motor Servo SG90
Motor servo adalah sebuah motor DC dengan sistem umpan balik tertutup di mana posisi rotor-nya akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer, dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor servo.






 
Gambar 2.9 Motor Servo SG90

3.             METODE PEMBUATAN ALAT
Dalam perancangan dalam pembuatan penelitian ini yaitu alat pembaca warna, terdiri atas perancangan mekanik (hardware) yang meliputi perancangan elektrik, dan perancangan perangkat lunak (software). Perancangan ini mempunyai gambaran perancangan hardware, yang didalamnya ada beberapa rangkaian elektrik yang medukung alat ini.
3.1 Perangkat keras dan Rangkaian Elektronika
      Adapun sistem yang digunakan yaitu :
  1. Arduino Uno
  2. SensorWarna TCS3200
  3. Motor Servo
  4. Speaker
  5. DFPlayer
3.2 Diagram Blok



3.3 Perancangan Perangkat Lunak
Perangkat lunak ini berfungsi untuk mengatur kinerja secara keseluruhan dari sistem. Perangkat lunak untuk alat ini menggunakan software Arduino. Untuk memberikan gambaran umum jalannya program dan memudahkan pembuatan perangkat lunak maka dibuatlah diagram alir sebagai berikut:



Gambar 3.1 Diagram Blok Perancangan alat

1.      Perancangan hardware
Perancangan dan pembuatan elektrik ini meliputi pembuatan sensor warna  dan suara (DFPlayer dan Speaker) serta motor servo. DFPlayer ini memiliki 16 pin dan bekerja pada tegangan 5v. Speaker memiliki 2 buah pin yaitu pin positif (+) dan negatif (-) dengan sumber tegangan 5v.

2.      Perancangan software
Untuk diagram alir, program aplikasi Arduino menggunakan masukan sensor warna dengan keluaran suara (DFPlayer dan Speaker) dan motor servo.
Gambar 3.2 Diagram Alir
3.  Pembuatan alat
Dalam pembuatan alat ini dapat dilakukan dengan beberapa tahap, yaitu:
1.      Membuat perencanaan bagan alat
2.      Membuat skema pengawatan
3.      Menyusun rangkaian sesuai skema pengawatan
4.      Membuat program untuk arduino menggunakan software Arduino uno
5.      Pembuatan kerangka alat
6.      Pemasangan rangkaian pada kerangka alat
7.      Kalibrasi alat


4.      HASIL DAN PEMBAHASAN


4.1  List Program
                                
#include <Servo.h>

#include <SoftwareSerial.h>     // Library SofwareSerial
#include <DFPlayer_Mini_Mp3.h>  // Library DF Player Mini
Servo pemisah;
Servo penendang;
#define S0          2           // Pin S0 Sensor TCS3200
#define S1          3           // Pin S1 Sensor TCS3200
#define S2          4           // Pin S2 Sensor TCS3200
#define S3          5           // Pin S3 Sensor TCS3200
#define sensorOut   6           // Pin Sensor Out Sensor TCS3200


SoftwareSerial mySerial(7, 8);// RX TX
int R,    // Variabel penyimpan hasil pembacaan frekuensi warna Merah
    G,    // Variabel penyimpan hasil pembacaan frekuensi warna Hijau
    B;    // Variabel penyimpan hasil pembacaan frekuensi warna Biru


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);         // Set baudRate 9600
  pemisah.attach(9);          // Set servo Pemisah Jalur kanan/kiri
  penendang.attach(10);       // Set servo Penendang
  mySerial.begin(9600);       // Inisialisasi Software Serial
  mp3_set_serial(mySerial);   // atur softwareSerial untuk modul mp3 DFPlayer
  pinMode(S0, OUTPUT);        // atur pin S0 sebagai Luaran
  pinMode(S1, OUTPUT);        // atur pin S1 sebagai Luaran
  pinMode(S2, OUTPUT);        // atur pin S2 sebagai Luaran
  pinMode(S3, OUTPUT);        // atur pin S3 sebagai Luaran
  pinMode(sensorOut, INPUT);  // atur pin SensorOut sebagai Masukan
  digitalWrite(S0, HIGH);     // keluarkan Logika Tinggi ke pin S0
  digitalWrite(S1, LOW);      // keluarkan Logika Rendah ke pin S0
  delay(1);                   // tunda
  mp3_set_volume(60);         // atur volume modul ke nilai 30 (maksimal)
  delay(500);                 // Tunda
  pemisah.write(40);          // keluarkan perintah terhadap servo pemisah
  penendang.write(90);        // keluarkan perintah terhadap seervo penendang
  // tunda 500 milidetik
}

void loop() {
  // put your main code here, to run repeatedly:
  baca_warna();
  if ( (R >= 70 && R <= 200) && (G >= 140  && G <= 240) && (B >= 110 && B <= 200) ) { // Simpan Hasil Pembacaan Warna putih
    delay(800);                   // tunda 800 milidetik untuk memulai pembacaan Warna Bola
    //penendang.write(135);
    Serial.println("PUTIH");      // Tampilkan pesan ke Serial Monitor
    mp3_play(1);                  // mainkan berkas suara nomor 1
    delay(3000);                  // tunda 3 detik untuk memainkan suara
    pemisah.write(20);            // Keluarkan Perintah pada Servo Pemisah jalur bola pingpong
    penendang.write(170);         // Keluarkan Perintah pada Servo Penendang bola
    delay(4000);                  // tunda 4 detik untuk mengembalikan servo kembali semula
    pemisah.write(40);            // Keluarkan Perintah untuk mengembalikan Servo Pemisah pada keadaan semula
    penendang.write(90);          // Keluarkan Perintah untuk mengembalikan Servo Penendang pada keadaan semula
  }

  if ( (R >= 60 && R <= 170 ) && (G >= 120  && G <= 200 ) && (B >= 200 && B <= 270) ) { // Simpan Hasil Pembacaan Warna Kuning
    delay(800);
   
    Serial.println("KUNING");      // Tampilkan pesan ke Serial Monitor
    mp3_play(2);                  // mainkan berkas suara nomor 2
    delay(3000);                  // tunda 3 detik untuk memainkan suara
    pemisah.write(60);            // Keluarkan perintah pada servo pemisah jalur bola pingpong
    penendang.write(170);         // Keluarkan perintah pada servo penendang bola
    delay(4000);                  // tunda 4 detik untuk mengembalikan servo kembali semula
    pemisah.write(40);            // keluarkan perintah untuk mengembalikan servo pemisah pada keadaan semula
    penendang.write(90);          // keluarkan perintah untuk mengembalikan servo penendang pada keadaan semula
  }
}


void baca_warna() {
  // aktifkan filter Merah TCS3200
  digitalWrite(S2, LOW);        // beri logika Rendah ke pin S2
  digitalWrite(S3, LOW);        // beri logika Rendah ke pin S3
  R = pulseIn(sensorOut, LOW);  // simpan frekuensi pembacaan Merah ke variabel R
  Serial.print("R= ");          // Tampilkan pesan "R= " ke Serial Monitor
  Serial.print(R);              // Tampilkan frekuensi R ke Serial Monitor
  Serial.print("  ");           // Tampilkan spasi
  delay(50);                    // tunda 150 milidetik

  // aktifkan filter Hijau TCS3200
  digitalWrite(S2, HIGH);       // beri logika Tinggi ke pin S2
  digitalWrite(S3, HIGH);       // beri logika Tinggi ke pin S3
  G = pulseIn(sensorOut, LOW);  // simpan frekuensi pembacaan Hijau ke variabel G
  Serial.print("G= ");          // Tampilkan pesan "G= " ke Serial Monitor
  Serial.print(G);              // Tampilkan frekuensi G ke Serial Monitor
  Serial.print("  ");           // Tampilkan spasi
  delay(50);                    // tunda 150 milidetik

  // aktifkan filter Biru TCS3200
  digitalWrite(S2, LOW);        // beri logika Rendah ke pin S2
  digitalWrite(S3, HIGH);       // beri logika Tinggi ke pin S3
  B = pulseIn(sensorOut, LOW);  // simpan frekuensi pembacaan Biru ke variabel B
  Serial.print("B= ");          // Tampilkan pesan "B= " ke Serial Monitor
  Serial.print(B);              // Tampilkan frekuensi B ke Serial Monitor
  Serial.println("  ");         // Tampilkan spasi
  delay(50);                    // tunda 150 milidetik
}

//putoh + hitam -
4.2.1        Pembahasan Program
Pada program arduino ini akan digunakan untuk menunjukkan warna dengan DFPlayer mini. Untuk mengontrol DFPlayer mini, sketch memanfaatkan pustaka DFPlayer_Mini_Mp3.h yang kita tambahkan pada software arduino. Itulah sebabnya, di sketch terdapat perintah :
#include <DFPlayer_Mini_Mp3.h>  // Library DF Player Mini
Di sketch terdapat baris :
// Library DF Player Mini
Oleh arduino, semua tulisan yang dimulai dengan tanda // hingga akhir baris diperlakukan sebagai komentar. Komentar adalah keterangan yang ditujukan untuk pembaca maupun pembuat sketch. Kode seperti itu tidak diterjemahkan ke dalam binary sketch. Pernyataan di sketch selalu diakhiri dengan titik koma.
Pernyataan adalah instruksi lengkap yang dapat dibayangkan seperti kalimat yang digunakan oleh manusia. Bukankah kalimat selalu diakhiri dengan titik? Nah, bedanya, pernyataan di bahasa arduino diakhiri dengan titik koma.
Pernyataan  #define S0 2  // Pin S0 Sensor TCS3200; digunakan untuk mendefinisikan nama konstanta (konstanta so terletak di pin 2 pada arduino). Dalam hal ini const menyatakan bahwa s0 adalah konstanta dan int menyatakan tipe data untuk konstanta tersebut. Pada bahasa arduino, int berarti integer atau bilangan bulat. Konstanta ini akan dikenal semua bagian yang terletak sesudah konstanta tersebut didefinisikan.
Pernyataan Int R, //Variabel penyimpan hasil pembacaan frekuensi warna Merah; berfungsi untuk mendeklarasikan variabel bernama R dengan tipe data berupa int. Dalam hal ini, int menyatakan tipe data bilangan bulat. Dengan demikian hanya bilangan bulat yang bisa disimpan di dalam variabel tersebut.
Pernyataan SoftwareSerial mySerial(11,10); // RX, TX digunakan untuk menyatakan komunikasi serial.
Untuk menentukan baudrate (kecepatan) pembacaan data terdapat pada pernyataan Serial.begin(9600);
Kode berikutnya mengandung 2 fungsi. Fungsi adalah kumpulan pernyataan yang diberi nama. Pada contoh sketch di atas, setup dan loop adalah nama nama fungsi. Kedua fungsi tersebut selalu ada di sketch. Isinya saja yang membedakan antara satu sketch dengan sketch lain.
Suatu fungsi diawali dengan tipe data nilai yang dihasilkan oleh fungsi. Nilai yang dihasilkan oleh fungsi biasa disebut sebagai nilai balik. void berarti “tidak ada nilai balik”.
Fungsi setup() adalah nama fungsi yang telah disediakan oleh arduino untuk menyatakan fungsi yang akan dijalankan pertama kali. Fungsi ini berisi kode-kode untuk kepentingan inisialisasi.
Selanjutnya, pernyataan-pernyataan yang berada di setup() berupa:
  void setup(){
  Serial.begin(9600);         // Inisialisasi Serial
  mySerial.begin(9600);       // Inisialisasi Software Serial
  mp3_set_serial(mySerial);  // atur softwareSerial untk modul                                                                                  mp3 DFPlayer
 
  pinMode(S0,OUTPUT);         // atur pin S0 sebagai Luaran
  pinMode(S1,OUTPUT);         // atur pin S1 sebagai Luaran
  pinMode(S2,OUTPUT);         // atur pin S2 sebagai Luaran
  pinMode(S3,OUTPUT);         // atur pin S3 sebagai Luaran
  pinMode(sensorOut,INPUT); // atur pin SensorOut sebagai Masukan
  digitalWrite(S0,HIGH);      // keluarkan Logika Tinggi ke pin S0
  digitalWrite(S1,LOW);       // keluarkan Logika Rendah ke pin S0
  pinMode(13,OUTPUT);
delay(1);                                                         // tunda 100 milidetik untk atur volume modul
mp3_set_volume(30);                                   // atur volume modul kenilai 30(maksimal)
  delay(500);                 // tunda 500 milidetik
  digitalWrite(13,HIGH);
}

Fungsi loop() adalah fungsi yang secara otomatis dijalankan oleh arduino setelah fungsi setup() dieksekusi. Seluruh kode yang ada di fungsi dengan sendirinya akan diulang secara terus menerus. Satu-satunya yang bisa menghentikan eksekusi loop() adalah berhentinya pasokan catu daya ke papan arduino. Dan pernyataan-pernyataan yang berada di loop() berupa:
/*
 * Program Utama
 */
void loop() {
  baca_warna();                                   // Baca Warna

  // Bandingkan hasil pembacaan sensor dengan referensi warna BIRU MUDA
if( (R >= 90 && R <= 120) && (G >= 60 && G <= 80) && (B >= 20 && B <= 30) ){
    Serial.println("BIRU MUDA");  // Tampilkan pesan ke Serial Monitor
    mp3_play(1);                  // mainkan berkas suara nomor 1 
    delay(3000);                                       // tunda 3 detik utk memainkan suara
}
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna BIRU
if( (R >= 250 && R <= 320) && (G >= 180 && G <= 210) && (B >= 50 && B <= 70) ){
    Serial.println("BIRU");      // Tampilkan pesan ke Serial Monitor
    mp3_play(2);                 // mainkan berkas suara nomor 2 
    delay(3000);                 // tunda 3 detik untuk memainkan suara
}
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna HIJAU
if( (R >= 180 && R <= 250) && (G >= 150 && G <= 200) && (B >= 55 && B <= 90) ){
    Serial.println("HIJAU");    // Tampilkan pesan ke Serial Monitor
    mp3_play(3);                // mainkan berkas suara nomor 3 
    delay(3000);                // tunda 3 detik untuk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna KUNING
if( (R >= 50 && R <= 70) && (G >= 50 && G <= 80) && (B >= 20 && B <= 30) ){
    Serial.println("KUNING");   // Tampilkan pesan ke Serial Monitor
    mp3_play(4);                // mainkan berkas suara nomor 4
    delay(3000);                // tunda 3 detik untuk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna MERAH
if( (R >= 110 && R <= 135) && (G >= 330 && G <= 355) && (B >= 60 && B <= 80) ){
    Serial.println("MERAH");  // Tampilkan pesan ke Serial Monitor
    mp3_play(5);              // mainkan berkas suara nomor 5
    delay(3000);              // tunda 3 detik untuk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna UNGU
if( (R >= 130 && R <= 160) && (G >= 130 && G <= 170) && (B >= 20 && B <= 40) ){
    Serial.println("UNGU");  // Tampilkan pesan ke Serial Monitor
    mp3_play(6);             // mainkan berkas suara nomor 6
    delay(3000);             // tunda 3 detik untuk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna ORANYE
if( (R >= 80 && R <= 110) && (G >= 160 && G <= 200) && (B >= 40 && B <= 60) ){
    Serial.println("ORANYE");  // Tampilkan pesan ke Serial Monitor
    mp3_play(7);               // mainkan berkas suara nomor 7
    delay(5000);               // tunda 3 detik untuk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengn referensi warna MERAH MUDA
if( (R >= 50 && R <= 90) && (G >= 80 && G <= 110) && (B >= 10 && B <= 40) ){
    Serial.println("MERAH MUDA"); // Tampilkan pesan ke Serial Monitor
    mp3_play(8);                  // mainkan berkas suara nomor 8
    delay(5000);                                       // tunda 3 detik untk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna COKELAT
if( (R >= 190 && R <= 220) && (G >= 270 && G <= 295) && (B >= 70 && B <= 90) ){
    Serial.println("COKELAT");    // Tampilkan pesan ke Serial Monitor
    mp3_play(9);                  // mainkan berkas suara nomor 9
    delay(5000);                                       // tunda 3 detik untk memainkan suara
               }
 
  // Bandingkan hasil pembacaan sensor dengan referensi warna HITAM
if( (R >= 400 && R <= 550) && (G >= 400 && G <= 470) && (B >= 130 && B <= 150) ){
    Serial.println("HITAM");      // Tampilkan pesan ke Serial Monitor
    mp3_play(10);                 // mainkan berkas suara nomor 10
    delay(5000);                 // tunda 3 detik untuk memainkan suara
               }
  } 

/*    
 * Sub program baca warna
 */
void baca_warna(){
  // aktifkan filter Merah TCS3200
  digitalWrite(S2,LOW);         // beri logika Rendah ke pin S2
  digitalWrite(S3,LOW);         // beri logika Rendah ke pin S3
  R = pulseIn(sensorOut,LOW);  // simpan f pembacaan Merah kevariabel R
  Serial.print("R= ");        // Tampilkan pesan "R= “ ke SerialMonitor
  Serial.print(R);                 // Tampilkan frekuensi R ke SerialMonitor
  Serial.print("  ");         // Tampilkan spasi
  delay(50);                  // tunda 150 milidetik

  // aktifkan filter Hijau TCS3200
  digitalWrite(S2,HIGH);      // beri logika Tinggi ke pin S2
  digitalWrite(S3,HIGH);      // beri logika Tinggi ke pin S3
  G = pulseIn(sensorOut,LOW); // simpan f pembacaan Merah kevariabel R
  Serial.print("G= ");                          // Tampilkan pesan "G= " ke SerialMonitor
  Serial.print(G);            // Tampilkan frekuensi G ke SerialMonitor
  Serial.print("  ");         // Tampilkan spasi
  delay(50);                  // tunda 150 milidetik

  // aktifkan filter Biru TCS3200
  digitalWrite(S2,LOW);       // beri logika Rendah ke pin S2
  digitalWrite(S3,HIGH);      // beri logika Tinggi ke pin S3
  B = pulseIn(sensorOut,LOW); // simpan f pembacaan Merah ke variabel R
  Serial.print("B= ");                           // Tampilkan pesan "B= " ke SerialMonitor
  Serial.print(B);            // Tampilkan frekuensi B ke SerialMonitor
  Serial.println("  ");       // Tampilkan spasi
  delay(50);                  // tunda 150 milidetik
}

4.3  Pembahasan
Sensor TCS3200 digunakan sebagai detektor warna dengan memanfaatkan 4 buah filter warna yaitu clear, merah, hijau dan biru. Dari warna warna yang dideteksi oleh sensor menghasilkan range panjang gelombang yang berbeda-beda meliputi komposisi warna Red, Green dan Blue. Output dari sensor warna berupa frekuensi yang akan dibaca oleh arduino. Frekuensi yang dihasilkan oleh masing-masing warna akan menentukan suara yang akan diputar oleh DFPplayer.
Output suara pada DFplayer dapat diputar secara urut maupun acak dengan menggunakan nilai frekuensi yang telah dihasilkan oleh masing-masing warna. Agar suara yang dihasilkan sesuai dengan warna yang dideteksi digunakan fungsi if pada program. Salah satu hal yang harus diperhatikan untuk mengaktifkan DFplayer yaitu penempatan file suara yang akan diputar.
Cara menggunakan DFPlayer :
1.      Modul DFPlayer menggunakan memory microSD sebagai tempat penyimpanan file rekaman suara nama warna. Module DFPlayer mendukung memory microSD hingga kapasitas 32GB, namun lebih baik menggunakan microSD dengan kapasitas maksimal 8GB.
2.      Perekaman nama warna dapat dilakukan dengan memanfaatkan aplikasi perekam suara pada handphone atau tape recorder, setelah itu disimpan pada memory SDcard.
Selanjutnya dilakukan inisialisasi dengan dua sevo sebagai penendang bola dan pengarah jalur pada bola pingpong.
4.5.1 Pengujian alat
Dalam proyek yanng kami buat, perlu diuji untuk menentukan keakuratan alat sebagai alat deteksi, adapun langkah - langkah cara pengujian yang akan kami lakukan adalah :
1.      Mengkalibrasi alat yang akan diukur, apakah sudah sesuai dengan  program  yang dibuat atau belum.
2.      Memasukkan input berupa 2 warna bola pingpong untuk dibaca sensor kemudian diproses oleh Arduino yang kemudian ditampilkan output berupa suara (DFplayer dan Speaker).

1.      KESIMPULAN
1.      Sensor warna berfungsi untuk mendeteksi warna sesuai dengan kertas warna yang di berikan
2.      Penggunaan sensor warna sebagai inputan menggunakan analog dan digital
3.      Hasil yang akan ditampilkan ke DFPlayer dan Speaker  berupa suara yang akan berbunyi sesuai dengan warna bola yang diberikan

2.      DAFTAR PUSTAKA

3.      LAMPIRAN
Tampak Samping

Tampak Atas
Tampak Depan
Gambar Rangkaian
Gambar Perkawatan Dalam



Gambar Perkawatan Luar




Lampiran :



Emilia Novasari. Penulis dilahirkan di Kudus, tanggal 06 Agustus 1997. Penulis telah menempuh pendidikan formal di SD N 2 Pasuruhan Lor, SMP N 1 Jati Kudus, dan SMA N 2 Kudus. Tahun 2015 penulis telah menyelesaikan pendidikan SMA. Pada tahun 2015 penulis mengikuti seleksi mahasiswa baru diploma (D3) dan diterima menjadi mahasiswa baru diploma (D3) di kampus Politeknik Negeri Semarang (Polines) dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM. 3.32.15.2.05. Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa melalui via email: novasariemilia@gmail.com 
 





Irvan Maulana Muharram. Penulis dilahirkan di Blora, tanggal 26 Mei 1997. Penulis telah menempuh pendidikan formal di SD N Palebon 04-05, SMP IT Harapan Bunda Semarang, dan SMA Islam Sultan Agung 1 Semarang. Tahun 2015 penulis telah menyelesaikan pendidikan SMA. Pada tahun 2015 penulis mengikuti seleksi mahasiswa baru diploma (D3) dan diterima menjadi mahasiswa baru diploma (D3) di kampus Politeknik Negeri Semarang (Polines) dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM. 3.32.15.2.09. Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa melalui via email: m_irvan026@yahoo.com






Nama penulis Wisnu Giri Kencono. Penulis dilahirkan di Boyolali tanggal 09 Juli 1997. Penulis telah menempuh pendidikan formal di SDN 2 Manggis Boyolali, SMPN 4 Boyolali, dan SMA N 3 Boyolali. Tahun 2015 penulis telah menyelesaikan pendidikan SMA. Pada tahun 2015 penulis mengikuti seleksi mahasiswa baru diploma (D3) dan diterima menjadi mahasiswa baru diploma (D3) di kampus Politeknik Negeri Semarang (Polines) dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM. 3.32.15.2.22. Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa melalui via email : wisnugiri025@gmail.com 

 








1. Download Presentasi Power Point : Klik disini
2. Diagram Alir : Klik disini
3. Program Arduino :Klik disini
4. Diagram Perkawatan Dalam :Klik disini
5. Diagram Blok :Klik disini
6. Diagram Perkawatab Luar :Klik disini
7. Gambar Rangkaian :Klik disini

No comments:

Post a Comment