• Tidak ada hasil yang ditemukan

TUGAS AKHIR - Sinkronisasi jam digital nirkabel = Wireless synchronization on digital clock - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "TUGAS AKHIR - Sinkronisasi jam digital nirkabel = Wireless synchronization on digital clock - USD Repository"

Copied!
180
0
0

Teks penuh

(1)

TUGAS AKHIR

SINKRONISASI JAM DIGITAL NIRKABEL

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh:

NUGROHO BUDI WICAKSONO

NIM : 095114030

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

i

TUGAS AKHIR

SINKRONISASI JAM DIGITAL NIRKABEL

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh:

NUGROHO BUDI WICAKSONO

NIM : 095114030

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(3)

ii

FINAL PROJECT

WIRELESS SYNCHRONIZATION ON

DIGITAL CLOCK

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

By:

NUGROHO BUDI WICAKSONO

NIM : 095114030

ELECTRICAL ENGINEERING STUDY PROGRAM

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(4)
(5)
(6)
(7)

vi

HALAMAN PERSEMBAHAN DAN MOTO HIDUP

Moto Hidup:

Tugas Akhir ini kupersembahkan untuk,

Gusti Yesus Pangeran Dalem

Ibu Catharina Elisabeth Sundari

Bapak Athanasius Sunarno

Kakakku Antonius Nugraha Widhi Pratama

“You may

delay, but the

time

will

NOT

~Benjamin Franklin~

(8)
(9)

viii

INTISARI

Sistem penunjukan waktu di universitas dan perusahaan masih banyak menggunakan jam dinding. Pencocokan waktu di setiap ruangan masih menggunakan cara manual, yakni dengan mencocokkan jarum jam dan menit pada setiap jam dinding. Dalam beberapa bulan, jam dinding menunjukkan waktu yang berbeda. Ketepatan penunjukan waktu dipengaruhi oleh daya tahan baterai. Dengan menggunakan metode sinkronisasi di setiap ruangan, maka masalah perbedaan penunjukan waktu dapat diatasi.

Sistem sinkronisasi jam digital nirkabel terdiri dari 2 subsistem, yakni master dan slave. Sistem terdiri dari 1 subsistem master dan 2 subsistem slave. Subsistem master berfungsi sebagai pusat kontrol yang terhubung dengan komputer pada saat sinkronisasi waktu dengan server NTP, dan mengatur waktu alarm. Antarmuka yang digunakan subsistem master pada saat sinkronisasi waktu dengan server NTP adalah Visual Basic. Subsistem slave berfungsi sebagai penerima data waktu yang dikirimkan oleh master dan penampil jam digital dan alarm.

Prototipe jam digital dapat tersinkronisasi secara nirkabel pada jarak optimal 3 meter. Komunikasi GUI dengan server NTP dan komunikasi GUI dengan subsistem master berhasil diimplementasikan pada sistem. Jarak 45 meter sesuai dengan tujuan penelitian belum terpenuhi.

(10)

ix

ABSTRACT

Universities and companies still use wall clock. Each clock in different room is manually synchronized. In recent months, the clock will show different minutes or hour. The accuracy of the time is affected by the battery of the clock. Using the synchronization method, the problem can be solved.

Wireless synchronization on digital clock consists of 2 subsystems, master and slave. The system consists of a master and 2 slaves. Master is used as a control center that connected to the computer at the time synchronization with NTP server and set the alarm time. Visual Basic is used to connecting master with the NTP server. Slave serves as time receiver, clock display and alarm ringer.

The prototype of wireless digital clock can be synchronized at 3 meters. Communication between GUI with NTP server and communication between GUI with master are successfully implemented on the system. The distance of 45 meters according to the research objective is not achieved.

(11)
(12)

xi

DAFTAR ISI

HALAMAN JUDUL ... i

TITLE PAGE ... ii

LEMBAR PERSETUJUAN ... iii

LEMBAR PENGESAHAN ... iv

LEMBAR PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN DAN MOTO HIDUP ... vi

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Tujuan dan Manfaat Penelitian ... 2

1.3 Batasan Masalah ... 2

1.4 Metodologi Penelitian ... 3

1.5 Sistematika Penulisan ... 4

BAB II DASAR TEORI ... 5

2.1 Network Time Protokol ... 5

2.2 Arduino Duemilanove ... 5

2.2.1 Mikrokontroler ATmega328 ... 7

2.2.2 Serial Peripheral Interface ... 8

2.2.3 Komunikasi Serial USART ... 11

2.2.4 Rangkaian Reset ... 13

2.3 Real-Time Clock DS1307 ... 13

2.3.1 Konfigurasi Pin RTC DS1307 ... 14

(13)

xii

2.3.3 Definisi Kondisi Bus I2C ... 15

2.3.4 Peta Alamat (Address Map) RTC DS1307 ... 16

2.4 Transceiver Nordic nRF24L01 ... 16

2.5 Penampil Liquid Crystal Display (LCD) ... 18

2.6 Penampil 7 Segment ... 20

2.7 IC 74HC595 ... 21

2.8 Buzzer ... 22

2.9 Visual Basic ... 23

2.10 UNIX Timestamp ... 24

BAB III RANCANGAN PENELITIAN ... 25

3.1 Diagram Blok Sistem ... 25

3.2 Perancangan Perangkat Keras ... 26

3.2.1 Perancangan Subsistem Master ... 26

3.2.1.1 Board Arduino Duemilanove ... 27

3.2.1.2 Rangkaian RTC DS1307 ... 28

3.2.1.3 Rangkaian Penampil LCD ... 29

3.2.1.4 Rangkaian Transceiver nRF24L01 ... 29

3.2.1.5 Rangkaian Alarm... 30

3.2.2 Perancangan Subsistem Slave ... 31

3.2.2.1 Sistem Minimum ATmega328 ... 31

3.2.2.2 Rangkaian Penampil 7 Segment ... 32

3.3 Perancangan Perangkat Lunak ... 33

3.3.1 Perancangan Program Visual Basic ... 33

3.3.1.1 Subrutin Atur Sinkronisasi dan Port Komunikasi... 36

3.3.1.2 Subrutin Atur Alarm... 37

3.3.1.3 Subrutin Kirim Data ke Arduino ... 38

3.3.2 Diagram Alir Subsistem Master ... 38

3.3.3 Diagram Alir Subsistem Slave ... 40

3.3.3.1 Subrutin Tampilkan Data Waktu RTC ke 7 Segment ... 40

BAB IV HASIL DAN PEMBAHASAN ... 42

4.1 Implementasi Perancangan Perangkat Keras ... 42

4.2 Implementasi Perancangan Perangkat Lunak ... 45

(14)

xiii

4.2.2 Implementasi Diagram Alir Subsistem Master ... 48

4.2.3 Implementasi Diagram Alir Subsistem Slave ... 51

4.3 Hasil Pengamatan dan Pembahasan ... 52

4.3.1 Komunikasi GUI dengan Server NTP ... 52

4.3.2 Komunikasi GUI dengan Subsistem Master ... 53

4.3.3 Hasil Pengamatan pada Sistem Sinkronisasi Jam Digital Nirkabel ... 54

4.3.3.1 Metode Penskalaan Waktu Pengiriman Data ... 55

4.3.3.2 Metode Uji Coba Sistem ... 68

4.3.4 Hasil Pengamatan pada Subsistem Master dan Subsistem Slave ... 73

4.3.4.1 Hasil Pengamatan pada Subsistem Master... 73

4.3.4.2 Hasil Pengamatan pada Subsistem Slave ... 74

BAB V KESIMPULAN DAN SARAN ... 76

5.1 Kesimpulan ... 76

5.2 Saran ... 76

DAFTAR PUSTAKA ... 77

(15)

xiv

DAFTAR GAMBAR

Gambar 1.1 Blok model perancangan ... 3

Gambar 2.1Modul mikrokontroler Arduino Duemilanove ... 5

Gambar 2.2 Konfigurasi pin ATmega168/ATmega328 pada Arduino Duemilanove ... 6

Gambar 2.3 Perangkat lunak Arduino ... 6

Gambar 2.4 Komunikasi master-slave pada SPI ... 9

Gambar 2.5 Diagram pewaktuan pemindahan data dengan Clock Phase (CPHA)=0 ... 10

Gambar 2.6 Diagram pewaktuan pemindahan data dengan CPHA=1 ... 10

Gambar 2.7 Register UBRRn ... 12

Gambar 2.8 Diagram waktu untuk reset eksternal ... 13

Gambar 2.9 Konfigurasi pin RTC DS1307 ... 14

Gambar 2.10 Transfer data pada I2C... 15

Gambar 2.11Konfigurasi pin nRF24L01 ... 17

Gambar 2.12 Bentuk fisik modul LCD Topway ... 19

Gambar 2.13 Tampilan 7 segment ... 20

Gambar 2.14 Konfigurasi 7 segment tipe common anode ... 20

