PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR LEMARI PENYIMPANAN BERBICARA BERBASIS MIKROKONTROLLER
Diajukan untuk memenuhi salah syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun Oleh:
Dirga NIM :125114022
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT TALKING CABINETS USING MICROCONTROLLER In a partial fulfilment of requirement For the degree of Sarjana Teknik Departement of Electrical Engineering Faculty of Science and Technology, Sanata Dharma University
Dirga NIM :125114022
ELECTRICAL ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO :
Sebanyak apapun masalah yang dihadapi jika dikerjakan dengan rajin pasti akan terselesaikan
Skripsi ini kupersembahkan untuk ..... Orang tua yang mendukungku Semua teman yang menghiburku
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI
Dalam penelitian ini dibuat alat bantu bagi penyandang tunanetra berupa lemari penyimpanan berbicara yang dilengkapi dengan sensor pendeteksi warna. Terdapat rangkaian pemutar suara yang dapat dimanfaatkan oleh penyandang tunanetra untuk memberitahu isi wadah dari warna wadah tersebut. Alat ini memiliki keluaran berupa suara yang berasal dari perekaman yang dilakukan di komputer sebelumnya. Data suara ini akan dimasukkan ke SD Card. Suara akan dikeluarkan menggunakan rangkaian amplifier sederhana menggunakan IC LM386 menuju ke speaker. Suara yang dihasilkan oleh alat ini merupakan isi dari wadah yang terdeteksi oleh sensor warna sesuai dengan warna wadah. Sistem ini telah dicoba untuk mendeteksi warna wadah yang diletakkan dalam lemari. Hasil dari percobaan yang telah dilakukan suara yang keluar dari alat ini sudah sesuai dengan warna wadah yang diletakkan.
Kata Kunci : Aplikasi bersuara, sensor warna, LM386.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
In this study is made for speaking tools for people with disability person in the form of a cabinets with color sensor. There is a series of audio player that can be used by blind person to tell the contents of the container from the container color. This tool has a sound output that comes from the recording made on a computer before. The voice data will be inserted into the SD Card. The sound will be issued using a simple amplifier circuit using LM 386 IC toward the speaker. Sound produced by this tool is the content of the container is detected by a sensor color matches the color of the container. This system has been tried to detect the color of the container is placed in a cabinet. The result of the experiments have been conducted sound that comes out of this tool are in accordance with the color of the container is placed.
Keywords : Voice application, color sensor, LM386
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
Halaman Sampul (Bahasa Indonesia) ........................................................
i
Halaman Sampul (Bahasa Inggris) .............................................................. ii Lembar Persetujuan ...................................................................................... iii Lembar Pengesahan ..................................................................................... iv Lembar Pernyataan Keaslian Karya ........................................................... v Halaman Persembahan dan Motto Hidup ..................................................
vi
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah untuk Kepentingan Akademis ............................................................................... vii Intisari .......................................................................................................... viii Abstract ........................................................................................................ ix Kata Pengantar ............................................................................................ x Daftar Isi ..................................................................................................... xi Daftar Gambar ............................................................................................ xiii Daftar Tabel ................................................................................................ xv
BAB 1: PENDAHULUAN 1.1. Latar Belakang .................................................................................. 1 1.2. Tujuan dan Manfaat......................................................................... 2 1.3.Batasan Masalah ...............................................................................
2
1.4. Metodologi Penelitian ....................................................................... 3
BAB II : DASAR TEORI 2.1. Sistem Mikrokontroller .................................................................... 5 2.2. Arduino Uno ..................................................................................... 6 2.2.1. Struktur Program Arduino ................................................ 7 2.2.2. Variabel dan Tipe Data ..................................................... 8 2.2.3. Fungsi ................................................................................. 9 2.2.4. Input dan Output ................................................................ 9 2.2.5. Komunikasi ........................................................................ 10
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.6. SD Card Shield .....................................................................10 2.3. SPI .....................................................................................................11 2.4. Low Pass Filter ................................................................................. 16 2.5. Limit Switch ...................................................................................... 16 2.6. Power Amplifier ................................................................................ 17 2.7. Sensor Warna TCS3200 .................................................................. 18
BAB III : RANCANGAN PENELITIAN 3.1. Proses Kerja Sistem ......................................................................... 20 3.2. Perancangan Perangkat Keras ........................................................ 21 3.2.1. Desain Lemari ................................................................... 21 3.2.2. Board Arduino Uno .......................................................... 22 3.2.3. Rangkaian Amplifier ........................................................ 23 3.2.4. Rangkaian Limit Switch ke Arduino ..............................
24
3.2.5. Rangkaian TCS3200 ke Arduino ...................................
24
3.2.6. Rangkaian Modul SD Card ke Arduino .........................
26
3.3. Perancangan Perangkat Lunak ....................................................... 27 3.3.1. Subrutin Setting Jenis Suara ............................................. 28 3.3.2. Subrutin Kalibrasi Sensor ................................................ 29 BAB IV : HASIL DAN PEMBAHASAN 1.1.
Pemasangan Alat ............................................................................ 30 1.1.1.
1.2.
1.3.
Keterangan Penggunaan Alat ........................................ 31
Pengujian Alat ............................................................................... 33 1.2.1.
Pengujian Pembacaan Warna TCS3200 ......................
33
1.2.2.
Pengujian Suara ................................................................36
1.2.3.
Pengujian Limit Switch .................................................... 37
Perangkat Lunak .............................................................................39
BAB V : KESIMPULAN DAN SARAN 5.1.
Kesimpulan ..................................................................................... 44
5.2.
Saran ............................................................................................... 44
DAFTAR PUSTAKA ............................................................................................ 45 LAMPIRAN
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 1.1. Alur Kerja Sistem ...........................................................................3 Gambar 2.1. Arduino Uno ...................................................................................6 Gambar 2.2. Software Arduino IDE ....................................................................6 Gambar 2.3. Konfigutasi Pin Atmega 328 pada Arduino Uno ......................
7
Gambar 2.4. SD Card Shield ...............................................................................10 Gambar 2.5. Pinout SD Card Shield ................................................................... 11 Gambar 2.6. Pin SPI Arduino Uno ..................................................................... 11 Gambar 2.7. Rangkaian Pembagi Tegangan ..................................................... 12 Gambar 2.8. Ilustrasi Kerja Protokol SPI ............................................................ 13 Gambar 2.9. Komunikasi Master-Slave SPI ...................................................... 14 Gambar 2.10. Transfer Format dengan CPHA=0 ................................................ 15 Gambar 2.11. Transfer Format dengan CPHA=1 ............................................... 15 Gambar 2.12. Rangkaian Dasar dan Grafik Respon LPF .................................
16
Gambar 2.13. Contoh Limit Switch ....................................................................... 17 Gambar 2.14. Rangkaian Amplifier Mini LM386 .............................................. 17 Gambar 2.15. Rangkaian Internal IC LM386 .................................................... 18 Gambar 2.16. Pin TCS3200 ................................................................................. 18 Gambar 2.17 TCS3200 ....................................................................................... 19 Gambar 3.1. Diagram Blok Perancangan .......................................................... 20 Gambar 3.2. Desain Rancangan Lemari ........................................................... 21 Gambar 3.3. Desain Dalam Ruang ..................................................................... 21 Gambar 3.4. Rangkaian Board Arduino dengan Atmega 328 .....................
22
Gambar 3.5. Rangkaian Amplifier LM386 ....................................................... 23 Gambar 3.6. Rangkaian Limit Switch ke Arduino ...........................................
24
Gambar 3.7. Rangkaian TCS3200 ke Arduino ................................................. 25 Gambar 3.8. Rangkaian SD Card modul ke Arduino ...................................... 26 Gambar 3.9. Flowchart Utama ............................................................................ 27 Gambar 3.10. Subrutin Setting Jenis Suara ......................................................... 28 Gambar 3.11. SubrutinKalibrasiSensor ..............................................................
xiii
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.1. Lemari Berbicara Berbasis Arduino ............................................. 30 Gambar 4.2. Hardware Amplifier dengan Modul SD Card ............................ 31 Gambar 4.3. Rangkaian Limit Switch ............................................................... 38 Gambar 4.4. Inisialisasi Input dan Output ........................................................ 39 Gambar 4.5. Program Selektor Sensor Warna ................................................... 40 Gambar 4.6. Program Kalibrasi Sensor Warna ................................................. 41 Gambar 4.7. Program Pengecekan Modul SD Card dan Data Suara ................. 42 Gambar 4.8. Program Pengecekan Intensitas Warna ......................................
42
Gambar 4.9. Subprogram Mode Alarm .............................................................. 43
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2.1.
Tipe Data Variabel ....................................................................... 8
Tabel 2.2.
Tabel Pasangan Pin ........................................................................ 12
Tabel 2.3.
Tabel Warna .................................................................................. 19
Tabel 2.4.
Tabel Terminal Fungsi .................................................................. 19
Tabel 4.1.
Keterangan Gambar Lemari Berbicara Berbasis Arduino ............ 31
Tabel 4.2.
Spesifikasiwarna yang digunakan ..............................................
Tabel 4.3.
Pengujian Sensor untuk Wadah Merah .......................................... 34
Tabel 4.4.
Pengujian Sensor untuk Wadah Hijau ............................................34
Tabel 4.5.
Pengujian Sensor untuk Wadah Biru .......................................
35
Tabel 4.6.
Pengujian Suara untukWadahKuning ......................................
35
Tabel 4.7.
PengujianSuaradengan Sensor Warna
Tabel 4.8.
ImplementasiTeganganKeluaranLimit Swith ……………...
xv
33
…….......................... 36 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Masalah Metode pembelajaran di Indonesia sudah banyak mengalami perubahan baik
pembelajaran akademik maupun non-akademik. Berbagai perkembangan teknologi banyak membantu masyarakat dalam mencari ilmu pengetahuan atau pembelajaran lainnya. Akan tetapi berbeda dengan masyarakat yang mempunyai kekurangan secara fisik terutama pada kaum tunanetra. Masyarakat tuna netra yang berada di panti atau lembaga di mana mereka tinggal memang sudah mendapat berbagai pembelajaran dengan metode yang cocok untuk mereka. Penyandang tunanetra terkadang sulit mendapatkan posisi di masyarakat. Banyak yang memandang sebelah mata pada mereka karena ketidakmampuan tunanetra dalam melihat. Pengertian tunanetra tidak hanya untuk mereka yang buta, tetapi mencakup juga mereka yang mampu melihat tetapi terbatas sekali dan kurang dapat dimanfaatkan untuk kepentingan hidup sehari-hari, terutama dalam belajar [1]. Tunanetra dapat disebabkan oleh beberapa faktor, yaitu: faktor internal seperti keturunan atau genetik dan faktor eksternal seperti kecelakaan, keracunan obat atau kekurangan gizi dan vitamin. Akibat dari ketunanetraan, secara kognitif pengenalan atau pengertian terhadap dunia luar penyandang tunanetra tidak dapat diperoleh secara lengkap dan utuh. Para penyandang tunanetra sering mengalami hambatan dalam menerima informasi sehingga mereka menggunakan sistem Brailler untuk memperoleh informasi baru. Keterbatasan fisik membuat penyandang tunanetra memiliki keterbatasan juga pada sarana atau media yang digunakan untuk belajar. Di sisi lain juga memiliki kelebihan, berupa sensasi taktil dan pendengaran yang tajam. Dalam beraktifitas, sering kali masyarakat tunanetra kesulitan dalam mengambil barang-barang tertentu pada suatu lemari penyimpanan. Dari masalah tersebut penulis memiliki ide untuk membuat tugas akhir yaitu lemari penyimpanan yang dapat mengeluarkan suara disaat pintu lemari tersebut dibuka. Peranan dalam membuat alat ini juga dibantu dari judul tugas akhir dari Feliks [18], yaitu piranti penuntun penyandang tunanetra dengan indikasi jarak berbasis Arduino. Pesatnya berbagai perkembangan teknologi yang menggunakan mikrokontroller dapat menjadi sarana untuk membantu 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
masyarakat yang membutuhkan. Lemari ini dibuat dengan memiliki 2 ruang yang diisi barang yang berbeda sehingga saat masyarakat tuna netra membuka salah satu pintu lemari tersebut akan muncul suara yang menyatakan nama barang tersebut. Dengan menggunakan mikrokontroller, akan dibuat program yang mengakses data suara dan dikeluarkan ke speaker melalui amplifier. Masing masing pintu lemari dipasang sensor limit switch dan program yang dibuat pada mikrokontroller akan mengakses suara sesuai dengan sensor mana yang aktif. Data suara akan disimpan pada SD card dan dipasang pada SD Card Shield agar dapat diakses oleh mikrokontroller. Data suara yang disimpan mempunyai format WAV. Lemari ini akan membantu masyarakat tuna netra agar tidak salah dalam mengambil barang yang diinginkan.
1.2.
Tujuan dan Manfaat
Skripsi ini bertujuan untuk 1. Membuat
lemari
: penyimpanan
berbicara
berbasis
mikrokontroller
untuk
masyarakat tuna netra. 2. Mempermudah aktifitas masyarakat tuna netra terutama dalam hal menyimpan dan mengambil sesuatu. Manfaat yang diharapkan dari penulisan skripsi ini adalah : 1. Memancing masyarakat umum untuk lebih memperhatikan kaum tuna netra terutama pada bidang fasilitas yang dapat membantu aktifitas mereka.
1.3.
Batasan Masalah Agar Tugas Akhir ini dapat mengarah pada tujuan dan untuk menghindari terlalu
kompleksnya permasalahan yang muncul, maka perlu adanya batasan – batasan masalah yang sesuai dengan judul dari tugas akhir ini. Adapun batasan masalah, yaitu
:
1. Lemari yang terdiridari2ruang. Ukuran 1 ruang yang terdapat pada lemari 20 cm x 20 cm. 2. 2input dan 4 jenis pemilihan output suara dengan sensor TCS3200. 3. Limit switchsebagaitriggeruntukspeaker dalam program mikrokontroller. 4. Menggunakan systemmikrokontroller dengan SD Card 5. Output data suara dikeluarkan melewati rangkaian amplifier terlebih dahulu lalu menuju ke speaker. 6. Data suara yang disimpan di SD Card berformat WAV.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
1.4.
Metodologi Penelitian Berdasarkan pada tujuan yang ingin dicapai metode – metode yang digunakan
dalam penyusunan tugas akhir ini adalah
:
1. Studi literatur,yaitu mendapatkan data dengan cara membaca buku-buku dan jurnaljurnal yang berkaitan dengan permasalahan yang dibahas dalam tugas akhir ini. Mempelajari dasar-dasar teori tentang sensor limit switch dan sensor TCS3200. 2. Eksperimen,yaitu dengan secara langsung melakukan praktek maupun pengujian terhadap hasil pembuatan alat dalam pembuatan tugas akhir ini. 3. Perancangan alur kerja sistem secara umum Merancang alur atau diagram kerja yang akan dipakai dalam tugas akhir. Alur kerja sistem
akan
menjelaskan
proses
dari
sistem
yang
akan
dibuat
mempertimbangkan permasalahan serta kebutuhan terhadap tugas akhir ini.
Sensor Warna TCS3200
Limit Switch
Arduino Uno
Amplifier
Speaker
Gambar 1.1. Alur kerja sistem
Sd Card Shield
dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
4. Perancangan dan pembuatan hardware. Dalam pembuatan lemari berbicara ini dimulai dengan menjadikan sensor limit switch sebagai trigger untuk speakerdalam program Arduino Uno. Sensor TCS3200 akan menjadi selektor untuk pemilihan suara yang akan dikeluarkan. Mikrokontroller akan mengolah data yang disimpan di dalam SD Card yang kemudian dikeluarkan menuju ke speaker melalui amplifier. 5. Proses pengambilan data. Pengambilan data dan pengujian hardware dilakukan dengan tahap : 1. Pengujian sensor Limit switch dengan mikrokontroller untuk interaksi sebagai triggeryang mengeluarkan suara pada speaker. 2. Pengujian sensor TCS3200 dengan mikrokontroller untuk interaksi sebagai selektordata suara yang akan dikeluarkan tergantung dari warna benda. 3. Pengujian dan pengambilan data secara langsung,dalam mengakses data suara sesuai dengan masukan yang diterima dan mengeluarkan output suara menuju ke speaker melalui amplifier. 6. Analisis dan penyimpulan hasil tugas akhir. Analisa dengan melakukan pendataan dari hasil kesesuaian masukan yaitu sensor TCS3200 yang menjadi selektor terhadap data suara yang dikeluarkan ke speaker dan pendataan dari hasil kesesuaian Limit Switch sebagai trigger untuk mengeluarkan suara menuju speaker. Analisa dan pembahasan dilakukan dengan mengamati secara langsung percobaan yang dilakukan dengan lemari berbicara berbasis mikrokontroller dapat berjalan dengan baik dan sesuai dengan program yang telah dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI 2.1
Sistem Mikrokontroller Mikrokontroller adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umumnya dapat menyimpan program di dalamnya [2]. Mikrokontroller umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroller ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board mikrokontroller menjadi sangat ringkas. Tidak seperti sistem computer, yang mampu menangani berbagai macam program aplikasi (misal pengolah kata, pengolah angka dan sebagainya), mikrokontroller hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program yang bisa disimpan) [3]. Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk registerregister yang digunakan pada mikrokontroller yang bersangkutan. Adapun kelebihan dari mikrokontroller adalah sebagai berikut : 1. Mikrokontroller tersusun dalam satu chip dimana processor, memori, dan I/O terintegrasi menjadi satu kesatuan control sistem sehingga mikrokontroller dapat dikatakan sebagai computer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem. 2. Sistem running bersifat berdiri sendiri tanpa tergantung dengan computer sedangkan parameter computer hanya digunakan untuk download perintah instruksi atau program. Langkah-langkah untuk download computer dengan mikrokontroller sangat mudah digunakan karena tidak menggunakan banyak perintah. 3. Pada mikrokontroller tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
2.2
Arduino Uno Arduino Uno adalah kit elektronik open source yang di dalamnya terdapat
komponen utama yaitu sebuah chip mikrokontroller dengan jenis AVR menggunakan Atmega328 [4]. Modul Arduino Uno dapat dilihat pada gambar 2.1.
Gambar 2.1.
Modul Mikrokontroller Arduino Uno
Arduino tidak memerlukan perangkat chip programmer karena di dalamnya sudah ada bootloader yang akan menangani upload program dari computer. Selain itu Arduino juga memiliki sarana komunikasi USB, sehingga pengguna laptop yang tidak memiliki port serial/RS323 bisa menggunakannya. Bahasa pemograman relative mudah karena software Arduino dilengkapi dengan kumpulan library yang cukup lengkap. Bahasa pemrograman Arduino adalah bahasa C. Untuk membuat program Arduino dan mengupload ke dalam board
Arduino
membutuhkan
software
Arduino
IDE
(Integrated
Enviroment). Interface IDE dapat dilihat pada gambar 2.2.
Gambar 2.2.
Software Arduino IDE
Development
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Arduino memiliki 14 I/O digital (6 output untuk PWM), 6 analog input, resonator kristal keramik 16 Mhz, koneksi USB, soket adaptor, pin header ICSP, dan tombol reset. Arduino dapat disupply langsung ke USB atau power supply tambahan yang pilihan power secara otomatis berfungsi tanpa saklar. Papan Arduino ini dapat disupply tegangan kerja antara 6 sampai 20 volt. ATmega328 memiliki memory 32 KB (dengan 0.5 KB digunakan sebagai bootloader). Memori 2 KB SRAM dan 1 KB EEPROM (yang dapat baca tulis dengan library EEPROM). Konfigurasi pin mikrokontroller Atmega328 dapat dilihat pada gambar 2.3.
Gambar 2.3.
Konfigurasi pin Atmega328 pada Arduino Uno
Ada tiga bagian utama dalam bahasa pemograman arduino, yaitu struktur, variabel, dan fungsi [19].
2.2.1 Struktur Program Arduino 1. Kerangka Program Kerangka program arduino sangat sederhana terdiri dari dua blok. Blok pertama adalah void setup(), dan blok kedua adalah void loop(). Blok void setup()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
merupakan bagian inisialisasi program yang berisi kode program yang hanya dijalankan sekali sesaat setelah arduino dihidupkan atau di-reset. Blok void loop() bagian berisi program yang dijalankan terus menerus atau berulang. 2. Sintaks Program Dalam kerangka program baik void setup() dan void loop() harus disertakan tanda kurung kurawal buka “{“ sebagai tanda awal program dan tanda kurung kurawal tutup “}” sebagai tanda akhir program pada blok tersebut. Untuk menandai akhir baris kode program digunakan tanda titik koma “;” . 3. Kontrol Aliran Program Kontrol aliran program meliputi instruksi-instruksi yang digunakan untuk membuat percabangan dan perulangan. Instruksi percabangan diantaranya adalah if, if-else, switch case, break, continue, return, dan goto. Sedangkan instruksi perulangan diantaranya adalah for-loop, while-loop, dan do-while-loop. 4. Operator Operator aritmatika di arduino meliputi perkalian (*), pembagian (/), penjumlahan (+), pengurangan (-), dan modulo (%). Modulo adalah perhitungan untuk mendapatkan sisa hasil pembagian.
2.2.2 Variable dan Tipe Data Tabel 2.1
Tipe Data Variabel
Tipe Data
Ukuran Data
Jangkauan Nilai
Boolean
1 bit
True/False
Char
8 bit
-128 s.d. 127
Byte
8 bit
0 s.d. 255
Int
16 bit
-32768 s.d. 32767
Word
16 bit
0 s.d. 65535
Long
32 bit
-2147483648 s.d. 2147483647
Float
32 bit
-3,4028235 x 10
s.d. 3,4028235 x 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
2.2.3 Fungsi 1. Input Output Digital Ada tiga instruksi yang digunakan dalam input output digital, yaitu pinMode(), digitalRead(), dan digitalWrite(). 2. Input Output Analog Secara umum hanya ada dua instruksi yang digunakan, yaitu AnalogRead(), dan analogWrite(). Untuk membaca sinyal analog yang masuk, digunakan instruksi analogRead(). Nilai input analog memiliki jangkauan antara 0 hingga 1023. 3. Waktu Ada empat instruksi yang digunakan dalam fungsi waktu, yaitu millis(), micros(), delay(), delayMicroseconds(). 4. Matematika Ada beberapa instruksi yang digunakan dalam fungsi matematika, yaitu min(), max(), abs(), constrain(), map(), pow(), sqrt(), dan 3 instruksi dalam fungsi trigonometri, yaitu sin(), cos(), tan(), serta instruksi random(), byte(), dan bit(). 5. Komunikasi Fungsi ini digunakan untuk berkomunikasi dengan komputer melalui port serial. Kaki Atmega328 yang digunakan untuk fungsi ini adalah kaki 2 (RX) dan kaki 3 (TX). Beberapa instruksi yang digunakan adalah begin(), available(), read(), print(), printIn(), dan write().
2.2.4 Input dan Output Masing-masing dari 14 pin UNO dapat digunakan sebagai input atau output menggunakan perintah fungsi pinMode(),dan digitalRead() yang menggunakan tegangan operasi 5 volt [5]. Tiap pin dapat menerima arus maksimal hingga 40mA dan resistor internal pull-up antara 20-50 Kohm, beberapa pin memiliki fungsi kekhususan antara lain : a. Serial: 0 (RX) dan 1 (TX). Sebagai penerima (RX) dan pemancar (TX) TTL serial data. Pin ini terkoneksi untuk pin korespondensi chip ATmega8U2 USB-to-TTL serial. b. External Interrupts: 2 dan 3. Pin ini berfungsi sebagai konfigurasi trigger saat interupsi value low, naik, dan tepi, atau nilai value yang berubah-ubah. c. PWM : 3, 5, 6, 9, 10, dan 11. Melayani output 8-bit PWM dengan fungsi analogWrite().
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
d. LED : 13. Terdapat LED indicator bawaan (built-in) dihubungkan ke digital pin 13, ketika nilai value HIGH led akan ON, saat value LOW Led akan off. e. Uno memiliki 6 analog input tertulis di label A0 hingga A5, masing-masingnya memberikan 10 bit resolusi (1024). Secara asal input analog tersebut terukur dari 0 (ground) sampai 5 volt, itupun memungkinkan perubahan teratas dari jarak yang digunakan oleh pin AREF dengan fungsi analogReference().
2.2.5 Komunikasi Arduino Uno memiliki fasilitas nomor untuk komunikasi dengan computer atau hardware Arduino lainnya [5]. Pada ATmega328 menerjemahkan serial komunikasi UART TTL (5V) pada pin 0 (RX) dan 1 (TX). Pada ATmega16U2 serial komunikasinya dengan USB dan port virtual pada software di computer. Software bawaan Arduino telah menyertakan serial monitor untuk Writing dan Reading data dari dan ke Arduino. LED indicator TX dan RX akan berkedip ketika data telah terkirim via koneksi USB-to-Serial dengan USB pada computer.
2.2.6 SD Card Shield Pada dasarnya,Arduino Shield menggunakan komponen interface melalui protocol seperti SPI, I2C, 1-Wire yang pada umumnya dapat dan sangat cocok untuk adaptasi Netduino karena .NET Micro Framework mendukung protocol-protokol tersebut dan dapat sebagai I/O transfer, dengan performa yang baik [7]. SD Card shield ini merupakan board external yang dapat dihubungkan dengan Arduino secara compatible sehingga bisa mengakses data pada SD Card. Contoh SD Card Shield dapat dilihat pada gambar 2.4.
Gambar 2.4.
SD Card Shield
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
Sebuah SD Card tidak dapat dihubungkan langsung ke Arduino dengan menghubungkan kaki-kakinya begitu saja [16]. Proses koneksi tersebut dapat dilihat pada gambar 2.5.
Gambar 2.5.
Pinout SD Card Shield
Yang perlu diperhatikan pada tabel ini adalah pada bagian SPI MODE. Pinout SPI MODE ini yang nantinya akan dihubungkan sesuai dengan pin pada Arduino. SPI pada Arduino terletak pada pin 10 (SS), pin 11 (MOSI), pin 12 (MISO), pin 13 (SCK). Letak pin pada Arduino Uno dapat dilihat pada gambar 2.6.
Gambar 2.6.
Pin SPI Arduino Uno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
Untuk meakukan koneksi dari SD Card Shield ke Arduino, konfigurasi pin yang dilakukan dapat dilihat pada tabel 2.1.
Tabel 2.2
Tabel Pasangan Pin
Pin Arduino
Pin Modul
Pin SS
CS
Pin MOSI
DI
Pin MISO
DO
Pin SCK
CLK
Untuk bisa diterima oleh mikrokontroller, SD Card Shield mengubah tegangan dari mikrokontroller menjadi 3.3v agar Micro SD bisa bekerja. Proses perubahan tegangan ini dapat dilihat pada gambar 2.7.
Gambar 2.7.
Rangkaian pembagi tegangan
Agar program pada mikrokontroller dapat mengakses data pada SD Card, dibutuhkan library yang disebut SD library. SD library digunakan untuk membaca dan menulis pada SD Card Shield. Library ini mendukung sistem file FAT16 dan FAT32 pada standart SD Card. Komunikasi antara mikrokontroller dan SD Card SPI dimana pada Arduino Uno berada pada pin 11, 12, dan 13. Sedangkan untuk memilih SD Card, harus digunakan satu pin tambahan. Dalam hal ini dapat menggunakan pin 4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
2.3
SPI (Serial Peripheral Interface) Dalam menggunakan SD Card shield, ada satu library yang dideklarasikan selain
library ‘SD.h’ yang memang didedikasikan untuk menangani SD Card. Library selain SD.h itu adalah library ‘SPI.h’ [8]. Library SPI.h adalah library yang khusus bertugas menangani komunikasi serial sinkron SPI (Serial Peripheral Interface) di Arduino. Serial sinkron adalah protocol komunikasi data secara serial namun membutuhkan jalur clock untuk sinkronisasi antara transmitter dan receiver. Sedangkan secara khusus istilah ‘serial sinkron SPI’ ditujukan untuk tipe protocol komunikasi serial sinkron yang memiliki 3 jalur kabel yakni MISO (Master In Slave Out). MOSI (Master Out Slave In) dan SCLK (Serial Clock). MOSI merupakan jalur pengiriman data dari master ke slave, sedangkan MISO merupakan kebalikannya. Biasanya ada satu tambahan pin yang digunakan untuk mengaktifkan/mematikan perangkat slave SPI yang dinamakan CS (Chip Select) atau SS (Slave Select). Pin CS/SS bersifat spesifik untuk tiap perangkat slave yang menggunakan komunikasi SPI sehingga bisa berbeda-beda untuk masing-masing perangkat. Ilustrasi cara kerja protocol SPI ini ditunjukkan pada gambar 2.8.
Gambar 2.8.
Ilustrasi kerja protokol SPI
Dalam implementasinya, SPI banyak digunakan sebagai alternative untuk berkomunikasi dengan perangkat lain misalnya EEPROM (SPI EEPROM), sensor (barometer, tekanan, dll), komponen elektronika (SPI digital potensiometer) atau controller lain (Arduino, AVR, MCS51, ARM, dll). Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS. Keempat pin tersebut dijelaskan sebagai berikut [20] : 1. Serial Clock (SCLK) merupakan data biner yang keluar dari master ke slave yang berfungsi sebagai clock dengan frekuensi tertentu. Clock merupakan salah satu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
komponen prosedur komunikasi data SPI. Dalam beberapa perangkat, istilah yang digunakan untuk pin ini adalah SCK. 2. Master Output Slave Input (MOSI) merupakan pin yang berfungsi sebagai jalur data pada saat data keluar dari master dan masuk ke dalam slave. Instilah lain untuk pin ini antara lain Slave Input Master Output (SIMO), Serial Data In (SDI), Data In (DI), dan Serial In (SI). 3. Master Input Slave Output (MISO) merupakan pin yang berfungsi sebagai jalur data Slave Output Master Input (SOMI), Serial Data Out (OUT), Data Out (OUT), dan Serial Out (SO). 4. Slave Select (SS) merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif (actice low). Istilah lain untuk SS antara lain chip select (CS), nCS, nSS, dan Slave Transmit Enable (STE).
Pin SCLK, MOSI, dan SS merupakan pin dengan arah pengiriman data dari master ke slave. Sebaliknya, MISO mempunyai arah komunikasi data dari slave ke master. Pengaturan hubungan dari pin MISO dan MOSI harus sesuai dengan ketentuan. Ketentuan tersebut adalah pin MISO pada master harus dihubungkan dengan pin MOSI pada slave, begitu sebaliknya [21]. Hal ini dilakukan untuk menghindari terjadinya kesalahah prosedur pada pengiriman data. Istilah pin-pin SPI untuk berbagai perangkat mungkin saja mempunyai istilah yang berbeda dengan istilah diatas tergantung pada produsen. Gambar di bawah ini merupakan komunikasi master-slave pada SPI.
Gambar 2.9.
Komunikasi master-slave SPI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
Komunikasi data SPI dimulai pada saat master mengirimkan clock melalui SCK dengan frekuensi lebih kecil atau sama dengan frekuensi maksimum pada slave. Kemudian master memberi logila low atau 0 pada SS untuk mengaktifkan slave sehingga pengiriman data (berupa siklus clock) siap untuk dilakukan. Pada saat siklus clock terjadi transmisi data full duplex. Terjadi dua keadaan sebagai berikut : 1. Master mengirim sebuah bit pada jalur MOSI dan slave membacanya pada jalur yang sama. 2. Slave mengirim sebuah bit pada jalur MISO dan master membacanya pada jalur yang sama. Transmisi dapat menghasilkan beberapa siklus clock. Jika tidak ada data yang dikirim lagi maka master menghentikan clock tersebut dan menonaktifkan slave.
Gambar 2.10. Transfer Format dengan CPHA=0
Gambar 2.11. Transfer Format dengan CPHA=1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
2.4
Low Pass Filter Low pass Filter (LPF) atau Filter Lolos Bawah adalah filter yang hanya
melewatkan sinyal dengan frekuensi yang lebih rendah dari frekuensi cut-off (fc) dan akan melemahkan sinyal dengan frekuensi yang lebih tinggi dari frekuensu cut-off (fc) [9]. Pada filter LPF yang ideal sinyal dengan frekuensi diatas frekuensi cut-off (fc) tidak akan dilewatkan sama sekali (tegangan output=0 volt). Rangkaian low pass filter RC merupakan jenis filter pasif, dengan respon frekuensi yang ditentukan oleh konfigurasi R dan C yang digunakan. Rangkaian dasar LPF dan grafik respon frekuensi LPF sebagai berikut.
Gambar 2.12. Rangkaian dasar dan grafik respon LPF
Frekuensi cut-off (fc) dari filter pasif lolos bawah (Los Pass Filter) dengan RC dapat dituliskan dalam persamaan matematik sebagai berikut:
(2.1) Rangkaian filter pasif LPF RC diatas terlihat seperti pembagi tegangan menggunakan R. Dimana pada filter LPF RC ini tegangan output diambil pada titik pertemuan RC.
2.5
Limit Switch Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang berfungsi
menggantikan tombol [11]. Prinsip kerja limit switch sama seperti saklar Push On yaitu hanya akan menghubung pada saat katupnya ditekan pada batas penekanan tertentu yang telah ditentukan dan akan memutus saat katup tidak ditekan. Prinsip tersebut merupakan prinsip kerja NO (Normally Open) sedangkan pada NC (Normally Close) prinsip tersebut bekerja sebaliknya. Limit switch termasuk dalam kategori sensor mekanis yaitu sensor yang akan memberikan perubahan elektrik saat terjadi perubahan mekanik pada sensor tersebut. Contoh limit switch dapat dilihat pada gambar 2.13.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
Gambar 2.13. Contoh Limit Switch
2.6.
POWER AMPLIFIER IC power amplifier LM386 adalah chip monolitik yang didesain khusus sebagai
power amplifier dengan konsumsi daya yang rendah. Power amplifier IC LM386 dapat dibuat sebagai power amplifier dengan penguatan sebesar 20 kali sampai 200 kali tergantung dengan konfigurasi rangkaiannya. Rangkaian power amplifier yang menggunakan IC LM386 pada umumnya adalah perangkat yang membutuhkan penguat audio dengan loudspeaker kecil terpasang pada perangkat tersebut. Rangkaian power amplifier mini LM386 ini sering diaplikasikan pada perangkat radio atau mainan yang menggunakan pengeras suara kecil. Contoh rangkaian amplifier LM386 dapat dilihat pada gambar 2.14.
Gambar 2.14. Rangkaian amplifier mini LM386 IC LM386 memiliki resistor internal sebesar 1,35 KΩ antara kaki 1 dan kaki 8 dan resistor lainnya sebesar 15 KΩ antara pin 1 dan pin 5. Formula untuk perhitungan penguatan adalah sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Z
= 15 KΩ = 1,35 KΩ A=
Z
dan
×
(2.2)
merupakan nilai resistor internal yang berada dalam IC LM386. Jika
di antara kaki 1 dan kaki 8 diletakkan sebuah kapasitor maka akan melewatkan nilai tahanan pada
sehingga penguatan akan terjadi penguatan gain sebesar 200 kali.
Rangkaian internal IC LM386 dapat dilihat pada gambar 2.15.
Gambar 2.15. Rangkaian internal IC LM386
2.7.
SENSOR WARNA TCS3200 TCS3200 adalah sensor warna yang berperan sebagai pengubah warna menjadi
frekuensi yang terbuat dari campuran silikon dan current to frequency converter pada satu integrasi sirkuit. Keluaran sensor ini memunculkan gelombang kotak dengan 50% duty cycle dengan frekuensi yang proporsional. Konfigurasi pin TCS3200 dapat dilihat pada gambar 2.16.
Gambar 2.16. Pin TCS3200 Suatu frekuensi dengan skala penuh dapat diatur skalanya dengan satu dari tiga nilai awal melalui dua kontrol masukan pin. Pada sensor TCS3200 ini, light to frequency
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
converter membaca 8x8 array fotodioda. 16 fotodioda mempunyai filter biru, 16 fotodioda mempunyai filter hijau, dan 16 fotodioda terakhir mempunyai filter merah. Contoh sensor warna tersebut dapat dilihat pada gambar 2.17.
Gambar 2.17. TCS3200 Pin S2 dan S3 digunakan untuk memilih fotodioda yang ingin diaktifkan. Kombinasi masukan untuk masing-masing warna tersebut dapat dilihat pada tabel 2.3.
Tabel 2.3. Tabel Warna S2
S3
Warna
L
L
Merah
L
H
Biru
H
L
Clear
H
H
Hijau
Terminal fungsi TCS3200 dapat dilihat pada tabel 2.4.
Tabel 2.4. Tabel Terminal Fungsi Nama
No
I/O
Keterangan
GND
4
OE
3
I
Aktif rendah
OUT
6
O
Frekuensi keluaran
S0,S1
1,2
I
Frekuensi keluaran pada skala masukan
S2,S3
7,8
I
Tipe fotodioda
VDD
5
Ground
Power Supply
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III RANCANGAN PENELITIAN 3.1
Proses Kerja Sistem Perancangan alat ini terdiri dari beberapa bagian utama yaitu arduino, rangkaian
amplifier, sensor sebagai masukan ke arduino, power supply 5v. Sensor yang dipakai sebagai masukan arduino adalah sensor limit switch. Mikrokontroller berfungsi untuk mengatur dan memproses masukan dari masing-masing sensor limit switch yang kemudian akan menghasilkan keluaran suara sesuai dengan sensor masukan yang aktif. Lemari yang dibuat terdiri dari 2 pintu di mana masing-masing pintu dipasang sensor limit switch dan sensor warna. Limit switch akan berperan sebagai masukan menuju mikrokontroller yang kemudian diolah oleh program di mana masing-masing sensor akan menghasilkan keluaran suara yang berbeda-beda. Data suara awalnya akan direkam terlebih dahulu, kemudian disimpan di dalam SD Card. agar mikrokontroller dapat mengakses data di SD Card tersebut maka digunakan SD Card modul yang berperan sebagai komunikasi terhadap mikrokontroller. Berdasarkan masukan sensor yang aktif maka mikrokontroller akan mengakses salah satu kelauran suara yang terdapat di SD Card kemudian sistem keluaran ini akan masuk dalam rangkaian amplifier agar dapat dikeluarkan sebagai keluaran suara menuju ke speaker.
Limit Switch
Sensor warna TCS3200
Arduino Uno
Amplifier
Output suara
Power Supply 5V dan 12V
Gambar 3.1
Sd Card
Kebagian yang membutuhkan
Diagram Blok Perancangan
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
3.2
Perancangan Perangkat Keras
3.2.1 Desain Lemari Desain lemari ini mempunyai 2 ruang yang berukuran 20 cm x 20 cm dengan tinggi 60 cm. Gambar 3.2 menunjukkan desain lemari yang dibuat.
Gambar 3.2.
Desain Rancangan Lemari
Sensor limit switch akan dipasang pada masing-masing pintu sedangkan penempatan hardware seperti Arduino,Amplifier,dan speaker diletakkan di atas lemari dengan penempatan box yang terpisah. Sensor TCS3200 akan diletakkan pada langit-langit ruang lemari tersebut. Gambar 3.3 menunjukkan posisi peletakan sensor TCS3200 tersebut.
Gambar 3.3.
Desain dalam ruang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
Sensor TCS3200 pada gambar 3.3 diletakkan pada langit-langit ruang tersebut, sedangkan dibawahnya adalah sebuah wadah yang sudah mempunyai warna tertentu agak sensor dapat mendeteksi dalam keadaan apakah benda yang diletakkan benar atau tidak. Fotodioda yang terdapat pada sensor ini akan aktif dan menerangi wadah yang sudah diberi warna tersebut. Pantulan warna yang diterima kembali oleh TCS3200 akan diproses menjadi frekuensi dan diatur dalam mikrokontroller.
3.2.2 Board Arduino Uno Sistem minimum Atmega328 yang dipakai merupakan board Arduino Uno itu sendiri. Sistem minimum ini sangat optimal bekerja pada alat ini karena merupakan produksi dari Arduino Team itu sendri. Board arduino ini mempunyai rangkaian osilator yang terdiri dari crystal 16Mhz dan kapasitor 22pF [12]. IC(integrated circuit) ini memiliki 14 input/output digital (6 output untuk PWM), 6 analog input, koneksi USB, socket adaptor, pin header ICSP, dan tombol reset. Hal inilah yang dibutuhkan untuk mendukung mikrokontroller agar mudah terhubung dengan kabel power USB. Rangkaian Board Arduino dapat dilihat pada gambar 3.4.
U1 1 2 3 4 5 6 CONN-H6
21 20
PD0/RXD/PCINT16 PD1/TXD/PCINT17 PD2/INT0/PCINT18 PD3/INT1/OC2B/PCINT19 PD4/T0/XCK/PCINT20 PD5/T1/OC0B/PCINT21 PD6/AIN0/OC0A/PCINT22 PD7/AIN1/PCINT23 AREF AVCC
PC0/ADC0/PCINT8 PC1/ADC1/PCINT9 PC2/ADC2/PCINT10 PC3/ADC3/PCINT11 PC4/ADC4/SDA/PCINT12 PC5/ADC5/SCL/PCINT13 PC6/RESET/PCINT14
SAKLAR 1 2 CONN-H2
PB0/ICP1/CLKO/PCINT0 PB1/OC1A/PCINT1 PB2/SS/OC1B/PCINT2 PB3/MOSI/OC2A/PCINT3 PB4/MISO/PCINT4 PB5/SCK/PCINT5 PB6/TOSC1/XTAL1/PCINT6 PB7/TOSC2/XTAL2/PCINT7
14 15 16 17 18 19 9 10
ISD4004 1 2 3 4
KEYPAD 1
SS MOSI MISO SCLK
PCO CONN-SIL1
R1 RTC DS1307 1 2
10k
X1
SDA SCL CONN-H2
CRYSTAL
ATMEGA328P
Gambar 3.4.
5v
CONN-H4
23 24 25 26 27 28 1
2 1
D4 D5 D6 D7 RS E
2 3 4 5 6 11 12 13
C1
C2
22pF
22pF
2 1
LCD
LED
TOMBOL
CONN-H2
CONN-H2
Rangkaian board Arduino dengan ATmega328 [12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
3.2.3 Rangkaian Amplifier LM386 adalah amplifier dengan frekuensi audio berdaya rendah yang hanya memerlukan power supply kecil [13]. IC ini memiliki 8 pin yang didesain untuk penguatan 20x tanpa tambahan komponen luar. Rangkaian amplifier ini dapat dilihat pada gambar 3.5.
Gambar 3.5.
Rangkaian Amplifier LM386
Rangkaian ini dapat digunakan untuk menghasilkan penguatan dengan jarak rentang 20-200. IC LM386 memiliki resistor internal sebesar 1,35 KΩ antara kaki 1 dan kaki 8 dan resistor lainnya sebesar 15 KΩ antara pin 1 dan pin 5. Dua resistor ini terhubung seri dan membentuk Feedback Loop dari op-amp.Formula perhitungan penguatan pada rangkaian di atas dapat dilihat pada perhitungan 2.1. Peletakan kapasitor antara kaki 1 dan 8 akan melewatkan nilai resistor internal yang ada sehingga perhitungan menjadi : A=
×
= 200
(3.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
3.2.4 Rangkaian Limit Switch ke Arduino Rangkaian ini merupakan rangkaian koneksi antara limit switch dengan input pin mikrokontroller arduino. Tegangan masukan 5v akan disalurkan menuju sebuah resistor dan ujung resistor akan menuju ke input pin arduino dengan begitu masukan ke mikrokontroller akan terus bernilai HIGH. Ujung resistor dihubungkan ke limit switch dan ujung limit switch menuju ke ground. Dengan pemasangan seperti ini, maka saat posisi limit switch bersifat NO (Normally Open) maka masukan arduino akan selalu bernilai HIGH. Saat limit switch ditekan maka limit switch ini akan menjadi NC (Normally Closed) yang menyebabkan masukan arduino akan menjadi 0. Rangkaian ini dapat dilihat pada gambar 3.6.
Gambar 3.6.
Rangkaian Limit Switch ke Arduino
3.2.5 Rangkaian TCS3200 ke Arduino Rangkaian ini merupakan rangkaian koneksi antara sensor TCS3200 yang mendeteksi warna pada ruang lemari dengan mikrokontroller Arduino. Mikrokontroller akan memberikan masukan berupa HIGH dan LOW menuju ke pin S2 dan S3 pada TCS3200. Selanjutnya fotodioda pada sensor ini akan memantulkan cahaya menuju ke
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
wadah yang mempunyai warna tersebut. Sensor warna TCS3200 ini mempunyai fotodioda sebanyak 64 fotodioda dimana fotodioda dengan warna filter yang sama disusun secara pararel. Fotodioda pada sensor warna TCS3200 ini terdiri dari 16 fotodioda yang mempunyai filter biru, 16 fotodioda yang mempunyai filter merah, 16 fotodioda yang mempunyai filter hijau, dan yang terakhir 16 fotodioda yang mempunyai berkas tanpa filter. Jika wadah yang berada pada ruangan tersebut sesuai dengan yang diinginkan maka mikrokontroller akan melanjutkan menuju ke proses keluaran suara. Warna pada wadah tersebut akan disesuaikan dengan keluaran suara pada data SD Card sehingga jika wadah tersebut dipindah ke ruang lain maka mikrokontroller akan tetap mengenal wadah tersebut. Rangkaian TCS3200 ke Arduino dapat dilihat pada gambar 3.7.
Gambar 3.7.
Rangkaian TCS3200 ke Arduino
Output yang dihasilkan dari fotodioda ini saat menerima pantulan dari wadah yang sudah diberi warna tersebut adalah berupa frekuensi. Frekuensi ini yang nanti akan diterima oleh program pada mikrokontroller Arduino Uno dan diproses sebagai selektor,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
dimana sensor TCS3200 ini pada dasarnya akan menyimpan pilihan data suarayang akan digunakan sebelum dikeluarkan menuju ke speaker.
3.2.6 Rangkaian modul SD Card ke Arduino Rangkain ini merupakan rangkaian komunikasi antara SD Card modul dengan Arduino. Komunikasi menulis dan membaca dari Arduino dengan SD Card modul ini harus melewati pin SPI yang sudah ada pada arduino tersebut. Pin yang digunakan untuk melakukan koneksi ini adalah pin 11 (MOSI), pin 12 (MISO), pin 13 (SCK), dan pin 4 (CS). Rangkaian ini dapat dilihat pada gambar 3.8.
Gambar 3.8.
Rangkaian SD Card Modul ke Arduino
Dengan konfigurasi seperti di atas maka program Arduino akan dapat melakukan write atau read pada SD Card yang dipasangkan pada SD Card modul. Pada inisialisasi program IDE, untuk melakukan komunikasi dengan modul selain memperhatikan konfigurasi pin di atas adalah harus menggunakan library SD Card yang terdapat pada IDE. Program harus mempunyai inisiasi SD.h serta SPI.h agar arduino dapat melakukan interaksi dengan SD Card yang sudah terpasang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27
3.3
Perancangan Perangkat Lunak
Perancangan software atau perangkat lunak merupakan perancangan yang menentukan dan mengatur cara kerja alat sesuai dengan yang diinginkan. Mulai Setting jenis suara
Kalibrasi Sensor
Baca data SD Card
Deteksi limit Switch
Apakah sudah dibuka?
T
Y Keluarkan output suara
Apakah sudah ditutup?
Alarm berbunyi T
Delay 7s
Y Selesai
Gambar 3.9.
Flowchart utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
Mikrokontroller akan mendeteksi nilai sensor yang diatur sebagai masukan. Software ini akan mengatur bahwa masing-masing masukan akan mempunyai keluaran suara yang berbeda-beda. Data pada SD Card akan diisi dengan cara mengkopi file WAV yang telah direkam ke SD Card. Nama file WAV tersebut masing-masing akan berbeda sehingga
masing-masing sensor
akan
diatur
berdasarkan
penamaan
file.
Jika
mikrokontroller membaca sensor masukan belum aktif maka proses akan kembali terus pada pembacaan sensor. Jika mikrokontroller membaca sensor masukan aktif,maka proses akan dilanjutkan ke SD Card. Pada tahap ini mikrokontroller akan menyeleksi data suara pada SD Card yang akan dikeluarkan sesuai dengan masukan yang aktif karena masing-masing masukan mempunyai keluaran suara yang berbeda-beda. Keluaran suara yang dikeluarkan dari oleh mikrokontroller akan melewati amplifier yang sudah dirancang sebelumnya. Amplifier ini akan mengubah sinyal keluaran pada mikrokontroller menjadi sinyal yang bisa diterima speaker berupa suara. Setelah mengeluarkan output suara, proses akan kembali menuju pembacaan sensor masukan lagi.
3.3.1 Subrutin Setting Jenis Suara Program ini dimulai dengan menekan push button yang berada pada pin 8Arduino. Program ini akan mengubah jenis suara yang sesuai dengan selera pengguna tersebut.. Berikut adalah flowchart subrutin setting jenis suara. Mulai Ambil data button
Suara Pria
T
Sudah ditekan? ?
Y
RET
Gambar 3.10 Subrutin Setting Jenis Suara
Suara Wanita
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
3.3.2 Subrutin Kalibrasi Sensor Program ini berisi syarat-syarat pengecekan tiap warna yang dilakukan sebelum memanggil data suara dalam SD Card. Mulai
Kalibrasi syarat warna merah Baca data suara merah Kalibrasi syarat warna biru
Baca data suara biru Kalibrasi syarat warna hijau Baca data suara hijau Kalibrasi syarat warna kuning Baca data suara kuning RET
Gambar 3.11.
Subrutin Kalibrasi Sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN Bab ini menjelaskan implementasi perancangan penelitian dan hasil pengamatan beserta pembahasannya untuk mengetahui kesesuaian antara perancangan dan penelitian.
4.1
Pemasangan Alat Piranti lemari berbicara berbasis Arduino ini mempunyai 2 limit switch yang pada
dasarnya akan berfungsi sebagai pemicu untuk memuncul data suara yang terdapat pada SD Card menuju ke speaker. Sensor warna TCS3200 pada piranti ini berfungsi untuk mendapatkan data berupa intensitas warna yang terpantul dari suatu benda, kemudian data ini akan disimpan sementara pada program Arduino sampai limit switch bernilai HIGH. Komponen-komponen tersebut dapat dilihat pada gambar 4.2.
2 1 3
Gambar 4.1
Lemari Berbicara Berbasis Arduino
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
Tabel 4.1
Keterangan Gambar Lemari Berbicara Berbasis Arduino
No Nama
Keterangan
1
Speaker
Komponen untuk menghantarkan suara
2
TCS3200
Komponen sebagai sensor warna
3
Limit switch
Switch pemicu suara
Pembacaan sensor ini dilakukan secara bergantian dengan cara penekanan limit switch agar Arduino menerima masukan bernilah HIGH. Sensor warna yang berada pada atas ruangan akan menghidup LED putih yang nantinya cahaya ini akan dipantulkan kembali dan diterima oleh photodioda yang terdapat pada TCS3200. Data warna yang diterima sensor warna ini akan disimpan sementara dalam program Arduino untuk menentukan suara mana yang akan dikeluarkan sesuai dengan warna yang terdeteksi. Pada saat Limit Switch bernilai HIGH, maka program pada Arduino akan secara langsung membaca data suara pada SD Card dan langsung mengeluarkan suara tersebut melalui amplifier menuju ke speaker.
4.1.1 Keterangan Penggunaan Alat
Gambar 4.2.
Hardware Amplifier dengan Modul SD Card
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
Gambar di atas merupakan hardware dari sistem pengeluaran suara lemari berbicara. Pada gambar tersebut terdapat sebuah minimal sistem dari Arduino uno, modul SD Card yang berfungsi untuk menyimpan data suara, serta rangkaian amplifier yang menggunakan IC LM386 sebagai penguat amplifier sederhana untuk menghantarkan suara menuju ke speaker. Modul SD Card dan rangkaian amplifier masing-masing menggunakan power supply 5v yang berasal dari pin Arduino. Modul SD Card akan melakukan komunikasi dengan Arduino dengan library SPI sesuai dengan konfigurasi pin. Konfigurasi pin modul SD Card harus sama dengan aturan library pada SPI karena jika ada 1 pin yang tidak sama maka pembacaan data dalam SD Card tidak akan berfungsi. Data pada SD Card berupa 4 macam suara yaitu gula, garam, merica, dan cabe. Masingmasing suara mewakili suatu warna dalam seleksi data yang dilakukan oleh TCS3200. Warna merah akan mengeluarkan suara cabe, warna hijau akan mengeluarkan suara garam, warna kuning akan mengeluarkan suara merica, dan warna biru akan mengeluarkan suara gula. Masing-masing suara ini sudah dipasangkan dengan masing-masing warna pada program yang sudah dibuat. Limit Switch dipasang pada posisi dimana jika pintu tertutup maka ujung pintu akan mengenai tombol pada limit switch dan mengeluarkan nilai HIGH. Jadi jika saat pintu lemari dibuka, limit switch akan memberikan nilai LOW. Kondisi LOW inilah yang akan menjadi syarat kondisi pada program untuk mengeluarkan suara yang sesuai dengan warna yang diterima sensor warna. Pin A0 dan pin 2 pada Arduino uno merupakan selektor Limit Switch pada lemari yang mempunyai 2 ruangan. Masing-masing ruangan mempunyai 1 Limit Switch. Pada program Arduino, sensor warna akan melakukan scanning secara terus menerus. Proses scanning ini merupakan proses sensor menerima pantulan cahaya dari wadah tersebut yang kemudian akan muncul dalam program dalam bentuk nilai intensitas cahaya. Masing-masing warna akan membuat nilai intensitas cahaya pada program berbeda sehingga inilah yang akan menjadi syarat kondisi untuk menentukan kalibrasi yang akan dilakukan. Masing-masing ruang pada lemari terdapat jalur untuk meletakkan wadah. Wadah harus diletakkan sesuai dengan jalur yang sudah dibuat agar kalibasi sensor tidak berubah-ubah. Ketinggian wadah dengan sensor mempengaruhi kalibarsi sensor. Kalibrasi sensor dilakukan dengan jarak sensor dan wadah 10 cm. Pada saat sensor warna sudah melakukan scanning dan sudah mendapatkan hasil warna yang diseleksi, sensor warna akan terus melakukan scanning sampai limit switch bernilai LOW. Saat limit switch
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
bernilai LOW, maka scanning sensor warna akan berhenti pada kondisi keputusan warna yang terakhir. Hasil scanning terakhir akan menjadi selektor untuk memilih data suara mana yang akan dikeluarkan menuju ke speaker.
4.2
Pengujian Alat Pengujian alat berguna untuk mendapatkan data-data spesifikasi atau mendapatkan
titik pengukuran dari alat yang telah dibuat sehingga akan mempermudah menganalisa kesalahan dan kerusakan yang akan terjadi pada saat alat ini bekerja.
4.2.1 Pengujian Pembacaan Warna TCS3200 Penerimaan cahaya pada sensor warna akan dibagi menjadi 3 intensitas yaitu merah, hijau, dan biru. Sensor warna akan dibuat agar dapat mengenali 4 macam benda berdasarkan warna. Warna tersebut yaitu merah, biru, hijau, dan kuning. Warna-warna yang digunakan mempunyai spesifikasi nilai hex dan RGB yang berbeda-beda. Spesifikasi tersebut dapat dilihat pada tabel di bawah ini.
Tabel 4.2
Spesifikasi Warna yang digunakan
Warna
Hex
Red
Green
Blue
Merah
#DB364A
219
54
74
Biru
#0082BE
0
130
190
Hijau
#00A000
0
160
0
Kuning
#978F06
151
143
6
Contoh
Pengujian akan dilakukan dengan lima kali membuka pintu lemari pada masingmasing warna yang terdapat pada wadah. Wadah akan diletakkan pada ruang lemari. Pengujian ini bertujuan untuk mendapatkan nilai intensitas masing-masing warna. Hasil dari pengujian sensor warna untuk warna merah dapat dilihat pada tabel berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
Tabel 4.3
Pengujian Sensor untuk Wadah Merah
No
R
G
B
1
724
1690
1198
2
722
1684
1196
3
719
1673
1177
4
730
1682
1189
5
721
1682
1189
Pada tabel 4.2, pengujian warna merah yang muncul mempunyai rata-rata nilai sebesar 700 untuk intensitas merah, 1600 untuk intensitas hijau, 1100 untuk intensitas biru. Dari data yang didapat, rata-rata nilai intensitas pada lima kali pengujian mendapatkan hasil yang cukup stabil. Selisih yang didapat setiap intensitas hanya mempunyai selisih 5 sampai 11 angka. Pengujian untuk warna merah cukup stabil.
Tabel 4.4 No
Pengujian Sensor untuk Wadah Hijau R
G
B
1
1153
635
860
2
1162
641
881
3
1163
647
874
4
1163
646
875
5
1154
635
865
Pada tabel 4.3, pengujian warna hijau yang muncul mempunyai rata-rata nilai sebesar 1100 untuk intensitas merah, 600 untuk intensitas hijau, 800 untuk intensitas biru. Dari data yang didapat, rata-rata nilai intensitas pada lima kali pengujian mendapatkan hasil yang cukup stabil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
Tabel 4.5 No
Pengujian Sensor untuk Wadah Biru R
G
B
1
1537
713
425
2
1531
710
416
3
1534
712
422
4
1520
706
410
5
1520
706
412
Pada tabel 4.4, pengujian warna biru yang muncul mempunyai rata-rata nilai sebesar 1500 untuk intensitas merah, 700 untuk intensitas hijau, 800 untuk intensitas biru. Dari data yang didapat, rata-rata nilai intensitas pada lima kali pengujian mendapatkan hasil yang cukup stabil.
Tabel 4.6 No
Pengujian Sensor untuk Wadah Kuning R
G
B
1
511
551
877
2
503
544
874
3
518
545
874
4
508
545
868
5
515
548
893
Pada tabel 4.5, pengujian warna kuning yang muncul mempunyai rata-rata nilai sebesar 500 untuk intensitas merah, 550 untuk intensitas hijau, 800 untuk intensitas biru. Dari data yang didapat, rata-rata nilai intensitas pada lima kali pengujian mendapatkan hasil yang cukup stabil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
4.2.2 Pengujian Suara Pada pengujian ini adalah ketepatan keluaran suara dengan warna yang dibaca sensor saat limit switch bernilai LOW. Pengujian ini berkaitan dengan pembacaan sensor warna TCS3200 terhadap warna wadah yang berada pada ruang lemari tersebut. Masingmasing warna akan dilihat apakah cocok dengan keluaran data suara yang diinginkan. Berikut merupakan tabel keluaran suara ketika pintu terbuka. Program pada Arduino dibuat agar warna merah mengeluarkan suara cabe, warna biru mengeluarkan suara gula, warna hijau mengeluarkan suara garam, dan warna kuning mengeluarkan suara merica. Berikut ini merupakan tabel keluaran suara dengan deteksi sensor warna.
Tabel 4.7 Pengujian
Warna
Pengujian Suara dengan Sensor Warna
Suara
wadah
1
merah
cabe
2
hijau
garam
3
biru
gula
Gambar sinyal keluaran suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
4
kuning
merica
Dari data pengujian yang terdapat pada tabel 4.6, keluaran suara sudah dapat sesuai dengan deteksi warna dari TCS3200 sehingga tidak ada kendala dalam pengujian ini. Piranti lemari berbicara berbasis Arduino ini sudah dapat mengeluarkan suara yang sesuai dengan warna yang ditangkap oleh TCS3200. Pada saat pengujian, suara yang keluar melalui speaker tidak terlalu jernih dan bagus. Hal ini karena pada program ini Arduino hanya bisa dapat membaca data suara format WAV yang harus diubah dari kualitas 32 bit menjadi 8 bit. Kualitas 8 bit adalah kualitas suara yang paling rendah. Untuk channel data suara harus diubah menjadi mono serta frekuensi data suara harus kurang dari 32 KHz. Spesifikasi file suara yang dipakai rata-rata sebesar 300 Kb untuk kapasitasnya, 8 bit, dan mempunyai sample rate 24 Khz.
4.2.3 Pengujian Limit Switch Pengujian limit switch ini bertujuan untuk mengetahui apakah fungsi limit switch sudah berfungsi dengan baik atau belum. Dalam sistem ini rangkaian limit switch menggunakan resistor pull down, yang artinya adalah apabila limit switch ini ditekan maka tegangan keluaran akan mendekati VCC. Dalam sistem ini tegangan rangkaian yang digunakan adalah tegangan DC 5 Volt. Limit switch ini mempunyai 3 pin yang merupakan terdiri dari NO (Normally Open), NC (Normally Close), dan Common. Jika pin yang dipakai adalah common dan NO maka saklar akan bersifat mengalirkan tegangan menuju ke pin keluaran saat saklar ditekan. Jika common dan NC yang digunakan maka saklar sudah langsung menghantarkan tegangan saat saklar belum ditekan dan saat saklar ditekan maka tegangan akan putus. Rangkaian resistor pull down dapat dilihat pada gambar 4.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
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
0
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 39
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 I/O bertujuan agar komponen yang terpasang pada Arduino dapat berfungsi dengan baik sesuai dengan konfigurasi I/O yang telah ditentukan. Pengaturan ini dapat dilakukan dengan cara perintah pinMode(). Inisialisasi I/O ini ditulis di dalam void setup pada program tersebut. Program inisialisasi I/O 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 40
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 if(val=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 41
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
monitor pada program, akan muncul kata SD fail jika modul dengan Arduino belum terkoneksi dengan baik. Program pengecekan komunikasi dan data suara dapat dilihat pada gambar 4.8.
Gambar 4.7.
Program Pengecekan modul SD Card dan Data Suara
Untuk melakukan pengecekan intesintas warna pada program, biasanya dilakukan dengan cara menjalankan serial monitor yang ada pada pilihan software IDE. Serial monitor ini berfungsi untuk menampilkan data-data yang ingin dilihat. Data ini bisa berupa nilai keluaran dan masukan dari sebuah komponen yang dipasangkan dengan Arduino. Program pengecekan intensitas warna dapat dilihat pada gambar 4.9.
Gambar 4.8.
Program Pengecekan Intensitas Warna
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
Nilai intensitas warna yang dimunculkan ke serial monitor Arduino berasal dari subprogram color yang dibuat untuk mengambil pulsa masuk menuju fotodioda sensor warna tersebut. Pin S2 dan S3 akan dibuat bernilai LOW, kemudian akan dinisialisasi suatu variabel yang nilainya adalah intensitas cahaya yang masuk yang diterima dan dikeluarkan melalui pin keluaran TCS3200. Pada piranti lemari berbicara berbasis Arduino ini, program ditambahkan mode alarm di mana jika pintu lemari belum ditutup selama 7 detik maka program akan mengeluarkan suara alarm sebagai peringatan untuk menutup kembali pintu lemari tersebut. Subprogram mode alarm ini dapat dilihat pada gambar 4.10.
Gambar 4.9.
Subprogram Mode Alarm
Pada program di atas, setelah 7 detik maka program akan memberikan perintah untuk menghentikan proses timer dari data suara yang dikeluarkan sebelumnya. Setelah itu program akan mengecek apakah nilai limit switch yang terpasang pada pintu masih sama sebelumnya apa tidak. Jika iya, maka program akan memerintahkan untuk masuk ke void alarm. Dalam subprogram alarm ini, akan dilakukan pembacaan terus menerus nilai limit switch setiap 1 detik dan setiap 1 detik tersebut program akan memutarkan suara alarm. Jika limit switch sudah bernilai HIGH, maka program akan menuju ke void setup dan melakukan scanning warna lagi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN Bab ini menjelaskan tentang penarikan kesimpulan berdasarkan implementasi sistem dan data pengujian pada bab IV, dan beberapa saran yang dapat digunakan untuk pengembangan sistem selanjutnya.
5.1
Kesimpulan Kesimpulan yang dapat diambil dari piranti lemari berbicara berbasis arduino ini
adalah : 1. Piranti sudah dapat mengeluarkan data berupa keluaran suara berdasarkan warna yang terdeteksi 2. Program telah mampu memilih sensor warna mana yang akan diaktifkan sesuai dengan pintu mana yang dibuka terlebih dahulu. 3. Keluaran suara dari 2 pintu lemari tidak dapat sekaligus berjalan, saat keluaran suara pertama sudah berjalan piranti harus menunggu sampai 7 detik untuk kemudian dapat mengeluarkan suara berikutnya. 4. Perbedaan ketinggian wadah mempengaruhi pembacaan sensor warna sehingga wadah yang digunakan harus mempunyai tinggi yang sama.
5.2
Saran Saran untuk pengembangan lemari berbicara berbasis arduino ini adalah sebagai
berikut : 1. Dapat ditambahkan sebuah program interface di mana orang awam dapat memasukkan suara sesuai dengan kehendak mereka.
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA [1]
Soemantri, T. S.,2007,Psikologi anak luar biasa,Karakteristik dan Masalah Perkembangan AnakTunanetra, 65-91, Bandung .
[2]
------, 2009, Teori Dasar Mikrokontroller , http://www.scribd.com/doc/17060403/TEORI-DASARMIKROKONTROLER#scribd, diakses 15 Oktober 2015.
[3]
Agus, 2012, Pengertian Mikrokontroller,http://elektronika-dasar.web.id/pengertiandan-kelebihan-mikrokontroler/, diakses 15 Oktober 2015.
[4]
Ilham, 2014, Pengertian dan Kelebihan Arduino, http://www.itjurnal.com/2014/05/pengertian-dan-kelebihan-arduino.html, diakses 15 Oktober 2015.
[5]
Ihsan, 2013 , Pengertian Arduino Uno, http://www.caratekno.com/2015/07/pengertianarduino-uno-mikrokontroler.html, diakses 23 Oktober 2015.
[6]
Agus, 2012, Power Amplifier Kelas D, http://elektronika-dasar.web.id/poweramplifier-kelas-d/, diakses 23 Oktober 2015.
[7]
Brian,
2012,
What
Is
an
Arduino
Shield
and
Why
Netduino
Care,
https://channel9.msdn.com/coding4fun/articles/What-Is-an-Arduino-Shield-and-WhyShould-My-Netduino-Care, diakses 30 Oktober 2015. [8]
Ajie,
2015,
Menangani
Komunikasi
Serial
Sinkron
SPI
di
Arduino,
http://saptaji.com/2015/07/29/menangani-komunikasi-serial-sinkron-spi-di-arduino/, diakses 30 Oktober 2015. [9]
Agus, 2012, Low Pass Filter, http://elektronika-dasar.web.id/low-pass-filter-lpf-rc/, diakses 1 November 2015.
[10]
Budiono, M.,2011,dasarteknikelektronika,vol 2, hal 363-369 , UniversitasBrawijaya Press, Malang
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[11]
Agus, 2012, Limit Switch dan Saklar Push On, http://elektronika-dasar.web.id/limitswitch-dan-saklar-push-on/, diakses 3 November 2015.
[12]
Mellis, 2008, Arduino Uno, https://www.arduino.cc/en/Main/ArduinoBoardUno, diakses 10 November 2015.
[13]
Peter, 2008, LM386 Audio Amplifier Gain Calculation, http://www.petervis.com/electronics%20guides/LM386%20Audio%20Amplifier/LM3 86%20Audio%20Amplifier%20Gain%20Calculation.html, diakses 17 November 2015.
[14]
Agus, 2012, Operasional Amplifier, http://elektronika-dasar.web.id/operasionalamplifier-op-amp/, diakses 17 November 2015.
[15]
Agus, 2012, Power Amplifier Mini Lm386, http://elektronika-dasar.web.id/poweramplifer-mini-lm386/, diakses 17 November 2015.
[16]
Duwi,
2013,
Cara
menggunakan
Memory
Micro
SD
di
Arduino,
http://duwiarsana.com/cara-menggunakan-memory-micro-sd-di-arduino/,diakses
18
januari 2016. [17]
-----, 2011, Datasheet TCS3200, Taos.
[18]
Feliks, 2014, Piranti Penuntun Penyandang Tunanetra Dengan Indikasi Jarak Berbasis Arduino, Jurusan Teknik Elektro, Universitas Sanata Dharma, Yogyakarta.
[19]
Artanto, Dian. 2012, Interaksi Arduino dan LabView. PT Elex Media Komputindo. Jakarta.
[20]
-----, 2009, Datasheet Atmega48PA/88PA/168PA/328p, Atmel.
[21]
Wimpy, 2013, Jam Digital dengan Keluaran Suara, Jurusan Teknik Elektro, Universitas Sanata Dharma, Yogyakarta.
46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
GND
OE
S1
PIN
PIN
PIN
PIN
PIN
PIN
PIN
5v
VCC
OUT
S3
S2
ANALOG IN
AREF
5V PIN
10k
R2
10k
R1
PIN
GND
PD7/AIN1 PD6/AIN0 PD5/T1 PD4/T0/XCK PD3/INT1 PD2/INT0 PD1/TXD PD0/RXD
MODUL SD CARD
PIN
PIN
PIN
CS
SW-SPST
SW2
SW-SPST
SW1
PIN
ARDUINO UNO R3
PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL
ATMEGA328P-PU 1121
MOSI MISO SCK
A0 A1 A2 A3 A4 A5
RESET
DIGITAL (~PWM)
S0
RX TX
~
~ ~
PB5/SCK PB4/MISO PB3/MOSI/OC2A PB2/SS/OC1B PB1/OC1A PB0/ICP1/CLKO
~ ~
ARD1
7 6 5 4 3 2 1 0
13 12 11 10 9 8
SW-SPST
MODE 10k
R3
GND
OE
S1
S0
PIN
PIN
PIN
PIN
PIN
PIN
PIN
VCC
OUT
S3
S2
SENSOR WARNA
10uF
C2
10K
RV1
12 V
2
3
LM386
5
U1
10uF
C5
250uF
C7
0.05uF
C6
10
R1
AMPLIFIER
6 1 8 4 7
~
SENSOR WARNA
SPEAKER
LS1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2
SKEMATIK RANGKAIAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3
LISTING PROGRAM ARDUINO
#include <SD.h> #define SD_ChipSelectPin 4 #include
#include <SPI.h> TMRpcm tmrpcm; const int s0 = A0; const int s1 = A1; const int s2 = A2; const int s3 = A3; const int out =A4; const int s01=10; const int s11=8; const int s21=7; const int s31=6; const int out1=5;
int input=2; int val=0; int input1=A5; int val1=0; int mode=3; int change=0;
int red = 0; int green = 0; int blue = 0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4
void setup() {
tmrpcm.speakerPin = 9; Serial.begin(9600); if (!SD.begin(SD_ChipSelectPin)) { Serial.println("SD fail"); return; }
pinMode(mode,INPUT); pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(out, INPUT); pinMode(input,INPUT); pinMode(s01, OUTPUT); pinMode(s11, OUTPUT); pinMode(s21, OUTPUT); pinMode(s31, OUTPUT); pinMode(out1, INPUT); pinMode(input1,INPUT); digitalWrite(s0, HIGH); digitalWrite(s1, HIGH); digitalWrite(s01, HIGH); digitalWrite(s11, HIGH); tmrpcm.play("future.wav"); delay(2000); tmrpcm.disable(); }
void loop()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L5
{ change=digitalRead(mode); if(change==HIGH) { val=digitalRead(input); val1=digitalRead(input1); if(val==LOW){ color(); Serial.print("R Intensity:"); Serial.print(red, DEC); Serial.print(" G Intensity: "); Serial.print(green, DEC); Serial.print(" B Intensity : "); Serial.print(blue, DEC); //Serial.println();
if (red < blue && red < green && red<500 && green>800) { Serial.println(" - (Red Color)");
tmrpcm.play("cabe.wav");
delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm(); }
}
else if (blue < red && blue < green && blue<800) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L6
Serial.println(" - (Blue Color)"); tmrpcm.play("gula.wav"); delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm(); }
}
else if (green < red && green < blue) { Serial.println(" - (Green Color)"); tmrpcm.play("garam.wav"); delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm(); }
}
else if (red < blue && red < green && green <600) { Serial.println(" - (kuning Color)"); tmrpcm.play("merica.wav"); delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L7
}
}
else{ Serial.println(); }
}
if(val1==LOW){ color1(); Serial.print("R Intensity1:"); Serial.print(red, DEC); Serial.print(" G Intensity1: "); Serial.print(green, DEC); Serial.print(" B Intensity1 : "); Serial.print(blue, DEC); //Serial.println();
if (red < blue && red < green && red < 700 && green > 1000) { Serial.println(" - (Red Color)"); tmrpcm.play("cabe.wav"); delay(7000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1(); }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L8
}
else if (blue < red && blue < green && blue<500) { Serial.println(" - (Blue Color)"); tmrpcm.play("gula.wav"); delay(7000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1(); }
}
else if (green < red && green < blue) { Serial.println(" - (Green Color)"); tmrpcm.play("garam.wav"); delay(7000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1(); } }
else if (red < blue && red < green && red < 730) { Serial.println(" - (kuning Color)"); tmrpcm.play("merica.wav"); delay(7000); tmrpcm.disable();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9
val1=digitalRead(input1); if(val1==LOW){ alarm1(); } }
else{ Serial.println(); } } } if(change==LOW){
val=digitalRead(input); val1=digitalRead(input1); if(val==LOW){ color(); Serial.print("R Intensity:"); Serial.print(red, DEC); Serial.print(" G Intensity: "); Serial.print(green, DEC); Serial.print(" B Intensity : "); Serial.print(blue, DEC); //Serial.println();
if (red < blue && red < green && red<500 && green>800) { Serial.println(" - (Red Color)");
tmrpcm.play("satu.wav");
delay(7000); tmrpcm.disable();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L10
val=digitalRead(input); if(val==LOW){ alarm(); }
}
else if (blue < red && blue < green && blue<800) { Serial.println(" - (Blue Color)"); tmrpcm.play("dua.wav"); delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm(); }
}
else if (green < red && green < blue) { Serial.println(" - (Green Color)"); tmrpcm.play("tiga.wav"); delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm(); }
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L11
else if (red < blue && red < green && green <600) { Serial.println(" - (kuning Color)"); tmrpcm.play("empat.wav"); delay(7000); tmrpcm.disable(); val=digitalRead(input); if(val==LOW){ alarm(); }
}
else{ Serial.println(); }
}
if(val1==LOW){ color1(); Serial.print("R Intensity1:"); Serial.print(red, DEC); Serial.print(" G Intensity1: "); Serial.print(green, DEC); Serial.print(" B Intensity1 : "); Serial.print(blue, DEC); //Serial.println();
if (red < blue && red < green && red < 700 && green > 1000) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
Serial.println(" - (Red Color)"); tmrpcm.play("satu.wav"); delay(7000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1(); }
}
else if (blue < red && blue < green && blue < 500) { Serial.println(" - (Blue Color)"); tmrpcm.play("dua.wav"); delay(7000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1(); }
}
else if (green < red && green < blue) { Serial.println(" - (Green Color)"); tmrpcm.play("tiga.wav"); delay(5000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L13
} }
else if (red < blue && red < green && red < 730) { Serial.println(" - (kuning Color)"); tmrpcm.play("empat.wav"); delay(5000); tmrpcm.disable(); val1=digitalRead(input1); if(val1==LOW){ alarm1(); } }
else{ Serial.println(); } } } }
void alarm() { val=digitalRead(input); tmrpcm.play("alarm.wav"); delay(1000); tmrpcm.disable(); if(val==HIGH){
setup; } else{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L14
alarm(); } }
void alarm1() { val1=digitalRead(input1); tmrpcm.play("alarm.wav"); delay(1000); tmrpcm.disable(); if(val1==HIGH){
setup; } else{ alarm1(); } }
void color() { digitalWrite(s2, LOW); digitalWrite(s3, LOW); //count OUT, pRed, RED red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); digitalWrite(s3, HIGH); //count OUT, pBLUE, BLUE blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); digitalWrite(s2, HIGH); //count OUT, pGreen, GREEN green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); }
void color1()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L15
{ digitalWrite(s21, LOW); digitalWrite(s31, LOW); //count OUT, pRed, RED red = pulseIn(out1, digitalRead(out1) == HIGH ? LOW : HIGH); digitalWrite(s31, HIGH); //count OUT, pBLUE, BLUE blue = pulseIn(out1, digitalRead(out1) == HIGH ? LOW : HIGH); digitalWrite(s21, HIGH); //count OUT, pGreen, GREEN green = pulseIn(out1, digitalRead(out1) == HIGH ? LOW : HIGH); }