Gambar 4.3 Rangkaian Limit Switch
Dari pengujian yang dilakukan, fungsi limit switch sebagai trigger pada pintu lemari berbicara ini dapat berfungsi dengan baik dan tidak mempunyai kendala dalam
menghambat proses pengujian. Tabel 4.8
Implementasi Tegangan Keluaran Limit Switch Kondisi tombol
Tegangan keluaran Ditekan
4.12 V Tidak ditekan
Data yang diperoleh pada tabel 4.7 adalah data saat saklar ditekan dan saklar tidak ditekan. Pengujian saklar ini menunjukkan bahwa saat ditekan tegangan keluaran bernilai
4.12 V. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.3 Perangkat Lunak
Perangkat lunak atau program yang terdapat pada mikrokontroller dibuat untuk menunjang kerja dari sistem lemari berbicara berbasis mikrokontroller ini. Dalam sistem
ini terdapat sebuah program utama dan empat sub program. Program utama berisi inisialisasi pin pada Arduino sebagai input dan output, pembacaan SD Card untuk
membaca data suara, pembacaan warna wadah oleh sensor warna, dan selektor sensor warna yang aktif serta mengeluarkan keluaran suara dengan menggunakan limit switch.
Inisialisasi IO bertujuan agar komponen yang terpasang pada Arduino dapat berfungsi dengan baik sesuai dengan konfigurasi IO yang telah ditentukan. Pengaturan ini dapat
dilakukan dengan cara perintah pinMode. Inisialisasi IO ini ditulis di dalam void setup pada program tersebut. Program inisialisasi IO ditunjukkan pada gambar 4.5.
Gambar 4.4. Inisialisasi input dan output Peran limit switch pada program adalah sebagai selektor yang berfungsi untuk
memilih sensor warna mana yang akan dijalankan untuk melakukan scanning warna serta mengeluarkan data suara di dalam SD Card. Nilai limit switch yang dibaca oleh program
Arduino sebagai trigger untuk selektor adalah LOW. Jika limit switch tidak ditekan atau bernilai LOW, maka program akan mengaktifkan kondisi syarat yang terdapat pada
pengaturan sensor warna. Selanjutnya sensor warna akan melakukan scanning sesuai dengan kalibrasi yang telah dilakukan sebelumnya. Program pemilihan sensor yang aktif
dapat dilihat pada gambar 4.6. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.5. Program Selektor Sensor Warna
Agar Arduino dapat membaca nilai pada suatu komponen, maka pin yang terhubung dari komponen ke Arduino harus dituliskan dalam program yaitu digitalRead.
Variabel dalam kurung adalah nama variabel yang sebelumnya sudah ada pada void setup. Setelah itu pengaturan suatu syarat kondisi harus dilakukan agar program dapat
mengetahui kapan program sensor warna akan dijalankan. Pada program di atas perintah if digunakan sebagai syarat untuk melakukan suatu perinta program tergantung pada
kondisi tersebut. Perintah ifval=LOW adalah perintah untuk membuat kondisi bahwa jika nilai limit switch bernilai LOW maka program akan langsung menjalankan perintah
program yang ada di bawahnya. Warna yang dideteksi oleh sensor warna TCS3200 harus dikalibrasi terlebih
dahulu. Hal ini karena setiap warna mempunyai intensitas yang berbeda-beda sehingga masing-masing warna harus dikalibrasi. Program kalibrasi sensor warna dapat dilihat pada
gambar 4.7. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.6. Program Kalibrasi Sensor Warna
Untuk mengenali sebuah warna, sensor warna TCS3200 menggunakan fotodioda yang berfungsi untuk menangkap intensitas 3 warna dasar yaitu merah, biru, dan hijau.
Tiga dari nilai intensitas inilah yang akan menjadi patokan untuk melakukan kalibrasi terhadap warna wadah yang akan diletakkan. Dapat dilihat pada program di atas bahwa
untuk menetukan warna biru pada suatu wadah, syarat intensitas warna dasar yang diterima fotodioda harus sesuai dengan syarat pada program. Syarat untuk menentukan warna biru
yaitu intensitas warna dasar biru yang terdeteksi harus lebih kecil dari merah dan hijau sehingga baru bisa dikenali sebagai warna biru. Pada syarat kalibrasi dimasukkan logika
red 800 dan green 1400. Angka ini bertujuan agar syarat kalibrasi tidak bertabrakan dengan warna kuning. Hal ini karena pulsa warna kuning menghasilkan intensitas red
sebesar rata-rata 500 dan green rata-rata 850. Saat program masuk di red 800 maka warna kuning ikut terpanggil tapi jika ditambah kalibrasi green 1400 maka otomatis
syarat untuk warna kuning tidak terpilih lagi. Untuk mengeluarkan data suara dari SD Card, program harus mengecek apakah
komunikasi Arduino dengan modul SD Card sudah terkoneksi dengan baik atau belum. Program akan mengecek melalui perintah yang telah dibuat lalu dengan bantuan serial