Gambar 2.15 Konfigurasi 7 segment tipe common cathode ... 21

Gambar 2.16 Konfigurasi pin IC 74HC595 ... 21

Gambar 2.17 Diagram waktu IC 74HC595 ... 22

Gambar 2.18 Rangkaian buzzer ... 22

Gambar 2.19 IDE Visual Basic ... 24

Gambar 2.20 Ilustrasi object, property, method dan event ... 24

Gambar 3.1 Diagram blok sistem ... 25

Gambar 3.2 Alokasi pin subsistem master ... 28

Gambar 3.3 Rangkaian RTC DS1307 ... 28

Gambar 3.4 Rangkaian penampil LCD ... 29

Gambar 3.5 Modul transceiver nRF24L01 ... 29

Gambar 3.6 Rangkaian penghubung modul transceiver nRF24L01 ... 30

Gambar 3.7 Rangkaian Alarm ... 30

Gambar 3.8 Sistem minimum dan alokasi pin subsistem slave ... 31

(16)

xv

Gambar 3.10 GUI Visual Basic ... 34

Gambar 3.11 Diagram alir utama GUI Visual Basic ... 34

Gambar 3.12 Diagram alir subrutin atur sinkronisasi dan port komunikasi ... 36

Gambar 3.13 Diagram alir subrutin atur alarm... 37

Gambar 3.14 Diagram alir subrutin kirim data ke Arduino ... 38

Gambar 3.15 Diagram alir subsistem master ... 39

Gambar 3.16 Diagram alir utama subsistem slave ... 40

Gambar 3.17 Subrutin tampilkan data waktu RTC ke 7 segment ... 41

Gambar 4.1 Hasil implementasi subsistem master ... 42

Gambar 4.2 Tampilan LCD subsistem master ... 43

Gambar 4.3 Hasil implementasi subsistem slave 1 ... 44

Gambar 4.4 Hasil implementasi subsistem slave 2 ... 44

Gambar 4.5 Implementasi perancangan perangkat lunak ... 45

Gambar 4.6 Peringatan adanya kesalahan pengaturan data mode alarm jam tertentu ... 47

Gambar 4.7 Jumlah kesalahan dalam pengaturan data alarm ... 47

Gambar 4.8 Data yang dikirim GUI ... 48

Gambar 4.9 Isi data yang dikirim GUI ... 48

Gambar 4.10 Data dari GUI ... 53

Gambar 4.11 Data dari Terminal ... 54

Gambar 4.12 Denah lokasi metode penskalaan pengamatan pertama... 60

Gambar 4.13 Denah lokasi metode penskalaan pengamatan ke-2 ... 61

Gambar 4.14 Denah lokasi metode penskalaan pengamatan ke-3 ... 64

Gambar 4.15 Denah lokasi metode uji coba sistem... 69

Gambar 4.16 Selisih waktu yang ditampilkan LCD ... 72

Gambar 4.17 Data yang dikirim subsistem slave 1 ... 72

Gambar 4.18 Pembacaan osiloskop fungsi loop subsistem master ... 74

Gambar 4.19 Pembacaan osiloskop fungsi loop subsistem slave 1 ... 74

(17)

xvi

DAFTAR TABEL

Tabel 2.1 Konfigurasi dan deskripsi pin ATmega328 ... 7

Tabel 2.2 Konfigurasi alternatif port D ... 8

Tabel 2.3 Pin ATmega328 yang digunakan sebagai SPI ... 11

Tabel 2.4 Perhitungan register UBRRn ... 12

Tabel 2.5 Keterangan konfigurasi pin DS1307 ... 14

Tabel 2.6 Register RTC dan RAM ... 16

Tabel 2.7 Keterangan konfigurasi pin nRF24L01 ... 17

Tabel 2.8 Keterangan konfigurasi pin LCD Topway ... 19

Tabel 2.9 Keterangan konfigurasi pin IC 74HC595 ... 21

Tabel 3.1 Alokasi pin ATmega328 dengan RTC DS1307 ... 26

Tabel 3.2 Alokasi pin ATmega328 dengan LCD ... 27

Tabel 3.3 Alokasi pin ATmega328 dengan nRF24L01 ... 27

Tabel 3.4 Alokasi pin ATmega328 dengan buzzer ... 27

Tabel 3.5 Alokasi pin ATmega328 dengan 7 Segment (74HC595), dan LED ... 32

Tabel 3.6 Susunan biner pin-pin 7 segment ... 33

Tabel 3.7 Obyek pada GUI Visual Basic ... 35

Tabel 4.1 Perubahan pada GUI... 46

Tabel 4.2 Header data GUI ... 47

Tabel 4.3 Alamat dan Fungsi EEPROM ... 49

Tabel 4.4 Identitas alarm pada subsistem master ... 50

Tabel 4.5 Format data dan header data subsistem master ... 51

Tabel 4.6 Format data dan header data subsistem slave 1 dan subsistem slave 2 ... 51

Tabel 4.7 Identitas alarm pada subsistem slave ... 52

Tabel 4.8 Komunikasi GUI dengan server NTP ... 52

Tabel 4.9 Perbandingan data yang dikirim dan diterima ... 53

Tabel 4.10 Perbandingan waktu komputer dengan subsistem master ... 54

Tabel 4.11 Format pewaktuan metode penskalaan ... 55

Tabel 4.12 Metode penskalaan pengamatan pertama jarak 1 m – 3 m ... 57

Tabel 4.13 Metode penskalaan pengamatan pertama jarak 4m, 5m, 10m, dan 15m ... 58

(18)

xvii

Tabel 4.15 Persentase keberhasilan metode penskalaan pengamatan pertama ... 60

Tabel 4.16 Metode penskalaan pengamatan ke-2 jarak 5 m & 10 m ... 61

Tabel 4.17 Persentase keberhasilan metode penskalaan pengamatan ke-2 ... 61

Tabel 4.18 Metode penskalaan pengamatan ke-3 jarak 1 m & 2 m ... 62

Tabel 4.19 Metode penskalaan pengamatan ke-3 jarak 3 m – 6 m ... 63

Tabel 4.20 Persentase keberhasilan metode penskalaan pengamatan ke-3 ... 64

Tabel 4.21 Metode penskalaan pengamatan ke-4 jarak 1 m – 4 m ... 65

Tabel 4.22 Persentase keberhasilan metode penskalaan pengamatan ke-4 ... 66

Tabel 4.23 Metode penskalaan pengamatan ke-5 ... 66

Tabel 4.24 Uji coba sistem pengamatan pertama mode alarm interval ... 69

Tabel 4.25 Uji coba sistem pengamatan ke-2 mode alarm jam tertentu ... 70

Tabel 4.26 Uji coba sistem pengamatan ke-3 mode alarm mati ... 71

Tabel 4.27 Persentase keberhasilan metode uji coba sistem ... 72

Tabel 4.28 Waktu loop subsistem master ... 73

Tabel 4.29 Waktu loop subsistem slave 1 ... 74

(19)

1

1

BAB I

PENDAHULUAN

1.1

Latar Belakang

Jam adalah alat untuk mengukur waktu [1]. Sistem penunjukan waktu di universitas

dan perusahaan masih banyak menggunakan jam dinding. Pencocokan waktu di setiap

ruangan masih menggunakan cara manual, yakni dengan mencocokkan setiap jam dinding.

Dalam beberapa bulan, jam dinding menunjukkan waktu yang berbeda. Ketepatan

penunjukan waktu dipengaruhi oleh daya tahan baterai [2, 3].

Dengan menggunakan metode sinkronisasi di setiap ruangan, maka masalah

perbedaan penunjukan waktu dapat diatasi. Salah satu mekanisme sinkronisasi waktu yang

digunakan pada jaringan komputer adalah sinkronisasi berbasis Network Time Protocol

(NTP). Mekanisme ini memungkinkan setiap komputer dalam satu jaringan dapat

tersinkronisasi dengan server NTP, sehingga setiap komputer menunjukkan informasi

waktu yang sama. Adanya informasi waktu yang standar dari NTP bisa dibuat sistem jam

digital yang disinkronisasikan secara terpusat [4].

Berdasarkan latar belakang ini, penulis ingin membuat sebuah sistem sinkronisasi

jam digital nirkabel. Sistem menggunakan jaringan internet, kontroler Arduino, dan modul

transceiver nRF24L01 frekuensi radio (RF) dengan modulasi Gaussian Frequency

Shift-Keying (GFSK) [5]. Daya jangkau transceiver nRF24L01 mencapai 45-55 meter di tempat

yang dikelilingi banyak gedung [6].

Sistem ini dikembangkan dari sistem yang sudah ada sebelumnya, yaitu

sinkronisasi jam digital [4], perencanaan dan pembuatan sistem penunjuk waktu

tersinkronisasi secara digital [7], penampil jamak jam digital berbasis mikrokontroler

AT89C2051 menggunakan komunikasi serial [8], dan jam dan alarm sekolah berbasis

