TUGAS AKHIR LEMARI PENYIMPANAN BERBICARA · PDF fileFakultas Sains dan Teknologi Universitas...
Transcript of TUGAS AKHIR LEMARI PENYIMPANAN BERBICARA · PDF fileFakultas Sains dan Teknologi Universitas...
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
vi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
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. Keterangan Penggunaan Alat ........................................ 31
1.2. Pengujian Alat ............................................................................... 33
1.2.1. Pengujian Pembacaan Warna TCS3200 ...................... 33
1.2.2. Pengujian Suara ................................................................36
1.2.3. Pengujian Limit Switch .................................................... 37
1.3. Perangkat Lunak .............................................................................39
BAB V : KESIMPULAN DAN SARAN
5.1. Kesimpulan ..................................................................................... 44
5.2. Saran ............................................................................................... 44
DAFTAR PUSTAKA ............................................................................................ 45
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
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 .............................................................. 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
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 .............................................. 33
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 …….......................... 36
Tabel 4.8. ImplementasiTeganganKeluaranLimit Swith ……………... 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
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
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 jurnal-
jurnal 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 dan
mempertimbangkan permasalahan serta kebutuhan terhadap tugas akhir ini.
Gambar 1.1. Alur kerja sistem
SensorWarna
TCS3200
LimitSwitch
ArduinoUno
Sd CardShield
Amplifier
Speaker
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
5
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 register-
register 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.
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 Development
Enviroment). Interface IDE dapat dilihat pada gambar 2.2.
Gambar 2.2. Software Arduino IDE
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 =×
(2.2)
Z dan 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 Ground
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 Power Supply
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
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.
Kebagian yang membutuhkan
Gambar 3.1 Diagram Blok Perancangan
Sensor warnaTCS3200
Limit Switch
Sd CardArduino UnoAmplifier
Output suara Power Supply5V dan 12V
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.
Gambar 3.4. Rangkaian board Arduino dengan ATmega328 [12]
PB0/ICP1/CLKO/PCINT0 14
PB1/OC1A/PCINT1 15
PB3/MOSI/OC2A/PCINT3 17PB2/SS/OC1B/PCINT2 16
PD6/AIN0/OC0A/PCINT2212 PD5/T1/OC0B/PCINT2111 PD4/T0/XCK/PCINT206 PD3/INT1/OC2B/PCINT195 PD2/INT0/PCINT184 PD1/TXD/PCINT173 PD0/RXD/PCINT162
PB4/MISO/PCINT4 18
PB5/SCK/PCINT5 19
PB7/TOSC2/XTAL2/PCINT7 10PB6/TOSC1/XTAL1/PCINT6 9
PC6/RESET/PCINT14 1PC5/ADC5/SCL/PCINT13 28PC4/ADC4/SDA/PCINT12 27PC3/ADC3/PCINT11 26PC2/ADC2/PCINT10 25PC1/ADC1/PCINT9 24PC0/ADC0/PCINT8 23
AVCC20 AREF21
PD7/AIN1/PCINT2313
U1
ATMEGA328P
1234
ISD4004
CONN-H4
12
RTC DS1307
CONN-H2
12
LEDCONN-H2
12
TOMBOLCONN-H2
123456
LCD
CONN-H6
12
SAKLAR
CONN-H2
D4D5D6D7RSE
1KEYPAD
CONN-SIL1
SSMOSIMISOSCLK
SDASCL
PCO
X1
CRYSTAL
C122pF
C222pF
5v
R110k
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 yangmenentukan dan mengatur cara kerja alat sesuai dengan yang diinginkan.
Gambar 3.9. Flowchart utama
Mulai
Keluarkanoutput suara
Apakahsudah
ditutup?
Baca dataSD Card
Delay 7s
Selesai
T
Y
Alarmberbunyi
Deteksi limitSwitch
Setting jenis suara
Apakahsudah
dibuka?
Y
T
Kalibrasi Sensor
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.
Gambar 3.10 Subrutin Setting Jenis Suara
Mulai
Ambil databutton
Sudahditekan?
?
SuaraPria
SuaraWanita
RET
T Y
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.3.2 Subrutin Kalibrasi Sensor
Program ini berisi syarat-syarat pengecekan tiap warna yang dilakukan sebelummemanggil data suara dalam SD Card.
Mulai
Kalibrasisyarat warna
merah
Baca datasuara merah
Kalibrasisyarat warna
biru
Baca datasuara biru
Kalibrasisyarat warna
hijau
Baca datasuara hijau
Kalibrasisyarat warna
kuning
Baca datasuara kuning
Gambar 3.11. Subrutin Kalibrasi Sensor
RET
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
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.
Gambar 4.1 Lemari Berbicara Berbasis Arduino
1
2
3
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. Masing-
masing 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 Contoh
Merah #DB364A 219 54 74
Biru #0082BE 0 130 190
Hijau #00A000 0 160 0
Kuning #978F06 151 143 6
Pengujian akan dilakukan dengan lima kali membuka pintu lemari pada masing-
masing 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 Pengujian Sensor untuk Wadah Hijau
No 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 Pengujian Sensor untuk Wadah Biru
No 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 Pengujian Sensor untuk Wadah Kuning
No 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. Masing-
masing 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 Suara dengan Sensor Warna
Pengujian Warna
wadah
Suara Gambar sinyal keluaran suara
1 merah cabe
2 hijau garam
3 biru gula
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
44
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
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-DASAR-
MIKROKONTROLER#scribd, diakses 15 Oktober 2015.
[3] Agus, 2012, Pengertian Mikrokontroller,http://elektronika-dasar.web.id/pengertian-
dan-kelebihan-mikrokontroler/, diakses 15 Oktober 2015.
[4] Ilham, 2014, Pengertian dan Kelebihan Arduino, http://www.it-
jurnal.com/2014/05/pengertian-dan-kelebihan-arduino.html, diakses 15 Oktober 2015.
[5] Ihsan, 2013 , Pengertian Arduino Uno, http://www.caratekno.com/2015/07/pengertian-
arduino-uno-mikrokontroler.html, diakses 23 Oktober 2015.
[6] Agus, 2012, Power Amplifier Kelas D, http://elektronika-dasar.web.id/power-
amplifier-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-Why-
Should-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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
[11] Agus, 2012, Limit Switch dan Saklar Push On, http://elektronika-dasar.web.id/limit-
switch-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/operasional-
amplifier-op-amp/, diakses 17 November 2015.
[15] Agus, 2012, Power Amplifier Mini Lm386, http://elektronika-dasar.web.id/power-
amplifer-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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
SKEMATIK RANGKAIAN
DIGITAL(~PWM)
ANALOGIN
ATMEGA328P-PU1121
~ ~~ ~ ~ ~ TX
RX
PD
0/R
XD0
PD
1/TX
D1
PD
2/IN
T02
PD
3/IN
T13
PD
4/T0
/XC
K4
PD
5/T1
5P
D6/
AIN
06
PD
7/A
IN1
7
PB
0/IC
P1/
CLK
O8
PB
1/O
C1A
9P
B2/
SS
/OC
1B10
PB
3/M
OS
I/OC
2A11
PB
4/M
ISO
12P
B5/
SCK
13
AR
EF
PC
5/A
DC
5/SC
LA5
PC
4/A
DC
4/SD
AA4
PC
3/A
DC
3A3
PC
2/A
DC
2A2
PC
1/A
DC
1A1
PC
0/A
DC
0A0
RE
SET
AR
D1
AR
DU
INO
UN
O R
3
SW1
SW
-SPS
T
SW2
SW
-SPS
T
R1
10k
R2
10k
S0 S1P
IN
OE
PIN
GN
DP
IN
S2P
IN
S3P
IN
OU
TP
IN
VC
CP
IN
S0 S1P
IN
OE
PIN
GN
DP
IN
S2P
IN
S3P
IN
OU
TP
IN
VC
CP
IN
5 v
53 2
6 471
8
U1
LM38
6
RV1
10K
C2
10uF
R1
10
12 V
LS1
SP
EAK
ER
AMPL
IFIE
R
MO
SI
PIN
MIS
OP
INS
CK
PIN
CS
PIN
5 V
PIN
GN
DP
IN
MO
DU
L SD
CAR
D
MO
DE
SW
-SPS
T
R3
10k
SEN
SOR
WAR
NA
SEN
SOR
WAR
NA
C5
10uF
C6
0.05
uF
C7
250u
F
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
LISTING PROGRAM ARDUINO
#include <SD.h>
#define SD_ChipSelectPin 4
#include <TMRpcm.h>
#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);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI