LAPORAN TUGAS AKHIR
STEVANI BANIA VENESA HULU 162408013
PROGRAM STUDI D-3 FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2019
LAPORAN TUGAS AKHIR
DIAJUKAN UNTUK MELENGKAPI TUGAS AKHIR DAN MEMENUHI SYARAT MEMPEROLEH GELAR AHLI MADYA
STEVANI BANIA VENESA HULU 162408013
PROGRAM STUDI D-3 FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2019
s
SISTEM OTOMATIS KENDALI LAMPU DAN PAGAR
MEMANFAATKAN SENSOR SUARA VOICE RECOGNITION DAN SIM 800L BERBASIS ARDUINO UNO
LAPORAN PROYEK
Saya menyatakan bahwa laporan proyek ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 08 Juli 2019
Stevani Bania Venesa Hulu
ABSTRAK
Perkembangan ilmu pengetahuan dan teknologi membawa dampak positif dalam kehidupan manusia yang pada saat ini telah sampai pada zaman perintah suara. Sistem kontrol rumah pintar dapat membantu mempermudah pekerjaan manusia tanpa harus berpindah dari tempat dia berada seperti membuka dan menutup pagar yang kadang membuat kita malas karena harus turun dari kendaraan kita. Masalah lain ketika kita harus melakukan kontak langsung dengan saklar adalah resiko keamanan seperti tersengat listrik. Pengelolaan suara digital dikontrol dengan aplikasi untuk mengenali adanya perintah suara yang dideteksi.
Oleh karena itu dalam proyek ini akan dirancang Aplikasi Pengenalan Suara sebagai Pengendali Peralatan berbasis Arduino Uno. Digunakan modul Voice Recognition module V3.1 sebagai sensor pengenalan suara. Penerapan aplikasi pengenalan suara pada peralatan listrik ini menggunakan Relay yang berfungsi sebagai saklar, digunakan michrophone wireless agar pengucapan dapat dilakukan dari jarak jauh.
Kata kunci : Arduino UNO, Pengenalan Suara, Voice Recognition module V3.1
ABSTRACT
The development of science and technology has had a positive impact on human life which at this time has reached the era of voice commands. Smart home control system can help facilitate the work of humans without having to move from where he is like opening and closing the fence which sometimes makes us lazy because we have to get off our vehicle. Another problem when we have to make direct contact with a switch is a security risk such as electric shock.
Management of digital sound is controlled by an application to recognize the presence of a voice command detected. Therefore, in this project the Voice Recognition Application will be designed as an Arduino Uno-based Equipment Controller. The Voice Recognition module V3.1 module is used as a speech recognition sensor. The application of speech recognition applications on electrical equipment uses a relay that functions as a switch, used wireless microphone so that pronunciation can be done remotely.
Keywords :Arduino UNO, Voice Recognition, Voice Recognition module V3.1
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang dengan limpah karunia-Nya Penulis dapat menyelesaikan penyusunan laporan Tugas Akhir ini dengan judul Sistem Otomatis Kendali Lampu Dan Pagar Memanfaatkan Sensor Suara Voice Recognition Berbasis Arduino Uno.
Dalam melaksanakan penulisan laporan ini, penulis telah banyak mendapatkan bimbingan dan bantuan dari banyak pihak, baik berupa material, informasi baik secara langsung maupun tidak langsung. Penulis mengucapkan terimakasih yang sebesar-besarnya kepada:
1. Kedua orangtua dan adik penulis yaitu Bapak H. Hulu, Ibu M. Purba dan Januardo Hulu yang senantiasa memberikan dukungan baik semangat, materi dan doa.
2. Bapak Dr. Kerista Sebayang,M.S selaku Dekan Fakultas Matematika dan Pengetahuan Alam Universitas Sumatera Utara
3. Bapak Drs. Takdir Tamba,M.Eng.Sc selaku Ketua Program Studi D-3 Fisika Fakultas Matematika dan Pengetahuan Alam Universitas Sumatera Utara
4. Bapak Drs. Aditia Warman, M.Si selaku sekertaris program studi D-3 Fisika Fakultas Matematika dan Pengetahuan Alam Universitas Sumatera Utara
5. Bapak Junedi Ginting S.Si., M.Si. selaku pembimbing yang telah meluangkan waktunya selama penyusunan laporan tugas akhir ini.
6. Seluruh Staf Pengajar/Pegawai Program studi D-3 Fisika Fakultas Matematika dan Pengetahuan Alam Universitas Sumatera Utara
Medan, 08 Juli 2019
Stevani Bania Venesa Hulu
PENGESAHAN LAPORAN PROYEK
ABSTRAK i
ABSTRACT ii
PENGHARGAAN iii
DAFTAR ISI iv
DAFTAR TABEL vi
DAFTAR GAMBAR vii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 1
1.3 Tujuan Penulisan 2
1.4 Batasan Masalah 2
1.5 Manfaat Praktek Proyek 2
1.6 Sistematika Penulisan 2
BAB 2 TINJAUAN PUSTAKA 4
2.1 Elechouse Voice Recognition Module V3.1 4
2.2 Arduino UNO 8
2.2.1 Konfigurasi Pin Arduino Uno 10
2.3 Modul Relay 11
2.4 Driver Motor Stepper 14
BAB 3 PERANCANGAN DAN IMPLEMENTASI 19
3.1 Diagram Blok Sistem 19
3.2 Flow Chart Sistem 20
3.3 Gambar Rangkaian 20
3.3.1 Mikrokontroler 22
3.3.2 Gambar Voice Recognition 22
3.3.3 Gambar Rangkaian Arduino dan Modul Relay 23
BAB 4 PENGUJIAN DAN PEMBAHASAN 27
4.1 Pengukuran dan Hasil Pengukuran 27
4.1.1 Voice Recognition 27
4.2 Analisis dan Pembahasan 28
4.2.1 Voice Recognition 28
4.2.2 SIM 800L 29
4.2.3 Pengujian Alat Keseluruhan 29
4.3 Gambar Fisik Keseluruhan Sistem 40
BAB 5 PENUTUP 41
5.1 Kesimpulan 41
5.2 Saran 41
DAFTAR PUSTAKA 42
LAMPIRAN
1. Datasheet Voice Recognition V3.1 2. Datasheet Driver Motor Stepper 3. Datasheet Modul Relay
4. Datasheet SIM 800L 5. Datasheet Arduino Uno
Yang Suaranya Dijadikan Sample untuk Kata Hidup dan Mati Lampu
Tabel 4.2 Hasil Pengujian Pemberian Perintah Oleh Orang 27 Yang Suaranya Dijadikan Sample untuk Kata Buka dan
Tutup Pagar
Tabel 4.3 Hasil Pengujian Pemberian Perintah Pada 5 Orang Yang 28 Berbeda untuk Kata Hidup dan Mati Lampu
Tabel 4.4 Hasil Pengujian Pemberian Perintah Pada 5 Orang Yang 29 Berbeda untuk Kata Buka dan Tutup Pagar
Gambar 2.3 Modul Relay 14
Gambar 2.4 Gambar Elektronika Relay 14
Gambar 2.5 Motor Stepper Unipolar 16
Gambar 2.6 Motor Stepper Bipolar 16
Gambar 2.7 Driver Motor Stepper 17
Gambar 2.8 Elektronika Driver Motor Stepper 17
Gambar 2.9 SIM 800L 18
Gambar 2.10 Alur Data SMS Gateway 18
Gambar 3.1 Diagram Blok Sistem 19
Gambar 3.2 Flow Chart Sistem Pada Lampu 20
Gambar 3.3 Flow Chart Pada Pagar 21
Gambar 3.4 Mikrokontroler 22
Gambar 3.5 Rangkaian Voice Recognition 23
Gambar 3.6 Rangkaian Modul Relay 23
Gambar 3.7 Rangkaian Driver Motor Stepper 24
Gambar 3.8 Rangkaian SIM 800L 25
Gambar 3.9 Rangkaian Keseluruhan Sistem 26
Gambar 4.1 Gambar Fisik Keseluruhan Sistem 40
1.1 Latar Belakang
Berkembangnya ilmu pengetahuan dan teknologi saat ini semakin banyak memberikan kemudahan dalam hidup manusia. Dimana segala hal yang banyak diterapkan ilmu pengetahuan dan teknologi dengan mesin ataupun elektronika, sehingga pekerjaan manusia dapat dikerjakan dengan mudah tanpa harus membuang tenaga dan mempersingkat waktu. Berbagai alat rumah tangga banyak yang sudah menggunakan alat elektronika tersebut, sehingga meringankan pekerjaan manusia dalam kehiupan sehari-hari, salah satunya adalah pengendali lampu dan pagar secara otomatis menggunakan Voice recognition, dapat memudahkan dalam membuka dan menutup pagar tanpa bersusah payah mendorong atau menggeser pagar. Dan tidak harus bergerak berpindah tempat menuju titik beradanya saklar lampu kemudian melakukan kontak fisik untuk menekan saklar, selain aman karena tidak kontak fisik dengan saklar, penggunaan Voice recognition dapat memudahkan lansia yang sudah susah bergerak dan berdiri mengendalikan lampu rumah tanpa menyentuh saklar dan aman tanpa tersengat listrik.
Pengolahan suara digital dikontrol dengan aplikasi untuk mengenali adanya perintah suara yang dideteksi. Teknologi ini bekerja dengan menangkap suara manusia yang diubah menjadi format digital sehingga dapat diterjemahkan dalam suatu sistem. Kemudian sistem tersebut akan membandingkan antara informasi masukkan yang sudah berupa format digital tersebut dengan database suara yang ada.
Perkembangan control suara pengendali rumah dengan teknologi ini bisa menjai acuan rumah masa depan, dimana kita tidak perlu berpindah tempat hanya untuk menyalakan dan mematikan suatu peralatan listrik yang ada di dalam rumah kita.
1.2 Rumusan Masalah
Berdasarkan berbagai hal yang telah dikemukakan diatas, maka rumusan masalah yang akan dikaji dalam tugas akhir ini adalah Bagaimana sistem kerja dari alat kendali lampu dan pagar otomatis? Bagaimana merancang alat kenadali lampu dan pagar otomatis menggunakan Voice Recognition berbasis arduino uno?
Bagaimana menghubungkan sensor dengan mikrokontroler? Bagaimana cara kerja SMS Gateway pada alat ini?
1.3 Tujuan Penulisan
Adapun tujuan penulisan dari praktek proyek ini adalah : 1. Sebagai persyaratan untuk membuat Tugas Akhir
2. Membuat dan memahami cara-cara membuat Tugas Akhir
3. Memanfaatkan Voice Recognition sebagai sistem kendali lampu dan pagar
1.4 Batasan Masalah
Pembatasan suatu masalah digunakan untuk menghindari adanya penyimpangan maupun pelebaran pokok masalah. Beberapa batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Dalam pembahasan proyek ini, membahas tentang bagaimana perancangan alat, pengujian alat, tahap pengukuran.
2. Proyek ini menggunakan mikrokontroler Arduino uno dan Voice Recognition
1. 5 Manfaat
Manfaat dari penulisan praktek proyek ini adalah:
1. Dengan adanya alat ini maka tidak perlu berpindah tempat menekan saklar untuk menghidupkan atau mematikan lampu dan berpindah tempat untuk membuka atau menutup pagar.
2. Menambah pengetahuan penulis dalam bidang elektronika.
1.6 Sistematika Penulisan
Berikut merupakan sistem penulisan yang digunakan dalam penyusunan laporan proyek :
1. BAB I PENDAHULUAN
Bab ini berisi penjelasan mengenai latar belakang pemilihan judul, rumusan masalah, tujuan penulisan, batasan masalah, metode penulisan dan sistematika penulisan.
2. BAB II LANDASAN TEORI
Bab ini berisi landasan teori yang menjadi referensi utama dalam penulisan tugas akhir. Teori yang dibahas berhubungan dengan sistem yang akan dibuat dan juga yang akan digunakan untuk kepentingan analisis dan perancangan.
3. BAB III PERANCANGAN SISTEM
Bab ini membahas tentang perancangan alat diagram blok, diagram alir, gambar rangkaian, dan pengujian rangkaian yang dapat menghasilkan Sistem Otomatis Kendali Lampu Dan Pagar Memanfaatkan Sensor Suara Berbasis Arduino Uno.
4. BAB IV PENGUIAN DAN ANALISA RANGKAIAN
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler.
5. BAB V PENUTUP
Bab ini menjelaskan tentang kesimpulan dari pengujian dan saran masukan untuk mengembangkan dan melengkapi sistem yang sudah dibangun untuk masa yang mendatang.
BAB 2
TINJAUAN PUSTAKA
2.1 Elechouse Voice Recognition Module V3.1
Voice Recognition adalah suatu sistem yang dapat mengidentifikasi seseorang melalui suaranya atau mengidentifikasi siapa yang berbicara. Voice recognition dibagi menjadi dua jenis, yaitu :
a. Speech Recognition
Speech recognition merupakan proses yang dilakukan computer untuk identifikasi suara yang diucapkan oleh seseorang tanpa mempedulikan identitas orang terkait.
Implementasi speech recognition misalnya perintah suara untuk menjalankan aplikasi komputer. Parameter yang dibandingkan ialah tingkat penekanan suara yang kemudian akan dicocokkan dengan template database yang tersedia. Speech recognition juga dikenal sebagai automatic speech recognition atau computer speech recognition yaitu penerjemah perkataan yang diucapkan menjadi text. Teknologi speech recognition ini sudah ada sejak lama dan sekarang banyak sekali jenis aplikasi yang dikembangkan menggunakan teknologi ini. (Santoso,2012). Skema Utama Speech Recognition, terdapat 4 langkah utama dalam sistem pengenalan suara:
1. Penerimaan data input.
2. Ekstraksi, yaitu penyimpanan data masukan sekaligus pembuatan database untuk template.
3. Pembandingan/pencocokan, yaitu tahap pencocokan data baru dengan data suara (pencocokan tata bahasa) pada template.
4. Validasi identitas pengguna.
Secara umum, speech recognition memproses sinyal suara yang masuk dan menyimpannya dalam bentuk digital. Hasil proses digitalisasi tersebut kemudian dikonversi dalam bentuk spektrum suara yang akan dianalisa dengan membandingkan dengan template suara pada database sistem. Sebelumnya, data suara masukan dipilah-pilah dan diproses satu per satu berdasarkan urutannya.
Pemilahan ini dilakukan agar proses analisis dapat dilakukan secara paralel.
b. Speaker recognition
Speaker recognition Merupakan sistem pengenalan identitas yang diklaim oleh seseorang dari suaranya atau berdasarkan orang yang berbicara. Misalnya berupa intonasi suara, tingkat kedalaman suara, dan sebagainya.
Modul voice recognition multi-fungsi yang dapat digunakan pada banyak aplikasi pengontrolan yang membutuhkan pendeteksian suara dan percakapan.
Modul ini dapat digunakan/dihubungkan dengan board mikrokontroler Arduino.
Cocok digunakan untuk beragam aplikasi seperti home automation (dimana kita dapat mengontrol nyala lampu, kunci pintu, televisi, atau perangkat lainnya) atau sebagai modul pelengkap sensor pendengaran robot yang dibuat sebagaimana robot- robot canggih yang dijual di pasaran yang harganya luar biasa mahal.
Sensor suara yang digunakan pada alat ini ialah Elechouse V3 yaitu salah satu modul pengenalan suara yang paling ringkas dan mudah dikendalikan di pasaran. Ada dua cara untuk menggunakan modul ini, menggunakan port serial atau melalui pin GPIO built-in. Papan V3 memiliki kapasitas untuk menyimpan hingga 80 perintah suara masing-masing dengan durasi 1500 milidetik. Yang satu ini tidak akan mengubah perintah Anda menjadi teks tapi akan membandingkannya dengan kumpulan suara yang sudah terekam. Jadi secara teknis tidak ada hambatan bahasa untuk menggunakan produk ini. Anda bisa merekam perintah Anda dalam bahasa apapun atau secara harfiah suara apapun dapat direkam dan digunakan sebagai perintah. Jadi Anda perlu melatihnya terlebih dahulu sebelum Anda membiarkannya mengenali perintah suara apa pun.
Voice Command Recognition System atau yang sering kali disebut dengan teknologi Speech Recognition (pengenalan kalimat atau kata) dalam ilmu komputer dan teknik elektronika adalah sebuah sistem yang mengubah kalimat suara menjadi kode - kode digital yang berfungsi sebagai perintah untuk melakukan sesuatu pada sistem, sebagai contoh adalah mengemudikan kendaraan, mematikan atau menghidupkan Lampu, maupun tugas – tugas yang lainnya.
Terdapat 4 langkah utama dalam sistem pengenalan suara:
1. Penerimaan data input
2. Ekstraksi, yaitu penyimpanan data masukan sekaligus pembuatan database untuk template.
3. Pembandingan / pencocokan, yaitu tahap pencocokan data baru dengan data suara (pencocokan tata bahasa) pada template atau database.
4. Validasi identitas pengguna.
Jenis – Jenis Speech Recognition
Berdasarkan kemampuan dalam mengenal kata yang diucapkan, terdapat 5 jenis pengenalan kata, yaitu:
1. Kata-kata yang terisolasi: Proses pengidentifikasian kata yang hanya dapat mengenal kata yang diucapkan jika kata tersebut memiliki jeda waktu pengucapan antar kata
2. Kata-kata yang berhubungan: Proses pengidentifikasian kata yang mirip dengan kata-kata terisolasi, namun membutuhkan jeda waktu pengucapan antar kata yang lebih singkat
3. Kata-kata yang berkelanjutan: Proses pengidentifikasian kata yang sudah lebih maju karena dapat mengenal kata-kata yang diucapkan secara berkesinambungan dengan jeda waktu yang sangat sedikit atau tanpa jeda waktu. Proses pengenalan suara ini sangat rumit karena membutuhkan metode khusus untuk membedakan kata-kata yang diucapkan tanpa jeda waktu. Pengguna perangkat ini dapat mengucapkan kata-kata secara natural 4. Kata-kata spontan: Proses pengidentifikasian kata yang dapat mengenal kata-
kata yang diucapkan secara spontan tanpa jeda waktu antar kata
5. Verifikasi atau identifikasi suara: Proses pengidentifikasian kata yang tidak hanya mampu mengenal kata, namun juga mengidentifikasi siapa yang berbicara.
Kelebihan dan Kekurangan Menggunakan Speech Recognition Kelebihan:
1. Cepat
Teknologi ini mempercepat transmisi informasi dan umpan balik dari transmisi tersebut. Contohnya pada komando suara. Hanya dalam selang waktu sekitar satu atau dua detik setelah kita mengkomandokan perintah melalui suara, komputer sudah memberi umpan balik atas komando kita.
2. Mudah digunakan
Kemudahan teknologi ini juga dapat dilihat dalam aplikasi komando suara.
Komando yang biasanya kita masukkan ke dalam komputer dengan menggunakan tetikus atau papan ketik kini dapat dengan mudahnya kita lakukan tanpa perangkat keras, yakni dengan komando suara.
Kekurangan:
1. Rawan terhadap gangguan. Hal ini disebabkan oleh proses sinyal suara yang masih berbasis frekuensi. Ketika sebuah informasi dalam sinyal suara mempunyai komponen frekuensi yang sama banyaknya dengan komponen frekuensi gangguannya, akan sulit untuk memisahkan gangguan dari sinyal suara.
2. Jumlah kata yang dapat dikenal terbatas. Hal ini disebabkan pengenal ucapan bekerja dengan cara mencari kemiripan dengan basis data yang dimiliki.
Penerapan Speech Recognition 1. Bidang komunikasi
a. Komando Suara adalah suatu program pada komputer yang melakukan perintah berdasarkan komando suara dari pengguna. Contohnya pada aplikasi Microsoft Voice yang berbasis bahasa Inggris. Ketika pengguna mengatakan
“Mulai kalkulator” dengan intonasi dan tata bahasa yang sesuai, komputer akan segera membuka aplikasi kalkulator. Jika komando suara yang diberikan sesuai dengan daftar perintah yang tersedia, aplikasi akan memastikan komando suara dengan menampilkan tulisan “Apakah Anda meminta saya untuk ‘mulai kalkulator’?”. Untuk melakukan verifikasi, pengguna cukup mengatakan “Lakukan” dan komputer akan langsung beroperasi.
b. Pendiktean adalah sebuah proses mendikte yang sekarang ini banyak dimanfaatkan dalam pembuatan laporan atau penelitian. Contohnya pada aplikasi Microsoft Dictation yang merupakan aplikasi yang dapat menuliskan apa yang diucapkan oleh pengguna secara otomatis.
2. Telepon
Pada telepon, teknologi pengenal ucapan digunakan pada proses penekanan tombol otomatis yang dapat menelpon nomor tujuan dengan komando suara.
3. Bidang kesehatan
Alat pengenal ucapan banyak digunakan dalam bidang kesehatan untuk membantu para penyandang cacat dalam beraktivitas. Contohnya pada aplikasi Antarmuka Suara Pengguna atauVoice User Interface (VUI) yang menggunakan teknologi pengenal ucapan dimana pengendalian saklar lampu misalnya, tidak perlu dilakukan secara manual dengan menggerakkan saklar tetapi cukup dengan mengeluarkan perintah dalam bentuk ucapan sebagai saklarnya. Metode ini membantu manusia yang secara fisik tidak dapat menggerakkan saklar karena cacat pada tangan misalnya. Penerapan VUI ini tidak hanya untuk lampu saja tapi bisa juga untuk aplikasi-aplikasi kontrol yang lain.
Gambar 2.1 Modul Voice Recognition
2.2 Arduino UNO
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah
software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller.
Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika dan elektronika lewat arduino karena mudah dipelajari.
Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan arduino. Ada banyak projek dan alat-alat yang dikembangkan oleh mereka, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan dengan arduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi. Bahasa yang dipakai dalam arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan (libraries) Arduino. Arduino juga menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara lain:
a. Arduino biasanya dijual relatif murah (antara 125 ribu hingga 400 ribu rupiah saja) dibandingkan dengan platform mikrokontroler pro lainnya. Harganya akan lebih murah lagi jika pengguna membuat papannya sendiri dan merangkai komponen-komponennya satu per satu.
b. Software Arduino dapat dijalankan pada sistem operasi Windows, Macintosh OSX dan Linux, sementara platform lain umumnya terbatas hanya pada Windows.
c. Perlu diketahui bahwa lingkungan pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi mereka yang sudah tingkat lanjut.
Untuk guru/dosen, Arduino berbasis pada lingkungan pemrograman processing, sehingga jika mahasiswa atau murid-murid terbiasa menggunakan processing tentu saja akan mudah menggunakan Arduino.
d. Perangkat lunak Arduino IDE dipublikasikan sebagai Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih lanjut.
Bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang berbasis pada Bahasa C untuk AVR.
e. Perangkat keras Arduino berbasis mikrokontroler ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang terbaru ATMEGA2560).
Arduino yang digunakan pada alat ini Arduino Uno adalah board berbasis mikrokontroler pada ATmega328 yang memiliki 14 pin digital input / output (dimana 6 pin dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator kristal, sebuah koneksi USB, sebuah konektor sumber tegangan, sebuah header ICSP, dan sebuah tombol reset. Arduino Uno memuat segala hal yang dibutuhkan untuk mendukuang sebuah mikrokontroler. Hanya dengan menghubungkannya ke sebuah komputer melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC ke DC sudah dapat menggunakannya. Arduino Uno menggunakan ATmega16u2 yang diprogram sebagai USBto-serial converter untuk komunikasi serial ke komputer melalui port USB. Tampak atas Arduino Uno dapat dilihat pada gambar 2.2. Adapun data teknis board Arduino Uno adalah sebagai berikut : 1. Mikrokontroller : Atmega328 2. Tegangan Operasi : 5 V
Gambar 2.2 Arduino Uno
2.2.1 Konfigurasi Pin Arduino Uno
Arduino Uno memiliki 14 digital pin input/output, Berikut Konfigurasi pin Arduino Uno :
1. SPI (Serial Peripheral Interface)
Fungsi dari SPI adalah untuk singkronisasi yang digunakan oleh mikrokontroller untuk berkomunikasi dengan satu atau lebih perangkat dengan cepat dalam jarak pendek
2. SCK (Serial Clock)
SCK berfungsi untuk menseting Clock dari master ke slave 3. MOSI (Master out, Slave In)
MOSI di gunakan pada SPI, dimana data di transfer dari Master Ke Slave 4. MISO (Master In, Slave Out)
MISO digunakan pada SPI, dimana data di transfer dari Slave ke master 5. I2C
Protokol yang menggunakan jalur clock(SCL) dengan (SDA) untuk bertukar informasi
6. SCL
Jalur data yang digunakan oleh I2C untuk mengidentifikasi bahwa data sudah siap di transfer
7. SDA
Jalur data (dua arah) yang digunakan oleh I2C 8. ICSP (In Circuit Serial Programming)
ICSP digunakan untuk memprogram sebuah mikrokontroller seperti Atmega328 menggunakan jalur USB Atmega16U2. ICSP sendiri menggunakan jalur SPI untuk transfer data.
9. VCC
Jalur suplay tegangan biasanya +5V 10. IOREF
Input/Output referensi yang berguna untuk melindungi board agar tidak terjadi overvoltage
11. Vin
Pin ini berfungsi untuk mensuplay tegangan dari ekseternal misal adapter.
(jangan mensuplay tegangan dari luar bila board anda sudah mendapatkan suplay dari USB)
12. GND
Jalur Ground 13. USB
Digunakan untuk mentrasfer data dari komputer ke board anda 14. PWM (Pulse Width Modulation)
Pin yang di tandai dengan "~" mendukung Signal PWM, PWM sendiri berfungsi untuk mengatur kecepatan motor, atau kecerahan lampu dan lain lain.
15. Analog Pins
A0-A5 merupakan Pin Analog, membaca nilai analog dari 0-1023
2.3 Modul Relay
Modul relay ini dapat digunakan sebagai switch untuk menjalankan berbagai peralatan elektronik. Misalnya Lampu listrik, Motor listrik, dan berbagai peralatan elektronik lainnya. Kendali ON / OFF switch (relay), sepenuhnya ditentukan oleh nilai output sensor, yang setelah diproses Mikrokontroler akan menghasilkan perintah kepada relay untuk melakukan fungsi ON / OFF.
Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay elektromekanis ini didefinisikan sebagai berikut.
Alat yang menggunakan gaya elektromagnetik untuk menutup atau membuka kontak saklar.
Saklar yang digerakkan secara mekanis oleh daya atau energi listrik.
Sebagai komponen elektronika, relay mempunyai peran penting dalam sebuah sistem rangkaian elektronika dan rangkaian listrik untuk menggerakan sebuah perangkat yang memerlukan arus besar tanpa terhubung langsung dengan perangakat pengendali yang mempunyai arus kecil. Dengan demikian relay dapat berfungsi sebagai pengaman.
Relay terdiri dari 3 bagian utama, yaitu:
1. Common, merupakan bagian yang tersambung dengan Normally Close (dalam keadaan normal).
2. Koil (kumparan), merupakan komponen utama relay yang digunakan untuk menciptakan medan magnet.
3. Kontak, yang terdiri dari Normally Close dan Normally Open.
Dasar-Dasar Relay
Penemu relay pertama kali adalah Joseph Henry pada tahun 1835. Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi dengan sebuah dioda yang diparalel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan () dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.
Penggunaan relay perlu memperhatikan tegangan pengontrolnya serta kekuatan relay men-switch arus/tegangan. Biasanya ukurannya tertera pada body relay. Misalnya relay 12VDC/4 A 220V, artinya tegangan yang diperlukan sebagai pengontrolnya adalah 12Volt DC dan mampu men-switch arus listrik (maksimal) sebesar 4 ampere pada tegangan 220 Volt. Sebaiknya relay difungsikan 80% saja dari kemampuan maksimalnya agar aman, lebih rendah lagi lebih aman. Relay jenis lain ada yang namanya reedswitch atau relay lidi. Relay jenis ini berupa batang kontak terbuat dari besi pada tabung kaca kecil yang dililitin kawat. Pada saat lilitan kawat dialiri arus, kontak besi tersebut akan menjadi magnet dan saling menempel sehingga menjadi saklar yang on. Ketika arus pada lilitan dihentikan medan magnet hilang dan kontak kembali terbuka (off).
Prinsip Kerja
Relay merupakan komponen listrik yang memiliki prinsip kerja magnet dengan induksi listrik. Relay terdiri atas bagian-bagian utama sebagai berikut.
1. Coil atau Kumparan, merupakan gulungan kawat yang mendapat arus listrik.
adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil.
2. Contact atau Penghubung, adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil. Contactada 2 jenis
: Normally Open (kondisi awal sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan close).
Cara kerja relay adalah sebagai berikut :
1. Saat Coil mendapatkan energi listrik (energized) akan menimbulkan gaya elektromanetik
2. Gaya magnet yang ditimbulkan akan menarik plat/lengan kontak (armature) berpegas (bersifat berlawanan), sehingga menghubungkan 2 titik contact
Gambar 2.3 Modul Relay
Gambar 2.4 Gambar elektronika Relay
2.4 Driver Motor Stepper
Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut. Motor stepper merupakan motor listrik yang tidak mempunyai komutator, di mana semua
lilitannya merupakan bagian dari stator. Dan pada rotornya hanya merupakan magnet permanen. Semua komutasi setiap lilitan harus di kontrol secara eksternal sehingga motor stepper ini dapat dikontrol sehingga dapat berhenti pada posisi yang diinginkan atau bahkan berputar ke arah yang berlawanan.
Kelebihan Motor Stepper
Kelebihan motor stepper dibandingkan dengan motor DC biasa adalah :
1. Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.
2. Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak 3. Posisi dan pergerakan repetisinya dapat ditentukan secara presisi
4. Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran)
5. Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC
6. Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya
7. Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.
Prinsip kerja motor stepper sebenarnya sangatlah sederhana, yakni dengan mengubah pulsa-pulsa input menjadi gerakan-gerakan mekanis yang diskrit. Oleh sebab itu agar gerakan motor stepper sesuai, diperlukan pengendali yang berfungsi membangkitkan pulsa-pulsa periodik. Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan. Jika diterapkan logika 0, maka motor akan berputar berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan logika 1, maka motor akan berputar dengan arah sesuai dengan ajah jarum jam (clockwise).
Berdasarkan metode perancangan rangkain pengendalinya, motor stepper dapat dibagi menjadi 2 jenis yaitu motor stepper unipolar dan motor stepper bipolar.
a.Motor Stepper Unipolar
Rangkaian pengendali motor stepper unipolar lebih mudah dirancang karena hanya memerlukan satu switch / transistor setiap lilitannya. Untuk menjalankan dan
menghentikan motor ini cukup dengan menerapkan pulsa digital yang hanya terdiri atas tegangan positif dan nol (ground) pada salah satu terminal lilitan (wound) motor sementara terminal lainnya dicatu dengan tegangan positif konstan (VM) pada bagian tengah (center tap) dari lilitan seperti pada gambar berikut.
Gambar 2.5 Motor Stepper Unipolar
b.Motor Stepper Bipolar
Untuk motor stepper dengan lilitan bipolar, diperlukan sinyal pulsa yang berubah- ubah dari positif ke negatif dan sebaliknya. Jadi pada setiap terminal lilitan (A & B) harus dihubungkan dengan sinyal yang mengayun dari positif ke negatif dan sebaliknya. Karena itu dibutuhkan rangkaian pengendali yang agak lebih kompleks daripada rangkaian pengendali untuk motor unipolar. Motor stepper bipolar memiliki keunggulan dibandingkan dengan motor stepper unipolar dalam hal torsi yang lebih besar untuk ukuran yang sama.
Gambar 2.6 Motor Stepper Bipolar
Gambar 2.7 Driver Motor Stepper
Gambar 2.8 Gambar elektronika Driver Motor Stepper
2.5 SIM 800L
Modem GSM adalah sebuah perangkat elektronik yang berfungsi sebagai alat pengirim dan penerima pesan SMS. Sebuah modem GSM terdiri dari beberapa bagian, di antaranya adalah lampu indikator, terminal daya, terminal kabel ke komputer, antena dan untuk meletakkan kartu SIM.
Gambar 2.9 SIM 800L
SMS gateway adalah sebuah perangkat yang menawarkan layanan transit SMS, mentransformasikan pesan ke jaringan selular dari media lain, atau sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS dengan atau tanpa menggunakan ponsel. Sebagaimana penjelasan diatas, SMS Gateway dapat terhubung ke media lain seperti perangkat SMSC dan server milik Content Provider melalui link IP untuk memproses suatu layanan SMS. Sebuah sistem SMS Gateway, umumnya terdiri komponen Hardware( Server/Komputer yang dilengkapi dengan perangkat jaringan) dan Software (Aplikasi yang digunakan untuk pengolahan pesan). Dan untuk sebuah sistem yang besar umumnya menggunakan Database untuk penyimpanan data.
Gambar 2.10 Alur Data SMS Gateway
BAB 3
PERANCANGAN DAN IMPLEMENTASI
3.1 Diagram Blok Sistem
Untuk mempermudah perancangan sistem diperlukan sebuah diagram blok sistem yang mana tiap blok mempunyai fungsi dan cara kerja tertentu. Adapun diagram blok darisistem yang dirancang adalah sebagai berikut :
Gambar 3.1 Diagram Blok Sistem
Sistem yang telah dirancang mampu terkoneksi dengan handphone melalui koneksi Sim 800 L atau SMS Gateway dengan mengirim perintah melalui SMS kemudian akan diproses oleh Arduino Uno, mikrokontroler yang digunakan adalah Arduino Uno yang berfungsi sebagai pengolah data yang kemudian perintah yang diberikan akan diproses untuk menghidup atau mematikan lampu menggunakan modul relay dan menggerakkan pagar untuk membuka atau menutup pagar dengan driver motor stepper. Dengan ini kita bisa memberi perintah dari jarak jauh apabila kita tidak dapat memberi perintah secara langsung pada sistem menggunakan sensor suara yaitu Voice Recognition karena sensor itu hanya dapat digunakan dengan memberi perintah secara langsumg.
ARDUINO UNO VOICE
RECOGNITION
DRIVER MOTOR STEPPER
PAGAR
RELAY LAMPU
POWER SUPPLY
SIM 800 L
3.2 Flow Chart Sistem
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. Dalam pembuatan sistem yang dilakukan menghasilkan flowchart sebagai berikut:
Gambar 3.2 Flow Chart Sistem Pada Lampu
STAR T
Hidup Inisialisasi Mikrokontroler
SELESA
Baca Sensor
Perintah Hidup/Mat
Lampu Hidup
L. Mati
1
Perintah
1/0 Baca Sim
Perintah ON/OFF
L. Hidup
L. Mati
0
Mati
ON
OFF
Ada Perintah?
Ya
Tidak
Gambar 3.3 Flow Chart Sistem Pada Pagar Buka
Inisialisasi Mikrokontroler
SELESA I
Baca Sensor
Perintah Buka/Tutu
Pagar Terbuka
P. Tertutup
1
Perintah
1/0 Baca Sim
Perintah BUKA/
TUTUP
P. Terbuka
P. Tertutup
0
Tutup BUKA
TUTUP
Ada Perintah?
Ya
Tidak STAR T
3.3 Gambar Rangkaian 3.3.1 Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program, dan terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di dalamnya.
Gambar 3.4 Mikrokontroler
3.3.2 Gambar Voice Recognition
Sensor suara yang digunakan pada alat ini adalah Voice Recognition modul V3.1 sesuai dengan spesifikasinya Voice Recognition V3.1 adalah sebuah modul yang bisa mengontrol perangkat dengan menggunakan suara. Dengan cara memasukan atau merekam suara ke dalam voice itu sendiri. Akurasi pengukuran: 99% (dalam lingkungan yang ideal)
Gambar 3.5 Rangkaian Voice Recognition
3.3.3 Gambar Rangkaian Arduino dan Modul Relay
Modul relay ini dapat digunakan sebagai switch untuk menjalankan berbagai peralatan elektronik. Misalnya Lampu listrik, Motor listrik, dan berbagai peralatan elektronik lainnya. Kendali ON / OFF switch (relay), sepenuhnya ditentukan oleh nilai output sensor, yang setelah diproses Mikrokontroler akan menghasilkan perintah kepada relay untuk melakukan fungsi ON / OFF.
Gambar 3.6 Rangkaian Modul Relay
3.3.4 Gambar Rangkaian Arduino dan Driver Motor Stepper
Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut.. Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan pada pena 13 dari IC 74LS86. Jika diterapkan logika 0, maka motor akan berputar berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan logika 1, maka motor akan berputar dengan arah sesuai dengan ajah jarum jam (clockwise). Gambar di atas adalah contoh bentuk pulsa keluaran yang menggerakkan motor stepper pada arah sesuai dengan jarum jam (clockwise).
Gambar 3.7 Rangkaian Driver Motor Stepper
3.3.5 Gambar Rangkaian SIM 800L
Modul GSM SIM800L adalah sebuah perangkat komunikasi dengan konektivitas GSM/GPRS yang dapat dikontrol menggunakan mikrokontroler[10]. Modul GSM dihubungkan dengan mikrokontroler untuk mengirim dan menerima pesan berupa SMS (Short Message Service). Modul GSM SIM800L digunakan untuk mengirimkan SMS kepada pemilik rumah jika jauh untuk menghidupkan atau mematikan lampu dan membuka atau menutup pagar.
Gambar 3.8 Rangkaian SIM 800L
3.3.6 Gambar Rangkaian Keseluruhan Sistem
Gambar dibawah ini adalah gambar keseluruhan rangkaian Sistem Otomatis Kendali Lampu Dan Pagar Memanfaatkan Sensor Suara Berbasis Arduino Uno sebagai pengatur setiap komponen yang digunakan
Gambar 3.9 Rangkaian Keseluruhan Sistem
BAB 4
PENGUJIAN DAN PEMBAHASAN
4.1 Pengukuran dan Hasil Pengukuran 4.1.1 Voice Recognition
Pengukuran dilakukan dengan metode langsung dengan memberikan perintah pada sensor dari jarak yang berbeda sehingga di dapatkan jarak yang ideal untuk memberikan perintah pada sensor, cara pengukuran menggunakan penggaris :
1. Ucapkan perintah “hidup lampu” atau “mati lampu”
2. Kemudian lihat apakah berjalan atau tidak sistem yang telah diperintahkan Pengukuran dilakukan sebanyak 10 kali, sehingga diperoleh jarak yang ideal
Tabel 4.1 Hasil Pengujian Pemberian Perintah Oleh Orang Yang Suaranya Dijadikan Sample untuk Kata Hidup dan Mati Lampu
No. Jenis Kata Jlh. Perintah Jlh. Perintah berhasil
Persentase keberhasilan
1 Hidup
Lampu 5 4 80%
2 Mati Lampu 5 4 80%
Tabel 4.2 Hasil Pengujian Pemberian Perintah Oleh Orang Yang Suaranya Dijadikan Sample untuk Kata Buka dan Tutup Pagar
No. Jenis Kata Jlh. Perintah Jlh. Perintah berhasil
Persentase keberhasilan
1 Buka Pagar 5 4 80%
2 Tutup Pagar 5 3 60%
4.2 Analisis dan Pembahasan 4.2.1 Voice Recognition
Pengujian ini dilakukan untuk mengetahui seberapa banyak jumlah pengucapan suara yang berhasil dalam mendeteksi pemberian perintah oleh orang yang suranya telah dijadikan sample dan tersimpan pada database dengan orang lain yang suaranya tidak dijadikan sample dan belum tersimpan pada database. Pengujian ini dilakukan oleh 5 orang yang berbeda, sehingga didapatkan hasil akhir pengujian ini adalah persentase tingkat keberhasilan pengucapan masing masing kata.
Tabel 4.3 Hasil Pengujian Pemberian Perintah Pada 5 Orang Yang Berbeda untuk Kata Hidup dan Mati Lampu
Pemberi Perintah
Jlh. Pemberian Perintah
Jlh.
Keberhasilan Perintah
Persentase Keberhasilan
% Hidup
Lampu
Mati Lampu
Hidup Lampu
Mati Lampu
Hidup Lampu
Mati Lampu
Orang ke 1 5 5 0 1 0% 20%
Orang ke 2 5 5 1 1 20% 20%
Orang ke 3 5 5 2 0 40% 0%
Orang ke 4 5 5 1 0 20% 0%
Orang ke 5 5 5 0 0 0% 0%
Persentase tingkat keberhasilan pemberian perintah oleh orang lain rata-rata persentase tingkat keberhasilan untuk kata Hidup Lampu adalah 16% dan keberhasilan untuk kata Mati Lampu adalah 8%.
Tabel 4.4 Hasil Pengujian Pemberian Perintah Pada 5 Orang Yang Berbeda untuk Kata Buka dan Tutup Pagar
Pemberi Perintah
Jlh. Pemberian Perintah
Jlh.
Keberhasilan Perintah
Persentase Keberhasilan
% Buka
Pagar
Tutup Pagar
Buka Pagar
Buka Pagar
Hidup Lampu
Mati Lampu
Orang ke 1 5 5 1 1 20% 20%
Orang ke 2 5 5 2 1 40% 20%
Orang ke 3 5 5 0 1 0% 20%
Orang ke 4 5 5 1 1 20% 20%
Orang ke 5 5 5 1 0 20% 0%
Persentase tingkat keberhasilan pemberian perintah oleh orang lain rata-rata persentase tingkat keberhasilan untuk kata Buka Pagar adalah 20% dan keberhasilan untuk kata Tutup Paga adalah 16%.
4.2.2 SIM 800L
Pengujian ini dilakukan untuk mengetahui apakah SIM 800L dapat menerima perintah
Tabel 4.5 Pengujian SIM 800L
Jenis Kata Perintah Pemberian Perintah Keberhasilan Perintah
ON (Lampu) 3 3
OFF (Lampu) 3 3
BUKA (Pagar) 3 3
TUTUP (Pagar) 3 3
4.2.3 Pengujian Alat Keseluruhan
#include <Stepper.h> // library stepper motor
#define STEPSMOTOR 32 // 32 langkah untuk mencapai 1 putaran penuh
#define STEPSOUTPUT 32*64 // gear ratio dari motor stepper 32*64
#include <SoftwareSerial.h>
#include "VoiceRecognitionV3.h"
SoftwareSerial SIM800(4, 5);
String textMessage;
// Create a variable to store Lamp state String lampState = "HIGH";
/**
Connection
Arduino VoiceRecognitionModule 2 ---> TX
3 ---> RX
*/
VR myVR(2,3); // 2:RX 3:TX, you can choose your favourite pins.
uint8_t records[7]; // save record uint8_t buf[64];
int lampu = 7;
int buka=0;
int tutup=0;
int tombol=12;
int mode=0;
Stepper tutuppagar1(STEPSMOTOR,11,9,10,8); // pin pin yang terhubung 8,10,9,11 Stepper bukapagar1 (STEPSMOTOR,8,10,9,11); // pin pin yang terhubung 8,10,9,11
int Berputar; //pendeklarasian berputar
int jarak = 2; //pendekalrasian jarak //int jarak2 = 2; //pendekalrasian jarak
#define hiduplampu (0)
#define matilampu (1)
#define bukapagar (2)
#define tutuppagar (3)
/**
@brief Print signature, if the character is invisible, print hexible value instead.
@param buf --> command length len --> number of parameters
*/
void printSignature(uint8_t *buf, int len) {
int i;
for(i=0; i<len; i++){
if(buf[i]>0x19 && buf[i]<0x7F){
Serial.write(buf[i]);
} else{
Serial.print("[");
Serial.print(buf[i], HEX);
Serial.print("]");
} } }
/**
@brief Print signature, if the character is invisible, print hexible value instead.
@param buf --> VR module return value when voice is recognized.
buf[0] --> Group mode(FF: None Group, 0x8n: User, 0x0n:System buf[1] --> number of record which is recognized.
buf[2] --> Recognizer index(position) value of the recognized record.
buf[3] --> Signature length buf[4]~buf[n] --> Signature
*/
void printVR(uint8_t *buf) {
Serial.println("VR Index\tGroup\tRecordNum\tSignature");
Serial.print(buf[2], DEC);
Serial.print("\t\t");
if(buf[0] == 0xFF){
Serial.print("NONE");
}
else if(buf[0]&0x80){
Serial.print("UG ");
Serial.print(buf[0]&(~0x80), DEC);
} else{
Serial.print("SG ");
Serial.print(buf[0], DEC);
}
Serial.print("\t");
Serial.print(buf[1], DEC);
Serial.print("\t\t");
if(buf[3]>0){
printSignature(buf+4, buf[3]);
} else{
Serial.print("NONE");
}
Serial.println("\r\n");
}
void setup() {
pinMode(tombol, INPUT_PULLUP);
//sim 800l
Serial.begin(19200);
SIM800.begin(19200);
delay(2000);
Serial.print("SIM800 ready...");
// Give time to your GSM shield log on to network delay(2000);
// AT command to set SIM900 to SMS mode SIM800.print("AT+CMGF=1\r");
delay(100);
// Set module to send SMS data to serial out upon receipt SIM800.print("AT+CNMI=2,2,0,0,0\r");
delay(100);
/** initialize */
myVR.begin(9600);
Serial.begin(115200);
Serial.println("Elechouse Voice Recognition V3 Module\r\nControl LED sample");
pinMode(lampu, OUTPUT);
//voice recognition v3 if(myVR.clear() == 0) {
Serial.println("Recognizer cleared.");
} else {
Serial.println("Not find VoiceRecognitionModule.");
Serial.println("Please check connection and restart Arduino.");
while(1);
}
if(myVR.load((uint8_t)hiduplampu) >= 0) {
Serial.println("Hidup lampu loaded");
}
if(myVR.load((uint8_t)matilampu) >= 0) {
Serial.println("Mati lampu loaded");
}
if(myVR.load((uint8_t)bukapagar) >= 0) {
Serial.println("buka pagar loaded");
}
if(myVR.load((uint8_t)tutuppagar) >= 0) {
Serial.println("tutup pagar loaded");
} }
void loop() {
mode=digitalRead(tombol);
Serial.print("tombol :"); Serial.println(mode);
if(mode==1)
{
myVR.begin(9600);
int ret;
ret = myVR.recognize(buf, 50);
if(ret>0) {
switch(buf[1]) {
case hiduplampu:
/** turn on LED */
digitalWrite(lampu, HIGH);
break;
case matilampu:
/** turn off LED*/
digitalWrite(lampu, LOW);
break;
case bukapagar:
/** buka gerbang */
buka=1;
bukagerbang();
break;
case tutuppagar:
/** tutup gerbang*/
buka=3;
tutupgerbang();
jarak = 2;
break;
default:
Serial.println("Record function undefined");
break;
}
/** voice recognized */
printVR(buf);
} }
//sim 800L
else if(mode==0) {
//Serial.begin(19200);
SIM800.begin(19200);
delay(2000);
Serial.print("SIM800 ready...");
// Give time to your GSM shield log on to network delay(2000);
// AT command to set SIM900 to SMS mode SIM800.print("AT+CMGF=1\r");
delay(100);
// Set module to send SMS data to serial out upon receipt SIM800.print("AT+CNMI=2,2,0,0,0\r");
delay(100);
if(SIM800.available()>0) {
textMessage = SIM800.readString();
Serial.print(textMessage);
delay(10);
}
if(textMessage.indexOf("ON")>=0) {
// Turn on relay and save current state digitalWrite(lampu, HIGH);
//delay(5000);
lampState = "on";
Serial.println("Relay set to ON");
textMessage = "";
}
if(textMessage.indexOf("OFF")>=0){
// Turn off relay and save current state digitalWrite(lampu, LOW);
lampState = "off";
Serial.println("Relay set to OFF");
textMessage = "";
}
if(textMessage.indexOf("STATE")>=0){
String message = "Lamp is " + lampState;
sendSMS(message);
Serial.println("Lamp state resquest");
textMessage = ""; //
}
if(textMessage.indexOf("BUKA")>=0) {
// Turn on relay and save current state buka=1;
//delay(2000);
bukagerbang();
//Serial.println(buka);
//bukagerbang();
//buka=2;
Serial.println(buka);
}
if(textMessage.indexOf("TUTU")>=0) {
buka=3;
//Serial.println(tutup);
tutupgerbang();
//Serial.println(tutup);
} } }
//stepper
void bukagerbang() {
if(buka==1 && tutup==0) {
Berputar=STEPSOUTPUT; // berputar 1 putaran penuh
bukapagar1.setSpeed(700); // kecepatan putaran
bukapagar1.step(Berputar); // memerintahkan untuk berputar //delay(2000);
buka=2;
tutup=1;
} /*
else if(buka==2) {
bukapagar1.setSpeed(0); // kecepatan putaran }
*/
}
void tutupgerbang() {
if(buka == 3 && tutup==1) {
Berputar=STEPSOUTPUT; // berputar 1 putaran penuh
tutuppagar1.setSpeed(700); // kecepatan putaran
tutuppagar1.step(Berputar); // memerintahkan untuk berputar delay(2000);
buka=4;
tutup=0;
} }
void sendSMS(String message) {
// AT command to set SIM800 to SMS mode SIM800.print("AT+CMGF=1\r");
delay(100);
// REPLACE THE X's WITH THE RECIPIENT'S MOBILE NUMBER // USE INTERNATIONAL FORMAT CODE FOR MOBILE NUMBERS SIM800.println("AT + CMGS = \"081269879219\"");
delay(100);
// Send the SMS
SIM800.println(message);
delay(100);
// End AT command with a ^Z, ASCII code 26 SIM800.println((char)26);
delay(1000);
SIM800.println();
// Give module time to send SMS delay(5000);
}
4.3 Gambar Fisik Keseluruhan Sistem
Pengujian ini akan menggabungkan semua sistem dan berjalan secara otomatis dengan program yang telah dimasukkan ke dalam Arduino Uno, berikut tampak fisik keseluruhan sistem.
Gambar 4.1 Gambar Fisik Keseluruhan Sistem
BAB 5 PENUTUP
5.1 Kesimpulan
Dalam perancangan alat kendali otomatis Lampu dan Pagar menggunakan sensor suara alat yang dibuat sesuai dengan yang direncanakan. Alat ini dapat digunakan untuk menyalakan maupun mematikan lampu dan membuka atau menutup pagar dengan perintah suara dan menggunakan SIM 800L untuk perintah jarak jauh dengan memanfaatkan Arduino Uno sebagai modul pengendali utama.
5.2 Saran
Penggunaan modul Voice Recognition yang masih memiliki kelemahan diantaranya adalah kurang stabil dalam menerima input suara dari orang yang sama dan juga orang berbeda dan Rawan terhadap gangguan. Hal tersebut tentunya menjadi kesulitan dalam penggunaan Voice Recognition, sebaiknya dapat diganti dengan modul sensor suara yang lebih baik.
DAFTAR PUSTAKA
Konsep Dasar dan Praktis. Malang : UBMedia. Kadir, Abdul, 2017. Pemrograman Arduino & Android Menggunakan App Inventor. Jakarta : PT Elex Medan http://zonaelektro.net/motor-stepper/
Diakses pada tanggal 28 Mei 2019
http://alexaxeel.blogspot.co.id/2015/11/tulisan-pengantar-telematika-speech.html Diakses pada tanggal 28 Mei 2019
http://dee-x-cisadane.webs.com/apps/blog/show/10345884-speech-recognition Diakses pada tanggal 28 Mei 2019
http://princessglad.blogspot.co.id/2014/11/speech-recognition.html Diakses pada tanggal 15 Juni 2019
https://ariefeeiiggeennblog.wordpress.com/2014/02/07/pengertian-fungsi-dan- kegunaan-arduino/
Diakses pada tanggal 15 Juni 2019
http://eprints.akakom.ac.id/3905/3/3_133310002_BAB%20II.pdf Diakses pada tanggal 17 Juni 2019
http://teknikelektronika.com/pengertian-relay-fungsi-relay Diakses pada tanggal 17 Juni 2019
https://industri3601.wordpress.com/relay/
Diakses pada tanggal 17 Juni 2019
http://repository.usu.ac.id/bitstream/handle/123456789/45928/Chapter%20II.pdf?seq uence=4&isAllowed=y
Diakses pada tanggal 17 Juni 2019