mikrokontroler ATmega16 [9]. Penelitian-penelitian tersebut menggunakan teknologi

inframerah yang jarak maksimal transmisinya 7,5 meter [7], dan menggunakan kabel

(wired) [8, 9]. Sistem yang akan dibuat dapat mengatasi permasalahan jarak transmisi dan

kerumitan instalasi jam digital menggunakan kabel.

Pengaturan sinkronisasi sistem ini diperoleh dari server NTP yang terhubung

dengan komputer. Sinkronisasi antara komputer dengan server NTP menggunakan

(20)

mikrokontroler. Subsistem master digunakan untuk mengirimkan dan menerima data

sinkronisasi. Data sinkronisasi diterima oleh subsistem slave dan diolah mikrokontroler

untuk ditampilkan pada jam digital. Data hasil sinkronisasi pada subsistem slave

dikirimkan kembali ke subsistem master. Komunikasi data antara subsistem master dan

subsistem slave menggunakan modul nRF24L01. Masing-masing subsistem memiliki IC

RTC (Real Time Clock) yang digunakan sebagai pewaktu. Sistem dikondisikan hanya

bekerja jika terdapat arus listrik dari PLN. Kondisi tidak terdapat arus listrik PLN di luar

perancangan sistem. Fasilitas alarm ditambahkan pada sistem ini dapat digunakan sebagai

penanda waktu tertentu. Fasilitas alarm sistem ini dapat diaplikasikan pada perusahaan

yang memiliki waktu kerja yang berbeda, yaitu area produksi dengan waktu kerja shift

(contoh: 3 shift dalam 1 hari, @ shift 8 jam) dan administrasi dengan waktu kerja tertentu

(contoh: pukul 08.00 – 16.00).

1.2

Tujuan dan Manfaat Penelitian

Tujuan penelitian ini adalah:

1. Menghasilkan prototipe jam digital yang tersinkronisasi nirkabel dan

tersinkronisasi dengan server NTP,

2. Menghasilkan prototipe jam digital yang dapat tersinkronisasi dengan jarak 45

meter pada lokasi yang dikelilingi banyak gedung.

Manfaat penelitian ini adalah:

1. Dapat digunakan sebagai penunjuk waktu pada ruang kuliah dan laboratorium,

2. Dapat digunakan sebagai acuan, rujukan, dan bahan pertimbangan untuk

memperbanyak prototipe jam digital.

1.3

Batasan Masalah

Penelitian ini dibatasi pada sinkronisasi antara 1 subsistem master dengan penampil

LCD dan 2 subsistem slave dengan tampilan 4 digit 7 segment. Masing-masing subsistem

slave mempunyai identitas atau alamat yang berbeda. Pengujian subsistem master dan

subsistem slave dalam gedung dengan ketinggian yang sama pada ruang terbuka dan ruang

tertutup. Spesifikasi sistem sebagai berikut:

1. Modul mikrokontroler menggunakan Arduino Duemilanove pada subsistem master.

2. Modul transceiver yang digunakan adalah nRF24L01.

(21)

4. Sistem sinkronisasi bersifat close loop.

5. Topologi jaringan yang digunakan adalah topologi star.

1.4

Metodologi Penelitian

Metodologi yang digunakan penelitian ini adalah

1. Studi pustaka mengumpulkan bahan-bahan referensi berupa buku-buku, dan

jurnal-jurnal penelitian.

2. Perancangan perangkat keras dan perangkat lunak. Tahap ini bertujuan untuk

mencari bentuk optimal dari sistem yang akan dibuat dengan mempertimbangkan

faktor permasalahan, dan ketersediaan komponen.

Gambar 1.1 Blok model perancangan

3. Pembuatan perangkat keras dan lunak yang digambarkan pada Gambar 1.1. Sistem

memulai proses sinkronisasi saat user menjalankan program Visual Basic dan

menyetel waktu sinkronisasi dan alarm. Data waktu sinkronisasi dan alarm diolah

oleh mikrokontroler dan subsistem master untuk dikirimkan ke subsistem slave.

Data tampilan jam digital pada subsistem slave dikirimkan kembali ke subsistem

master untuk mengamati tampilan jam digital pada subsistem slave.

4. Proses pengambilan data. Pengambilan data dilakukan dengan membandingkan

data tampilan waktu subsistem slave dengan subsistem master dalam jeda waktu

sinkronisasi tertentu, dan mengetahui jarak maksimal antarsubsistem. Pengambilan

data dilakukan pada ruang terbuka dan tertutup. Kondisi ruang terbuka adalah tidak

adanya penghalang (tembok, sekat, dll) antar-transceiver atau LOS (Line Of Sight),

kondisi ruang tertutup adalah lokasi kondisi pengambilan data dilakukan pada

ruangan yang terpisah.

5. Analisis dan penyimpulan hasil percobaan. Analisis data dilakukan dengan

membandingkan keakuratan data tampilan waktu subsistem slave dengan subsistem Subsistem Master

Subsistem Slave Network

Time Protokol

Komputer Kontroler Alarm LCD

nRF24L01

Kontroler Jam Digital Alarm nRF24L01

(22)

master. Penyimpulan hasil percobaan dilakukan dengan melihat persentase

keberhasilan sistem. Indikator keberhasilan sistem adalah subsistem slave

menunjukkan waktu yang sama dengan subsistem master.

1.5

Sistematika Penulisan

BAB I : PENDAHULUAN

Bab ini berisi latar belakang masalah, tujuan dan manfaat penelitian, batasan

masalah, metodologi penelitian, serta sistematika penulisan.

BAB II : DASAR TEORI

Bab ini berisi studi pustaka mengenai teori-teori yang mendasari penelitian ini.

BAB III : RANCANGAN PENELITIAN

Bab ini berisi blok diagram sistem, diagram alir perancangan, dan rancangan

tampilan pada software.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi hasil perancangan, data pengujian, analisis data, dan pembahasan

data.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan akhir dan saran-saran penulis mengenai sistem yang

(23)

5

2

BAB II

DASAR TEORI

[1-9]

Bab ini menjelaskan tentang teori komponen-komponen utama dan

protokol-protokol yang mendasari sistem “Sinkronisasi Jam Digital Nirkabel”. Komponen

-komponen yang digunakan adalah Network Time Protokol , Arduino Duemilanove,

Mikrokontroler ATmega328, Real-Time Clock DS1307, Transceiver Nordic nRF24L01,

Penampil Liquid Crystal Display (LCD), Penampil 7 Segment, IC 74HC595, Buzzer, dan

Visual Basic. Pemaparan dasar teori diurutkan sesuai dengan blok model perancangan pada

Gambar 1.1.

2.1

Network Time Protokol

Network Time Protocol (NTP) merupakan protokol yang digunakan untuk

melakukan time-synchronization antara satu host dengan host lainnya. NTP menggunakan

portUser Datagram Protocol (UDP) 123 pada layer transpor. NTP pertama kali didesain

oleh Dave Mills dari University of Delaware [10]. Host yang dimaksud adalah komputer

yang terhubung dengan jaringan internet [11]. Salah satu contoh dibutuhkannya penunjuk

waktu yang sama pada komputer adalah kebutuhan ketepatan penjadwalan dalam proses

kontrol industri [12].

2.2

Arduino Duemilanove

Arduino Duemilanove adalah sebuah perangkat keras dari Arduino berupa sistem

minimum dengan mikrokontroler ATmega168/ATmega328 [13].

(24)

Arduino Duemilanove memiliki 14 pin input/output digital (6 pin diantaranya dapat

digunakan sebagai outputPulse Width Modulation/PWM), 6 pin input analog, osilator 16

MHz, dan koneksi USB dengan cip Future Technology Devices International (FTDI).

Modul mikrokontroler Arduino Duemilanove ditunjukkan pada Gambar 2.1, sedangkan

Gambar 2.2 menunjukkan konfigurasi pin ATmega168/ATmega328 pada Arduino

Duemilanove.

Pemrograman Arduino Duemilanove menggunakan perangkat lunak Arduino

(Gambar 2.3). ATmega168/ATmega328 pada Arduino sudah terpasang bootloader yang

memungkinkan pengguna untuk mengunggah kode tanpa menggunakan perangkat keras

tambahan.

Gambar 2.2 Konfigurasi pin ATmega168/ATmega328 pada Arduino Duemilanove [13]

Gambar 2.3 Perangkat lunak Arduino [13]

Fasilitas komunikasi Arduino Duemilanove meliputi komunikasi antara Arduino

Duemilanove dengan komputer, Arduino Duemilanove dengan Arduino yang lain, dan

(25)

menyediakan fasilitas Universal Synchronous and Asynchronous serial Receiver and

Transmitter (USART) pada pin D0 (RX) dan pin D1 (TX). Cip FTDI FT232RL digunakan

untuk komunikasi serial lewat USB dan driver FTDI yang terdapat pada perangkat lunak

digunakan untuk mengkonfigurasikan virtual COM port.

2.2.1

Mikrokontroler ATmega328

Mikrokontroler sering dipakai sebagai komponen pengendali pada suatu peralatan

karena memiliki kelengkapan-kelengkapan yang diperlukan untuk bekerja dalam sistem

cip tunggal dan juga pertimbangan ekonomis [14]. Dalam penelitian ini digunakan

mikrokontroler ATmega328 karena kompatibilitasnya dengan Arduino dan fiturnya cukup

lengkap. ATmega328 memiliki fitur 32 kByte downloadable flash memory, 1 kByte

Electrically Erasable Programmable Read-Only Memory (EEPROM), 2 kByte internal

Static Random-Access Memory (SRAM), 2 Timer/Counter 8 bit dan 1 Timer/Counter 16

bit, 6 kanal PWM, Serial USART yang dapat diprogram, dan frekuensi kerja sampai

dengan 20 MHz [15].

Fungsi masing-masing pin pada Gambar 2.2 dijelaskan pada Tabel 2.1. Fungsi

khusus port D dijelaskan pada Tabel 2.2.

Tabel 2.1 Konfigurasi dan deskripsi pin ATmega328 [15]

No Pin Nama Pin Keterangan

7 VCC Sumber tegangan

Masing-masing pin pada port B memiliki resistor pull-up internal dan dapat digunakan sebagai 8 bit I/O digital. pin PB6 dan pin PB7 terhubung dengan kristal 16 MHz, tidak digunakan sebagai I/O. Pin PB1 - pin PB3 dapat digunakan sebagai output PWM.

23,24,25,26, 27,28,1

Port C (PC6:0)

Masing-masing pin pada port C memiliki resistor pull-up internal dan dapat digunakan sebagai 7 bit I/O analog. Pin PC6 digunakan sebagai input reset, tidak digunakan sebagai I/O.

2,3,4,5,6,11, 12,13

Port D (PD7:0)

Masing-masing pin pada port D memiliki resistor pull-up internal dan dapat digunakan sebagai 8 bit I/O digital. Pin PD3 dapat digunakan sebagai output PWM.

Konfigurasi alternatif port D dapat dilihat pada Tabel 2.2

(26)

Tabel 2.2 Konfigurasi alternatif port D [15]

No Pin Nama Pin Keterangan

AIN1 (Analog Comparator Negative Input)

PCINT23 (Pin Change Interrupt 23)

AIN0 (Analog Comparator Positive Input)

OC0A (Timer/Counter0 Output Compare Match A Output)

PCINT22 (Pin Change Interrupt 22)

T1 (Timer/Counter 1 External Counter Input)

OC0B (Timer/Counter0 Output Compare Match B Output)

PCINT21 (Pin Change Interrupt 21)

XCK (USART External Clock Input/Output)

T0 (Timer/Counter 0 External Counter Input)

PCINT20 (Pin Change Interrupt 20)

INT1 (External Interrupt 1 Input)

OC2B (Timer/Counter2 Output Compare Match B Output)

PCINT19 (Pin Change Interrupt 19)

INT0 (External Interrupt 0 Input)

PCINT18 (Pin Change Interrupt 18)

TXD (USART Output Pin)

PCINT17 (Pin Change Interrupt 17)

RXD (USART Input Pin)

PCINT16 (Pin Change Interrupt 16)

7 PD1

6 PD0

10 PD4

9 PD3

8 PD2

13 PD7

12 PD6

11 PD5

2.2.2

Serial Peripheral Interface

Serial Peripheral Interface (SPI) merupakan salah satu metode pengiriman data

dari suatu perangkat ke perangkat lainnya [16]. Metode ini merupakan metode yang

bekerja pada metode full duplex dan merupakan standar sinkronisasi serial data link yang

dikembangkan oleh Motorola. Pada SPI, perangkat dibagi menjadi dua bagian yaitu master

dan slave, dengan master sebagai perangkat yang menginisiasi pengiriman data. Sebuah

master dalam aplikasinya dapat digunakan untuk mengatur pengiriman data dari atau ke

beberapa slave sekaligus. 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:

a. Serial Clock (SCLK) merupakan data biner yang keluar dari master ke slave yang

(27)

komponen prosedur komunikasi data SPI. Dalam beberapa perangkat, istilah yang

digunakan untuk pin ini adalah SCK.

b. Master Output Slave Input (MOSI) merupakan pin yang berfungsi sebagai jalur

data pada saat data keluar dari master dan masuk ke dalam slave. Istilah lain untuk

pin ini antara lain Slave Input Master Output (SIMO), Serial Data In (SDI), Data

In (DI), dan Serial In (SI).

c. Master Input Slave Output (MISO) merupakan pin yang berfungsi sebagai jalur

data yang keluar dari slave dan masuk ke dalam master. Istilah lain untuk pin ini

adalah Slave OutputMaster Input (SOMI), Serial Data Out (SDO), Data Out (DO),

dan Serial Out (SO).

d. Slave Select (SS) merupakan pin yang berfungsi untuk mengaktifkan slave

sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif

(active 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 antara pin MISO dan MOSI harus sesuai dengan ketentuan.

Ketentuan tersebut adalah pin MISO pada master harus dihubungkan dengan pin MOSI

pada slave, begitu juga sebaliknya. Hal ini dilakukan untuk menghindari terjadinya

kesalahan prosedur pada pengiriman data. Istilah pin-pin SPI untuk berbagai perangkat

mungkin saja mempunyai istilah yang berbeda dengan istilah di atas tergantung pada

produsen.

Gambar 2.4 Komunikasi master-slave pada SPI [15]

Komunikasi data SPI dimulai pada saat master mengirimkan clock melalui SCK

(28)

Kemudian, master memberi logika 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 dengan dua keadaan sebagai berikut:

a. Master mengirim sebuah bit pada jalur MOSI dan slave membacanya pada jalur

yang sama.

b. 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.5 Diagram pewaktuan pemindahan data dengan Clock Phase (CPHA)=0 [15]

(29)

Diagram pewaktuan (timing diagram) SPI dimulai pada saat SS diaktifkan (low).

Pada Gambar 2.5 dan Gambar 2.6 menunjukkan bahwa satu siklus clock terdiri dari 8 bit

data. Saat SS aktif, MISO/MOSI mulai mengirimkan data mulai dari Most Significant Bit

(MSB) data tersebut. Pada saat clock berubah maka proses pengiriman data dilanjutkan

pada bit yang lebih rendah. Proses tersebut berlangsung sampai pengiriman data selesai

dengan mengirimkan bit Least Significant Bit (LSB) dan siklus clock berakhir serta SS

kembali dinonaktifkan (high). Saat siklus clock berakhir, biasanya slave mengirimkan

interrupt ke master yang mengindikasikan bahwa pengiriman data telah selesai dan siap

untuk melakukan pengiriman data selanjutnya. Dalam diagram pewaktuan, clock

mempunyai beberapa mode pengaturan polaritas (Clock Polarity/CPOL) dan fase (Clock

Phase/CPHA). Pin-pin ATmega328 yang digunakan sebagai SPI ditunjukkan pada Tabel

2.3

Tabel 2.3 Pin ATmega328 yang digunakan sebagai SPI [15]

No Pin Nama Pin Keterangan

SCK (SPI Bus Master clock Input)

PCINT5 (Pin Change Interrupt 5)

MISO (SPI Bus Master Input/Slave Output)

PCINT4 (Pin Change Interrupt 4)

MOSI (SPI Bus Master Output/Slave Input)

OC2A (Timer/Counter2 Output Compare Match A Output)

PCINT3 (Pin Change Interrupt 3)

SS (SPI Bus Master Slave select)

OC1B (Timer/Counter1 Output Compare Match B Output)

PCINT2 (Pin Change Interrupt 2)

16 PB2

19 PB5

18 PB4

17 PB3

2.2.3

Komunikasi Serial USART

Universal Synchronous and Asynchronous serial Receiver and Transmitter

(USART) merupakan salah satu mode komunikasi serial yang memiliki fleksibilitas tinggi.

USART dapat digunakan untuk melakukan transfer data antarmikrokontroler maupun

modul-modul eksternal termasuk komputer yang memiliki fitur Universal Asynchronous

serial Receiver and Transmitter (UART). USART memungkinkan transmisi data secara

sinkron maupun asinkron, sehingga USART kompatibel dengan UART.

Pengaturan mode USART pada mikrokontroler ATmega328 dilakukan pada

(30)

Register n A), UCSRnB (USART Control and Status Register n B), UCSRnC (USART

Control and Status Register n C), dan UBRRn (UBRRnL dan UBRRnH – USART Baud

Rate Registers). Register UBRRn digunakan untuk menentukan baud rate mikrokontroler

pada saat terhubung dengan komputer.

Gambar 2.7 Register UBRRn [15]

Register UBRRn adalah register 16 bit. Bit 15-12 belum digunakan (reserved bits)

saat register UBRRnH digunakan, sehingga bit 15-12 harus bernilai 0. Bit 11-0 adalah

register 12 bit untuk mengatur baud rate USART dengan 4 bit pada UBRRnH dan 8 bit

pada UBRRnL. Penentuan nilai baud rate dan nilai register UBRRn ditunjukkan pada

Tabel 2.4.

Tabel 2.4 Perhitungan register UBRRn [15]

Mode Operasi Penentuan nilai Baud Rate Penentuan nilai Register UBRRn

Asinkron. Mode

fosc = frekuensi osilator (frekuensi kristal)

UBRRn = nilai register UBRRn (UBRRnH-UBRRnL)

1

Perhitungan yang digunakan untuk menentukan nilai error baud rate adalah

(31)

2.2.4

Rangkaian

Reset

Pin reset pada mikrokontroler AVR adalah aktif low. Jika sinyal berlogika low

diberikan pada pin reset, maka kondisi mikrokontroler pada keadaan reset.

Gambar 2.8 Diagram waktu untuk reset eksternal [15]

Tujuan reset pada mikrokontroler adalah sebagai berikut [17]:

a. Melepas semua jalur, dan mengkondisikan semua pin (kecuali pin XTAL) dalam

keadaan awal (tri-state), menginisialisasi register I/O, dan mengubah nilai counter

dalam keadaan 0.

b. Mengkondisikan mikrokontroler dalam mode program.

Pin reset memiliki resistor pull-up internal. Pada lingkungan yang memiliki

gangguan, resistor pull-up internal tidak dapat berfungsi dengan baik. Oleh karena itu,

resistor pull-up eksternal dibutuhkan untuk menjaga agar pin reset tidak berlogika 0 secara

tidak disengaja. Nilai resistor pull-up eksternal secara teori bernilai bebas, tetapi secara

aplikatif digunakan nilai resistor tertentu, agar logika pin reset dapat diubah menjadi 0 saat

diprogram. Nilai resistor yang direkomendasikan adalah lebih besar dari 4,7 kOhm [17].

2.3

Real-Time Clock

DS1307

Serial Real Time Clock (RTC) DS1307 merupakan jam/kalender full binary code

decimal (BCD) yang dilengkapi NV RAM sebesar 56 Byte. RTC mengkonsumsi daya kecil

dan arus yang dipakai sebesar 500 nA. Alamat dan data dikirim secara serial melalui jalur

komunikasi I2C (bidirectional bus). Informasi kalender meliputi tahun, bulan, tanggal dan

hari sedangkan informasi jam meliputi detik, menit, dan jam. Akhir dari suatu bulan

disesuaikan lagi dengan bulan berikutnya secara otomatis, termasuk pengecekan tahun

(32)

DS1307 memiliki rangkaian power sense yang dapat mengetahui kegagalan daya dan

secara otomatis menggunakan sumber tegangan cadangan [14].

2.3.1

Konfigurasi Pin RTC DS1307

Gambar 2.9 dan Tabel 2.5 di bawah ini merupakan konfigurasi dan keterangan pin

pada IC Real Time Clock DS1307.

Gambar 2.9 Konfigurasi pin RTC DS1307 [18]

Tabel 2.5 Keterangan konfigurasi pin DS1307 [18]

No Pin Nama Pin Keterangan

1 X1

2 X2

3 VBAT Terhubung dengan baterai 3 V untuk catu daya cadangan

4 GND Ground

5 SDA I/O data serial (serial data input/output) 6 SCL Input clock serial (serial clock input) 7 SQW/OUT Output gelombang kotak/output driver 8 VCC Sumber tegangan

Terhubung dengan kristal 32,768 kHz

2.3.2

Komunikasi Serial antar-IC (I2C/TWI)

Inter Integrated Circuit (I2C) adalah sebuah protokol untuk komunikasi serial antar

Integrated Circuit (IC) dan sering disebut Two Wire Interface (TWI). I2C digunakan untuk

komunikasi antara mikrokontroler dan perangkat periferal seperti memori, sensor

temperatur dan I/O expander [19].

Komunikasi I2C dilakukan melalui dua jalur, yaitu: SDA dan SCL. Setiap

perangkat I2C memiliki 7 bit alamat yang unik. Alamat MSB selalu tetap dan ditujukan

untuk kategori perangkat yang digunakan. Sebagai contoh, 1010 biner ditujukan untuk

serial EEPROM. Tiga bit berikutnya memungkinkan 8 kombinasi alamat dengan 8

perangkat bertipe sama dan beroperasi pada jalur I2C yang sama. Pengiriman data hanya

dapat dimulai saat kondisi bus I2C tidak sibuk, ditandai dengan logika high yang cukup

lama pada pin SCL maupun SDA. Selama pengiriman data, SDA harus dalam keadaan

(33)

sebagai sinyal-sinyal kendali, seperti: sinyal start (high ke low) atau sinyal stop (low ke

high). Gambar 2.10 menunjukkan transfer data pada I2C.

Gambar 2.10 Transfer data pada I2C [18]

2.3.3

Definisi Kondisi

Bus

I2C [18]

Definisi kondisi bus pada sistem komunikasi serial I2C/TWI dijelaskan sebagai

berikut:

a. Bus tidak sibuk (bus not busy): menyatakan kondisi bus tidak sibuk, yaitu pada saat

SCL dan SDA berlogika high.

b. Mulai transfer data (start data transfer): ditandai dengan perubahan kondisi SDA

dari high ke low saat SCL berlogika high.

c. Akhiri transfer data (stop data transfer): ditandai dengan perubahan kondisi SDA

dari low ke high saat SCL dalam berlogika high.

d. Data valid: jika setelah start, kondisi SDA tidak berubah selama SCL high, baik

SDA high maupun SDA low tergantung dari bit yang ingin ditransfer, maka data

yang dikirim bit demi bit dianggap valid. Setiap siklus SCL high baru menandakan

pengiriman bit baru. Duty cycle untuk SCL tidak harus 50%, tetapi frekuensi

kemunculannya hanya ada dua macam, yaitu mode standar 100 kHz dan fast mode

atau mode cepat 400 kHz. Setelah SCL mengirimkan sinyal high yang ke-8, arah

transfer SDA berubah dan sinyal ke-9 pada SDA ini dianggap sebagai acknowledge

dari receiver ke transmitter. DS1307 hanya bisa melakukan transfer pada mode

standar 100 kHz.

e. Pemberitahuan (Acknowledge): receiver wajib mengirimkan sinyal acknowledge

(34)

memberikan extra clock atau clock tambahan pada SCL, yaitu clock ke-9 yang

memberikan kesempatan receiver untuk mengirimkan sinyal acknowledge ke

transmitter berupa logika low pada SDA selama SCL high. Meskipun master

berperan sebagai receiver, master tetap berperan sebagai penentu sinyal stop. Pada

bit akhir penerimaan Byte terakhir, master tidak mengirimkan sinyal acknowledge.

SDA dibiarkan high oleh receiver dalam hal ini master, kemudian master

mengubah logika SDA dari low menjadi high yang berarti sinyal stop.

2.3.4

Peta Alamat (

Address Map

) RTC DS1307

Peta alamat RTC dan register RAM DS1307 ditunjukkan pada Tabel 2.6. Register

RTC terletak di alamat 00h sampai 07h, sedangkan register RAM terletak di alamat 08h

sampai 3Fh.

Tabel 2.6 Register RTC dan RAM [18]

Alamat Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Fungsi Keterangan

00h CH Detik 00-59

01h 0 Menit 00-59

12 10 jam 1-12+AM/PM

24 PM/AM

03h 0 0 0 0 0 Hari 01-07

04h 0 0 Tanggal 01-31

05h 0 Bulan 01-12

06h Tahun 00-99

07h out 0 0 SQWE 0 0 RS1 RS0 Kontrol

-08h-3Fh RAM 56 x 8 00h-FFh

Menit Detik

10 menit 10 detik

Jam Jam

Tahun Bulan 0

02h 10 jam

Hari

10 hari (tanggal) Tanggal

2.4

Transceiver

Nordic nRF24L01

nRF24L01 adalah transceiver radio dengan cip tunggal yang digunakan pada band

ISM (Industrial, Scientific, dan Medical) 2,4 GHz - 2,5 GHz. Transceiver nRF24L01

terdiri dari frekuensi synthesizer yang terintegrasi, penguat daya, osilator kristal,

demodulator, modulator dan protokol Enhanced ShockBurst™. Daya output, kanal

frekuensi, dan protokol diprogram melalui SPI [5]. Modulasi yang digunakan adalah

modulasi GFSK. Parameter kanal frekuensi, daya output, dan data rate GFSK dapat

diubah. Konfigurasi pin dan keterangan konfigurasi pin nRF24L01 ditunjukkan pada

(35)

Gambar 2.11Konfigurasi pin nRF24L01 [5]

Tabel 2.7 Keterangan konfigurasi pin nRF24L01 [5]

No Pin Nama Pin Fungsi Pin Keterangan

1 CE Input digital Pin enable untuk mengaktifkan mode RX atau TX 2 CSN Input digital SPI chip select/SPI slave select

3 SCK Input digital SPI clock

4 MOSI Input digital SPI slave data input

5 MISO Output digital SPI slave data output dengan pilihan tri-state

6 IRQ Output digital Pin maskable interrupt,aktif rendah

7 VDD Sumber tegangan Sumber tegangan (+1,9 V sampai dengan +3,6 V)

8 VSS Sumber tegangan Ground

9 XC2 Output analog Terhubung dengan kristal pin 2 10 XC1 Input analog Terhubung dengan kristal pin 1 11 VDD_PA Sumber Tegangan Output Output untuk penguat daya internal

12 ANT1 RF Antarmuka antena 1

13 ANT2 RF Antarmuka antena 2

14 VSS Sumber tegangan Ground

15 VDD Sumber tegangan Sumber tegangan (+1,9 V sampai dengan +3,6 V)

16 IREF Input analog Arus referensi, terhubung dengan resistor 2,2 kΩ dengan

ground

17 VSS Sumber tegangan Ground

18 VDD Sumber tegangan Sumber tegangan (+1,9 V sampai dengan +3,6 V) 19 DVDD Output Output internal untuk de-coupling

20 VSS Sumber tegangan Ground

Arus yang digunakan sangat rendah, yaitu 9 mA pada daya output -6 dBm dan 12,3

mA pada mode RX. Mode Power Down dan Standby membuat penghematan daya dapat

direalisasikan. Metode penanganan paket (packet handling) yang digunakan adalah [20]:

a. ShockBurst™ (kompatibel dengan nRF2401, nRF24E1 nRF2402 dan nRF24E2

dengan data rate 1 Mbps),

(36)

nRF24L01 yang dikonfigurasi sebagai RX primer (PRX) dapat menerima data

melalui 6 pipa data (data pipe) yang berbeda. Sebuah pipa data akan memiliki alamat unik,

tetapi memiliki kanal frekuensi yang sama [20]. Enam pipa data multiceiver ini dapat

dikonfigurasikan dalam topologi star 1:6 [5]. Fitur multiceiver nRF24L01 dapat digunakan

untuk membangun Personal Area Network dalam berbagai aplikasi [21].

nRF24L01 dilengkapi dengan baseband protocol engine (Enhanced ShockBurst™)

yang mendukung aplikasi nirkabel berdaya rendah. Fitur utama Enhanced ShockBurst™

adalah:

a. Panjang data yang dinamis (dynamic payload length) dari 1 sampai 32 Byte,

b. Penanganan paket data otomatis (automatic packet),

c. Penanganan transaksi paket data otomatis (auto packet transaction),

d. Pengenalan otomatis (auto acknowledgement),

e. Pengiriman data kembali secara otomatis (auto retransmit).

Mode dynamic payload memungkinkan komunikasi half duplex antara slave dan

master dan komunikasi half duplex lebih menghemat konsumsi daya. Selain itu, dengan

auto packet transaction komunikasi menjadi cukup aman dan kuat [22].

GFSK adalah teknik modulasi dimana data melewati low-pass filter Gaussian

sebelum dimodulasi dengan FSK [23]. GFSK adalah salah satu bentuk dari Continuous

Phase Frequency Shift Keying (CPFSK). Dua teknik modulasi ini merupakan turunan dari

FSK yang efisiensi dayanya rendah, tetapi kebutuhan bandwidth FSK semakin lebar

dengan meningkatnya simbol modulasi. Pada aplikasi modern dengan data-rate yang

rendah, modulasi GFSK menggunakan fungsi Gaussian sebagai pulsa membentuk filter

untuk mengurangi bandwidth transmisi [24].

Kata Gaussian pada GFSK mengacu pada bentuk sinyal radio. GFSK membatasi

pancaran/emisi untuk sebuah jalur spektrum yang relatif sempit dan dengan demikian

sesuai untuk keperluan sekunder. Teknik pemrosesan sinyal yang baik adalah mencegah

meluasnya kebocoran energi RF, terutama bagi pengguna sekunder dari sebuah jalur

frekuensi [25].

2.5

Penampil

Liquid Crystal Display

(LCD)

LCD adalah material yang mengalir seperti cairan, tetapi memiliki struktur molekul

(37)

dikembangkan, yaitu field effect dan dynamic scattering. Keunggulan LCD dibandingkan

dengan LED adalah daya yang diperlukan lebih rendah, tampilan yang lebih lengkap

(angka, huruf grafis dan warna) dan kemudahan dalam memprogram. Kerugian LCD

dibandingkan dengan LED adalah waktu hidup (lifetime) yang lebih singkat, waktu

tanggap yang lebih lambat dan memerlukan sumber cahaya baik internal atau eksternal

[26].

LCD yang dipakai adalah LCD Topway LMB162AFC 2x16 karakter yang

kompatibel dengan Hitachi tipe HD44780U. LCD memerlukan tiga jalur kontrol dan

delapan jalur data (untuk mode8 bit) atau empat jalur data (untuk mode4 bit). Ketiga jalur

kontrol yang dimaksud adalah pin E, RS, dan R/W. Gambar 2.12 menunjukkan bentuk

fisik modul LCD, dan Tabel 2.8 menunjukkankonfigurasi pin 1-16 pada LCD Topway.

Gambar 2.12 Bentuk fisik modul LCD Topway [27]

Tabel 2.8 Keterangan konfigurasi pin LCD Topway [28]

No Pin Nama Pin Fungsi Pin Keterangan

1 VSS Sumber tegangan Ground

2 VDD Sumber tegangan Sumber tegangan positif

3 V0 Sumber tegangan Sumber tegangan referensi untuk mengatur kontras LCD 4 RS Sumber tegangan Register select

5 R/W Input Read/write control bus

6 E Input Data enable,biasanya juga disebut EN

7 DB0

8 DB1

9 DB2

10 DB3

11 DB4

12 DB5

13 DB6

14 DB7

15 BLA Sumber tegangan Sumber tegangan positif back light

16 BLK Sumber tegangan Sumber tegangan negatif back light

(38)

Pin E adalah pin Enable yang digunakan untuk mengaktifkan LCD. Sebelum

mengirim data ke LCD pin E harus berlogika high, kemudian jalur kontrol yang lain

diprogram. Data yang dikirim terletak pada jalur data. Transisi dari logika high ke logika

low memberitahu LCD untuk mengambil data pada jalur kontrol dan jalur data. Pin RS

adalah pin register select. Saat pin RS berlogika low, data yang dikirim adalah

perintah-perintah seperti membersihkan layar, posisi kursor, dan lain-lain. Jika pin RS berlogika

high, maka data yang dikirim adalah teks data dimana teks ini yang harus ditampilkan pada

layar. Pin R/W adalah pin Read/Write. Pada saat pin R/W berlogika low, informasi pada

jalur data berupa pengiriman data ke LCD (write). Sedangkan saat pin R/W berlogika high,

informasi pada jalur data berupa pengambilan data dari LCD (read) [26].

2.6

Penampil 7

Segment

Seven segment merupakan LED yang disusun atas 7 segment yang dipergunakan

untuk menampilkan angka 0 sampai 9 dan sejumlah karakter alfabet.

Gambar 2.13 Tampilan 7 segment [19]

Seven segment terdiri dari dua konfigurasi, yaitu common anode dan common

cathode. Seven segment tipe common anode, anode dari setiap LED dihubungkan menjadi

satu dan dihubungkan dengan sumber tegangan positif [19]. Katode dari masing-masing

LED berfungsi sebagai input dari 7 segment, seperti ditunjukkan pada Gambar 2.14.

Gambar 2.14 Konfigurasi 7 segment tipe common anode [19]

Sesuai dengan Gambar 2.14, untuk menyalakan salah satu segmen, maka katode

diberi logika low. Jika segmen „a‟ akan dinyalakan, maka katode pada segmen „a‟ harus

(39)

Seven segment tipe common cathode, katode dari setiap LED dihubungkan menjadi

satu dan dihubungkan dengan ground dan anode dari masing-masing LED berfungsi

sebagai input dari 7 segment.

Gambar 2.15 Konfigurasi 7 segment tipe common cathode [19]

Sesuai dengan Gambar 2.15, untuk menyalakan salah satu segmen, maka diberi

logika high. Jika segmen „a‟ akan dinyalakan, maka anode pada segmen „a‟ harus diberi

logika high, dengan demikian maka segmen „a‟akan menyala.

2.7

IC 74HC595

IC 74HC595 adalah IC dengan 8-bit serial-in, serial or parallel-out shift register

with output latches. Salah satu aplikasi IC 74HC595 adalah menambah jumlah I/O

mikrokontroler.

Gambar 2.16 Konfigurasi pin IC 74HC595 [29]

Tabel 2.9 Keterangan konfigurasi pin IC 74HC595 [29]

No Pin Nama Pin Keterangan No Pin Nama Pin Keterangan

1 Q1 9 Q7' Output data serial

2 Q2 10 M R Master reset

3 Q3 11 SH_CP Shift register clock input

4 Q4 12 ST_CP Storage register clock input

5 Q5 13 OE Output enable

6 Q6 14 DS Input data serial

7 Q7 15 Q0 Output data pararel

8 GND Ground 16 Vcc Sumber tegangan

(40)

Konfigurasi pin IC 74HC595 ditunjukkan pada Gambar 2.16 dan keterangan

konfigurasi pin ditunjukkan pada Tabel 2.9. Diagram waktu IC 74HC595 ditunjukkan pada

Gambar 2.17.

Gambar 2.17 Diagram waktu IC 74HC595 [29]

2.8

Buzzer

Buzzer digunakan sebagai penghasil bunyi. Frekuensi bunyi buzzer dapat diatur

sesuai yang diinginkan dengan cara mengatur program pada mikrokontroler [9]. Rangkaian

buzzer ditunjukkan pada Gambar 2.18.

(41)

Nilai RE_buzz dan RB_buzz ditentukan dengan perhitungan:

Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa

pemrograman adalah perintah-perintah yang dimengerti oleh komputer untuk melakukan

tugas-tugas tertentu. Visual Basic dikembangkan oleh Microsoft sejak tahun 1991 dan

merupakan pengembangan dari bahasa pemrograman BASIC (Beginner’s All-purpose

Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic

merupakan salah satu development tool, yaitu alat bantu untuk membuat berbagai macam

program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic

merupakan salah satu bahasa pemrograman komputer yang mendukung penggunaan obyek

(Object Oriented Programming = OOP) [30].

Tampilan Integrated Development Environment Visual Basic ditunjukkan pada

Gambar 2.19. Bagian-bagian utama IDE Visual Basic yang ditunjukkan Gambar 2.19

Dalam pemrograman berbasis obyek (OOP) perlu dipahami istilah object, property,

method dan event. Object adalah komponen di dalam sebuah program. Property adalah

(42)

Event adalah kejadian yang dapat dialami oleh object. Ilustrasi object, property, method

dan event ditunjukkan Gambar 2.20.

Gambar 2.19 IDE Visual Basic

Gambar 2.20 Ilustrasi object, property, method dan event

2.10

UNIX Timestamp

UNIX timestamp juga biasa disebut sebagai POSIX/epoch time [31]. Tipe data

UNIX timestamp adalah integer 32-bit yang digunakan untuk merepresentasikan jumlah

detik sejak tanggal 1 Januari 1970s. Salah satu contoh representasi UNIX timestamp adalah

1314067316 yang berarti tanggal 23 Agustus 2011 pukul 02:41:56.

OBJECT: FORM

Property: - Caption - Enable - Visible

Method: - Hide - Show - Move

(43)

25

3

BAB III

RANCANGAN PENELITIAN

[1-31]

Bab ini menjelaskan mengenai perancangan sistem “Sinkronisasi Jam Digital

Nirkabel” terdiri dari Diagram Blok Sistem, Perancangan Perangkat Keras, dan Perancangan Perangkat Lunak.

3.1

Diagram Blok Sistem

Perancangan diagram blok sistem Sinkronisasi Jam Digital Nirkabel ditunjukkan

pada Gambar 3.1:

(44)

Diagram blok penelitian ini terdiri dari 2 subsistem, yakni master dan slave. Sistem

terdiri dari 1 subsistem master dan 2 subsistem slave. Subsistem master berfungsi sebagai

pusat kontrol yang terhubung dengan komputer pada saat sinkronisasi waktu dengan server

NTP, dan mengatur waktu alarm. Subsistem slave berfungsi sebagai penerima data waktu

yang dikirimkan oleh master dan penampil jam digital dan alarm.

Subsistem master terdiri dari board Arduino Duemilanove ATmega328, rangkaian

RTC DS1307, rangkaian transceiver nRF24L01, rangkaian LCD, dan rangkaian alarm.

Komunikasi board Arduino dengan komputer melalui port USART ATmega328.

Pengaturan waktu dan alarm ditangani oleh Visual Basic (VB) agar memperoleh Graphical

User Interface (GUI) yang memudahkan pengguna (user friendly). VB terhubung dengan

internet untuk mendapatkan data waktu dari server NTP. Data waktu yang diperoleh VB

dikirimkan ke ATmega328 dan disimpan pada RTC. Data waktu RTC diolah ATmega328

untuk ditampilkan pada LCD dan secara periodik data waktu dikirimkan ke subsistem

slave. Agar subsistem slave memenuhi validasi sinkronisasi waktu, maka subsistem slave

akan mengirimkan data waktu yang ditampilkan jam digital pada subsistem master dalam

periode waktu tertentu. Jika terdapat kesalahan dalam penunjukan waktu dalam skala menit

pada subsistem slave, maka subsistem master mengirimkan data waktu ke subsistem slave

secara otomatis.

3.2

Perancangan Perangkat Keras

Perancangan perangkat keras sistem dibagi menjadi dua bagian, yaitu subsistem

master dan subsistem slave. Perbedaan subsistem master dengan subsistem slave pada

perancangan perangkat keras terdapat pada rangkaian penampil. Rangkaian penampil pada

subsistem master adalah LCD, sedangkan subsistem slave adalah 7 segment.

3.2.1

Perancangan Subsistem

Master

Perancangan subsistem master terdiri dari 5 bagian, yaitu Board Arduino

Duemilanove, Rangkaian RTC DS1307, Rangkaian Penampil LCD, Rangkaian

Transceiver nRF24L01, dan Rangkaian Alarm.

Tabel 3.1 Alokasi pin ATmega328 dengan RTC DS1307

Nomor Pin Nama Pin Nomor Pin Nama Pin

28 PC5 (SCL) 6 SCL

27 PC4 (SDA) 5 SDA

ATmega328 dan RTC DS1307

(45)

Tabel 3.2 Alokasi pin ATmega328 dengan LCD

Nomor Pin Nama Pin Nomor Pin Nama Pin

4 PD2 11 D4

5 PD3 12 D5

6 PD4 13 D6

11 PD5 14 D7

13 PD7 4 RS

14 PB0 6 E

ATmega328 dan LCD

ATmega328 LCD

Tabel 3.3 Alokasi pin ATmega328 dengan nRF24L01

Nomor Pin Nama Pin Nomor Pin Nama Pin

12 PC0 1 CE

16 PB2 (SS) 2 CSN

19 PB5 (SCK) 3 SCK

17 PB3 (MOSI) 4 MOSI

18 PB4 (MISO) 5 MISO

23 PD6 6 IRQ

ATmega328 dan nRF24L01

ATmega328 nRF24L01

Tabel 3.4 Alokasi pin ATmega328 dengan buzzer

Nomor Pin Nama Pin

15 PB1

ATmega328 dan Buzzer ATmega328

Buzzer

Alokasi pin yang digunakan board Arduino Duemilanove (ATmega328) dengan

RTC DS1307 ditunjukkan pada Tabel 3.1. Alokasi pin ATmega328 dengan LCD

ditunjukkan pada Tabel 3.2. Alokasi pin ATmega328 dengan nRF24L01 ditunjukkan pada

Tabel 3.3. Alokasi pin ATmega328 dengan buzzer ditunjukkan pada Tabel 3.4.

3.2.1.1

Board

Arduino Duemilanove

Sistem minimum ATmega328 yang digunakan subsistem master adalah board

Arduino Duemilanove. Penggunaan sistem minimum ATmega328 produksi Arduino Team

diharapkan dapat mengoptimalkan kinerja subsistem master. Alokasi pin untuk

(46)

Gambar 3.2 Alokasi pin subsistem master

Rangkaian osilator menggunakan crystal 16 MHz dan kapasitor 22 pF. Penentuan

nilai crystal 16 MHz sesuai dengan datasheet [15] dan penentuan nilai kapasitor M_C1 dan

M_C2 sebesar 22pF sesuai dengan anjuran nilai kapasitor pada application note dari Atmel

[17].

3.2.1.2

Rangkaian RTC DS1307

Protokol komunikasi serial yang digunakan RTC DS1307 adalah I2C/TWI. Pin

RTC DS1307 dan ATmega328 yang digunakan pada I2C adalah pin SCL dan SDA.

Perancangan rangkaian RTC DS1307 ditunjukkan Gambar 3.3.

Gambar 3.3 Rangkaian RTC DS1307

Penggunaan resistor pull-up RTC_R1 dan RTC_R2 dikarenakan pin SDA dan SCL

adalah open drain [18]. Frekuensi CrystalX_RTC sebesar 32,768 kHz sesuai dengan nilai

yang disarankan pada datasheet [18]. Baterai eksternal RTC_B1 digunakan sebagai sumber

(47)

3.2.1.3

Rangkaian Penampil LCD

Penampil yang digunakan adalah LCD Topway LMB162AFC 2x16 karakter dan

dikonfigurasikan menggunakan 4 jalur data (mode 4 bit). Pin LCD nomor 5 dihubungkan

dengan ground, sehingga berlogika rendah dan pin R/W LCD dalam keadaan W (Write).

Perancangan rangkaian penampil LCD ditunjukkan Gambar 3.4

Gambar 3.4 Rangkaian penampil LCD

3.2.1.4

Rangkaian

Transceiver

nRF24L01

Rangkaian transceiver nRF24L01 yang digunakan sudah dalam bentuk modul yang

diproduksi oleh Sparkfun. Modul transceiver nRF24L01 ditunjukkan pada Gambar 3.5.

Modul transceiver nRF24L01 menggunakan cip nRF24L01+ yang diproduksi oleh Nordic

Semiconductor dan bekerja pada band ISM 2,400 GHz - 2,4835 GHz. Modul ini dilengkapi

dengan regulator tegangan 3,3 V dan chip antenna. Modul transceiver nRF24L01

digunakan sebagai pengirim dan penerima data waktu dari atau menuju ATmega328.

(48)

Penghubungan modul transceiver nRF24L01 dengan ATmega328 ditunjukkan

pada Gambar 3.6. Metode pengiriman data antara nRF24L01 dengan ATmega328

menggunakan SPI.

Gambar 3.6 Rangkaian penghubung modul transceiver nRF24L01

3.2.1.5

Rangkaian Alarm

Perancangan rangkaian alarm menggunakan transistor PNP A733 yang

dikonfigurasikan sebagai saklar untuk mengaktifkan buzzer dan output transistor aktif

rendah. Bunyi output buzzer dapat diubah sesuai dengan frekuensi output pin PB1 pada

program mikrokontroler. Rangkaian alarm ditunjukkan pada Gambar 3.7.

Gambar 3.7 Rangkaian Alarm

Perancangan rangkaian alarm mengikuti persamaan 2.2, 2.3, 2.4, dan 2.5. Tegangan

E

V yang diinginkan adalah 3 V. Arus penguatan dc transistor A733 (hFE) adalah 90 dan

arus maksimal pada kaki collector (ICMAX) sebesar 150 mA [33].

Nilai RB_buzzdan RE_buzz adalah

mA 75 10 150 2 1 max I 2 1

(49)

A

3.2.2

Perancangan Subsistem

Slave

Subsistem slave yang dibuat terdiri dari 2 buah perangkat keras. Dua perangkat

keras ini mempunyai 2 komponen rangkaian yang sama. Perancangan subsistem slave

terdiri dari Sistem Minimum ATmega328 dan Rangkaian Penampil 7 Segment. Alokasi pin

yang digunakan ATmega328 subsistem slave dengan RTC DS1307, nRF24L01, dan buzzer

sama dengan alokasi pin untuk subsistem master (Tabel 3.1, Tabel 3.3, dan Tabel 3.4).

3.2.2.1

Sistem Minimum ATmega328

Sistem minimum ATmega328 untuk subsistem slave mengadaptasi rangkaian

board Arduino Duemilanove.

Gambar 3.8 Sistem minimum dan alokasi pin subsistem slave

Sistem minimum ATmega328 berfungsi sebagai penerima data waktu dari

(50)

waktu ke subsistem master dalam periode tertentu. Sistem minimum dan alokasi pin

subsistem slave ditunjukkan pada Gambar 3.8.

Rangkaian osilator menggunakan crystal 16 MHz dan kapasitor 22 pF. Penentuan

nilai crystal 16 MHz sesuai dengan datasheet [15] dan penentuan nilai kapasitor S_C1 dan

S_C2 sebesar 22pF sesuai dengan anjuran nilai kapasitor pada application note dari Atmel

[17].

3.2.2.2

Rangkaian Penampil 7

Segment

Alokasi pin ATmega328 dengan rangkaian penampil 7 segment ditunjukkan pada

Tabel 3.5. Rangkaian penampil 7 segment ditunjukkan pada Gambar 3.9.

Tabel 3.5 Alokasi pin ATmega328 dengan 7 Segment (74HC595), dan LED

Nomor Pin Nama Pin Nomor Pin Nama Pin

4 PD2 14 DS (SERIN)

5 PD3 12 ST_CP (LATCH)

6 PD4 11 SH_CP (CLK)

11 PD5

ATmega328, 7 Segment (74HC595), dan LED

ATmega328 74HC595

LED

Gambar 3.9 Rangkaian penampil 7 segment

Data waktu yang ditampilkan adalah jam dan menit. LED L_D1 berfungsi sebagai

(51)

komunikasi serial lewat IC 74HC595. Jika pin 12 (LATCH) IC 74HC595 berlogika low,

maka IC 74HC595 dalam kondisi mendengarkan (listening). Pin 11 (CLK) IC 74HC595

berfungsi untuk mengatur pergeseran bit input. Pin 14 (SERIN) IC 74HC595 digunakan

untuk meneruskan data bit yang akan digeser.

Daftar susunan biner pada tampilan 7 segment, berdasarkan susunan pin-pin LED 7

segment ditunjukkan pada Tabel 3.6

Tabel 3.6 Susunan biner pin-pin 7 segment

Desimal h g f e d c b a

0 0 0 1 1 1 1 1 1

1 0 0 0 0 0 1 1 0

2 0 1 0 1 1 0 1 1

3 0 1 0 0 1 1 1 1

4 0 1 1 0 0 1 1 0

5 0 1 1 0 1 1 0 1

6 0 1 1 1 1 1 0 1

7 0 0 0 0 0 1 1 1

8 0 1 1 1 1 1 1 1

9 0 1 1 0 1 1 1 1

3.3

Perancangan Perangkat Lunak

Perancangan perangkat lunak digunakan untuk memudahkan implementasi

program Visual Basic dan dalam pemrograman Arduino. Perancangan perangkat lunak

ditunjukkan dalam bentuk diagram alir. Perancangan perangkat lunak terdiri dari

Perancangan Program Visual Basic, Diagram Alir Subsistem Master, dan Diagram Alir

Subsistem Slave.

3.3.1

Perancangan Program Visual Basic

Perancangan GUI Visual Basic ditunjukkan pada Gambar 3.10. Salah satu obyek

VB yang digunakan pada perancangan GUI sistem Sinkronisasi Jam Digital Nirkabel

adalah frame. Frame pada sistem ini digunakan untuk memudahkan penunjukan urutan

program (program sequence) dengan mengatur property enabled-nya. Diagram alir utama

GUI Visual Basic ditunjukkan pada Gambar 3.11 dan memiliki 3 subrutin program, yakni:

subrutin atur sinkronisasi dan port komunikasi, subrutin atur alarm, dan subrutin kirim data

(52)

Sinkronisasi Waktu

Gambar 3.10 GUI Visual Basic

Atur SINKRONISASI dan COMM PORT

Atur alarm

Command button

Kirim ditekan?

Kirim data ke Arduino

Y

T Inisialisasi

Selesai Mulai

Command button

Tutup GUI ditekan?

T

Y

Gambar 3.11 Diagram alir utama GUI Visual Basic

Obyek-obyek yang digunakan pada perancangan GUI pada Gambar 3.10

Gambar

Gambar 2.2 Konfigurasi pin ATmega168/ATmega328 pada Arduino Duemilanove [13]
Tabel 2.1 Konfigurasi dan deskripsi pin ATmega328 [15]
Tabel 2.2 Konfigurasi alternatif port D [15]
Gambar 2.10 Transfer data pada I2C [18]
+7

Referensi

Dokumen terkait

Metode adalah cara untuk mengamati atau menganalisis suatu fenomena, sedangkan metode penelitian mencakup kesatuan dan keserangkaian atau perumusan masalah, penentuan

Menghasilkan skripsi dengan judul “Analisis Kemampuan Komunikasi Matematika Siswa Berkebutuhan Khusus (Lamban Belajar) dalam Menyelesaikan Soal pada

Dari hasil karakterisasi dapat disimpulkan bahwa proses dekomposisi termal dari Fe(III) acetylacetonate hingga 280 o C menghasilkan Fe3O4 dengan distribusi ukuran

Dalam Undang-undang Nomor 10 tahun 1998 tentang perubahan Undang-undang Nomor 7 tahun 1992 tentang perbankan, disebutkan bahwa kredit adalah penyediaan uang atau tagihan

Hasil penelitian ini sejalan dengan penelitian Yuliana (2016) yang menunjukkan bahwa kualitas layanan secara parsial mempunyai pengaruh yang positif dan signifikan

• Pemanfaatan ruang mengacu pada fungsi ruang yang ditetapkan dalam rencana tata ruang dilaksanakan dengan mengembangkan penatagunaan tanah, penatagunaan

Barang siapa yang membuat surat palsu atau memalsukan surat yang dapat menimbulkan suatu hak, perikatan atau pembebasan hutang, atau diperuntukan sebagai bukti