Sistem Otomatis Alat Pemberi Pakan Ikan Menggunakan Real Time Clock (RTC) DS1307 Berbasis Arduino

BAB II
LANDASAN TEORI
2.1 Real Time Clock (RTC)
Real Time Clock (RTC) merupakan IC yang dibuat oleh perusahaan Dallas

Semikonduktor. IC ini memiliki Kristal yang dapat mempertahankan frekuensinya dengan
baik. Real Time Clock (RTC) merupakan suatu chip (IC) yang memiliki fungsi sebagai
penyimpan waktu dan tanggal. Ada dua buah jenis IC RTC yaitu:
1. DS1307 merupakan Real Time Clock (RTC) yang menggunakan jalur data parallel
yang dapat menyimpan data-data detik, menit, jam, tanggal, bulan, hari dalam
seminggu, da tahun valid hingga 2100. 56 byte,battery-backed, RAM nonvolatile
(NV) RAM untuk penyimpanan.
2. DS12C887 menggunakan jalur data seri yang memiliki register yang dapat
menyimpan data detik,jam, menit, jam, tanggal, bulan dan tahun. RTC ini memiliki
128 lokasi RAM yang terdiri dari 15 byte untuk data waktu serta control, dan 113 byte
sebagi RAM umum. RTC DS 12C887 menggunakan bus yang termultipleks untuk
menghemat pin. Timing yang digunakan untuk mengakses RTC dapat menggunakan
intel timing tau motorla timing. RTC ini juga dilengkapai dengan pin IRQ untuk
kemudahan proses.
2.1.1 RTC Parallel (DS1307)
DS1307 merupakan Real Time Clock (RTC) dengan jalur data parallel yang

memiliki interface serial Two-wire (12C), sinyal luaran gelombang-kotak
terprogram (Programmable Squarewave), deteksi otomatis kegagalan-daya (powerfail) dan rangkaian switch, konsumsi daya kurang dari 500nA menggunakan mode

baterai cadangan dengan operasional osilator. Tersedia fitur industri dengan
ketahanan suhu : -40˚C hingga +85 ˚C. Tersedia dalam kemasan 8-pin DIP atau
SOIC.

Gambar 2. 1 Diagram Pin
4
Universitas Sumatera Utara

Berikut ini merupakan daftar pin untuk RTC Parallel DS1307 :
1. X1, merupakan pin yang digunakan untuk dihubungkan dengan X2
2. X2, berfungsi sebagai keluaran / output dari crystal yang digunakan. Terhubung juga
dengan X1
3. V

BAT

, merupakan backup supply untuk serial RTC dalam menjalankan fungsi waktu


dan tanggal. Besarnya adalah 3 V dengan menggunakan jenis Lithium Cell atau
sumber energi lain. Jika pin ini tidak digunakan maka harus terhubung dengan
Ground. Sumber tegangan dengan 48mAH atau lebih besar dapat digunakan sebagai

cadangan energi sampai lebih besar dari 10 tahun, namun dengan persyaratan untuk
pengoperasian dalam suhu 25 ˚C.
4. GND, berfungsi sebagai Ground.
5. SDA – Serial Data, berfungsi sebagai masukan/ keluaran (I/O) untuk I2C serial
interface. Pin ini bersifat open drain, oleh sebab itu membutuhkan eksternal pull up
resistor .

6. SCL – Serial Data, berfungsi sebagai clock untuk input ke I2C dan digunakan untuk
mensinkronisasi pergerakan data dalam serial interface. Bersifat open drain, oleh
sebab itu membutuhkan eksternal pull up resistor .
7. SWQ/OUT
Sebagai square wafe/ Output Driver . Jika diaktifkan, maka akan menjadi 4 frekuensi
gelombang kotak yaitu 1 Hz, 4 kHz, 8 kHz, 32 kHz sifat dari pin ini sama dengan sifat
pin SDA dan SCL sehingga membutuhkan eksternal pull up resistor . Dapat
dioperasikan dengan VCC maupun dengan V BAT .

8. VCC, merupakan sumber tegangan utama. Jika sumber tegangan terhubung dengan
baik, maka peengaksesan data dan pembacaan data dapat dilakukan dengan baik.
Namun jika backup supply terhubung juga dengan VCC, namun besar VCC di bawah
V TP , maka pengaksesan data tidak dapat dilakukan.

2.1.2 RTC SERI DS12C887
DS12C887 mempunyai 14 buah register yang terdiri dari 4 Register Kontrol
dan 10 Register Data. Register Data sendiri terpisah menjadi register waktu dan
Register Alarm sebagaimana ditunjukkan pada gambar dibawah ini. Setelah
Register-register Kontrol diinisialisasi, maka data waktu ataupun alarm dapat dibaca

atau ditulisi dengna cara mengakses register-register data yang bersangkutan.
5
Universitas Sumatera Utara

Gambar 2. 2 Pemetaan alamat pada RTC DS12C887

2.2 Hardware Arduino
Papan Arduino merupakan papan mikrokontroler yang berukuran kecil atau dapat
diartikan juga dengan suatu rangkaian berukuran kecil yang didalamnya terdapat

komputer berbentuk suatu chip yang kecil. Arduino didefinisikan sebagai sebuah platform
elektronik yang open source, berbasis pada software dan hardware yang fleksibel dan
mudah digunakan, yang ditujukan untuk seniman, desainer, hobbies dan setiap orang yang
tertarik dalam membuat objek atau lingkungan yang interaktif. Arduino pada awalnya
dikembangkan di Ivrea, Italia.
Bahasa pemrograman arduino adalah bahasa pemrograman yang umum digunakan
untuk membuat perangkat lunak yang ditanamkan pada arduino board. Pada Gambar
dibawah dapat dilihat sebuah papan Arduino dengan beberapa bagian komponen
didalamnya.

Gambar 2. 3 Hardware Arduino
6
Universitas Sumatera Utara

Pada hardware arduino terdiri dari 20 pin yang meliputi:
a. 14 pin IO Digital (pin 0–13)
Sejumlah pin digital dengan nomor 0–13 yang dapat dijadikan input atau output
yang diatur dengan cara membuat program IDE.
b. 6 pin Input Analog (pin 0–5)
Sejumlah pin analog bernomor 0–5 yang dapat digunakan untuk membaca nilai

input yang memiliki nilai analog dan mengubahnya ke dalam angka antara 0 dan
1023.
c. 6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11)
Sejumlah pin yang sebenarnya merupakan pin digital tetapi sejumlah pin tersebut
dapat diprogram kembali menjadi pin output analog dengan cara membuat
programnya pada IDE.
Papan Arduino Uno dapat mengambil daya dari USB port pada komputer
dengan menggunakan USB charger atau dapat pula mengambil daya dengan
menggunakan suatu AC adapter dengan tegangan 9 volt. Jika tidak terdapat power
supply yang melalui AC adapter, maka papan Arduino akan mengambil daya dari

USB port. Tetapi apabila diberikan daya melalui AC adapter secara bersamaan dengan
USB port maka papan Arduino akan mengambil daya melalui AC adapter secara
otomatis.

2.3 Software Arduino
Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada

beberapa software lain yang sangat berguna selama pengembangan arduino. IDE atau
Integrated Development Environment suatu program khusus untuk suatu komputer agar


dapat membuat suatu rancangan atau sketsa program untuk papan Arduino. IDE arduino
merupakan software yang sangat canggih ditulis dengan menggunakan java. IDE arduino
terdiri dari:
1. Editor Program
Sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam
bahasa processing.
2. Compiler
Sebuah modul yang mengubah kode program menjadi kode biner bagaimanapun
sebuah mikrokontroler tidak akan bisa memahami bahasa processing.
3. Uploader
7
Universitas Sumatera Utara

Sebuah modul yang memuat kode biner dari komputer ke dalam memori di dalam
papan Arduino.
Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu :
a. Struktur Program Arduino
1) Kerangka Program
Kerangka program arduino sangat sederhana, yaitu terdiri atas dua blok. Blok

pertama adalah void setup() dan blok kedua adalah void loop.
Blok Void setup () : Berisi kode program yang hanya dijalankan sekali sesaat
setelah arduino dihidupkan atau di-reset. Merupakan bagian persiapan atau
instalasi program.
Blok void loop() : Berisi kode program yang akan dijalankan terus menerus.
Merupakan tempat untuk program utama.
2)

Sintaks Program
Baik blok void setup loop () maupun blok function harus diberi tanda kurung
kurawal buka “{“ sebagai tanda awal program di blok itu dan kurung kurawal
tutup “}” sebagai tanda akhir program.

b. Variabel : Sebuah program secara garis besar dapat didefinisikan sebagai instruksi
untuk memindahkan angka dengan cara yang cerdas dengan menggunakan
sebuah varibel.
c. Fungsi : Pada bagian ini meliputi fungsi input output digital, input output analog,
advanced I/O, fungsi waktu, fungsi matematika serta fungsi komunikasi.
Pada proses Uploader dimana pada proses ini mengubah bahasa pemrograman yang
nantinya dicompile oleh avr-gcc (avr-gcc compiler) yang hasilnya akan disimpan

kedalam papan arduino. Avr-gcc compiler merupakan suatu bagian penting untuk
software bersifat open source. Dengan adanya avr-gcc compiler, maka akan membuat
bahasa pemrogaman dapat dimengerti oleh mikrokontroler. Proses terakhir ini sangat
penting, karena dengan adanya proses ini maka akan membuat proses pemrogaman
mikrokontroler menjadi sangat mudah. Berikut ini merupakan gambaran siklus yang
terjadi dalam melakukan pemrogaman Arduino:
1. Koneksikan papan Arduino dengan komputer melalui USB port.
2. Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam papan
Arduino.
3. Upload sketsa program ke dalam papan Arduino melalui kabel USB dan
kemudian tunggu beberapa saat untuk melakukan restart pada papan Arduino.
8
Universitas Sumatera Utara

4. Papan Arduino akan mengeksekusi rancangan sketsa program yang telah dibuat
dan di-upload ke papan Arduino.

2.4 Masing-masing Sumber Daya dan Pin Tegangan Arduino
Arduino uno dapat diberi daya melalui koneksi USB (Universal Serial Bus) atau
melalui power supply eksternal. Jika arduino uno dihubungkan ke kedua sumber daya

tersebut secara bersamaan maka arduino uno akan memilih salah satu sumber daya secara
otomatis untuk digunakan. Power supply external (yang bukan melalui USB) dapat
berasal dari adaptor AC ke DC atau baterai. Adaptor dapat dihubungkan ke soket power
pada arduino uno. Jika menggunakan baterai, ujung kabel yang dibubungkan ke baterai
dimasukkan kedalam pin GND dan Vin yang berada pada konektor POWER.
Arduino uno dapat beroperasi pada tegangan 6 sampai 20 volt. Jika arduino uno
diberi tegangan di bawah 7 volt, maka pin 5V akan menyediakan tegangan di bawah 5
volt dan arduino uno munkin bekerja tidak stabil. Jika diberikan tegangan melebihi 12
volt, penstabil tegangan kemungkinan akan menjadi terlalu panas dan merusak arduino
uno. Tegangan rekomendasi yang diberikan ke arduino uno berkisar antara 7 sampai 12
volt.

2.5 Servo
Motor servo pada dasarnya adalah motor dc dengan kualifikasi khusus yang sesuai
dengan aplikasi “sevosing” didalam teknik kontrol. Dalam kamus Oxfrod istilah “servo”
diartikan sebagai “ a mechanism that control a large mechanism”. Tidak ada sepisi baku
yang disepakati untuk menyatakan bahwa suatu motor dc adalah motor servo. Namun
secara umum dapat difinisikaan bahwa motor harus memilki kemampuan yang baik dalam
mengatasi perubahan yang cepat dalam posisi dan kecepatan. Motor servo juga
dikehendaki handal dalam beroperasi dalam lingkup torsi yang berubah - berubah. Berapa

tipe motor yang dijual dengan paket rangkaian drivernya telah memiliki rangkaia control
kecepatan yang menyatu didalamnya. Putaran motor tidak lagi berdasarkan tegangan
supplay ke motor, namun berdasarkan tegangan input khusus yang berfungsi sebagai
referensi kecepatan output. Motor servo merupakan motor yang diatur dan dikontrol
menggunakan pulsa. Motor standard ini memiliki tiga posisi yaitu posisi 0˚, posisi 90 ˚,
dan posisi 180˚. Poros motor servo biasanya dihubungkan dengan suatu mekanisme
sehingga dapat membuat / mengontrol pergerakan roda depan pada sebuah mobil mainan.
Pada saat poros pada posisi 0˚, maka roda mobil mainan akan bergerakan kekiri, jika
9
Universitas Sumatera Utara

posisi poros pada 90˚, maka roda depan mobil maianan akan lurus, sedangkan jika posisi
180˚, maka roda depan mobil akan berbelok kekanan.

Gambar 2. 4 Pemberian Pulsa Untuk Perputaran Motor Servo
Karena ada tiga posisi utama seperti yang dijelaskan diatas maka dibuatlah secara
khusus mengatur motor srvo tersebut, dengan cara memberikan pulsa digital dengan lebar
yang berbeda – beda. Jika diberikan pulsa dengan lebar 1.5ms maka motor servo akan
berputar 90˚, pulsa dengan 1.75ms akan membuat motor servo menuju 180˚, sedangkan
pulsa dengan lebar 1.25ms akan membut motor servo bergerak menuju 0˚, motor servo

tersebut disebut Motor servo standard yang memiliki batas, hal ini menyebabkan poros
servo tidak berputar 360˚, sedangkan motor servo continous jika diberi puls 1.25ms akan
berputar CW dan sedangkan jika diberi 1.75ms maka akan berputar CCW dan juga bila
diberi 1,5ms motor servo kan diam tidak bergerak. Pada dasarnya motor servo continous
akan berputar 360˚.
Berikut ini adalah gambar dari motor Servo Tower Pro SG90 yang digunakan
dalam pembuatan alat ini.

Gambar 2. 5 Motor Servo

10
Universitas Sumatera Utara

2.5.1 Keunggulan dan Kelemahan Motor Servo
Keunggulan Motor Servo
Keunggulan dari penggunaan motor servo adalah :
1. Tidak bergetar dan tidak ber-resonansi saat beroperasi.
2. Daya yang dihasilkan sebanding dengan ukuran dan berat motor.
3. Penggunaan arus listik sebanding dengan beban yang diberikan.
4. Resolusi dan akurasi dapat diubah dengan hanya mengganti encoder yang
dipakai.
5. Tidak berisik saat beroperasi dengan kecepatan tinggi.
Kelemahan Motor Servo
Kelemahan dari penggunaan motor servo adalah :
1. Tidak bergetar dan tidak ber-resonansi saat beroperasi.
2. Daya yang dihasilkan sebanding dengan ukuran dan berat motor.
3. Penggunaan arus listik sebanding dengan beban yang diberikan.
4. Resolusi dan akurasi dapat diubah dengan hanya mengganti encoder yang
dipakai.
5. Tidak berisik saat beroperasi dengan kecepatan tinggi.

2.5.2 Aplikasi Motor Servo
Motor servo dapat dimanfaatkan pada pembuatan robot, salah satunya sebagai
penggerak kaki robot. Motor servo dipilih sebagai penggerak pada kaki robot karena
motor servo memiliki tenaga atau torsi yang besar, sehingga dapat menggerakan
kaki robot dengan beban yang cukup berat. Pada umumnya motor servo yang
digunakan sebagai pengerak pada robot adalah motor servo 180˚.

Gambar 2. 6 motor servo 180 ˚ yang sering digunakan untuk kaki robot

11
Universitas Sumatera Utara

2.5.3 Komponen Penyusun Motor Servo
Motor servo pada dasarnya dibuat menggunakan motor DC yang dilengkapi
dengan controler dan sensor posisi sehingga dapat memiliki gerakan 0 o, 90o,
180o atau 360o. Berikut adalah komponen internal sebuah motor servo 180o.

Gambar 2. 7 Komponen Penyusun Motor Servo
Tiap komponen pada motor servo diatas masing-masing memiliki fungsi sebagai
controler, driver, sensor, girbox dan aktuator. Pada gambar diatas terlihat beberapa
bagian komponen motor servo. Motor pada sebuah motor servo adalah motor DC
yang dikendalikan oleh bagian controler, kemudian komponen yang berfungsi
sebagai sensor adalah potensiometer yang terhubung pada sistem girbox pada motor
servo.

2.6 LCD (Liquid Crystal Display)
LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan
kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya
alal–alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini
aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD
sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan
status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah :
1. Terdiri dari 16 karakter dan 2 baris.
2. Mempunyai 192 karakter tersimpan.
3. Terdapat karakter generator terprogram
4. Dapat dialamati dengan mode 4-bit dan 8-bit
5. Dilengkapi dengan back light.
6. Tersedia VR untuk mengatur kontras.
7. Pilihan konfigurasi untuk operasi write only atau read/write.
8. Catu daya +5 Volt DC dan Kompatibel dengan DT-51 dan DT-AVR Low Cost Series
serta sistem mikrokontroler/mikroprosesor lain.
12
Universitas Sumatera Utara

Gambar 2. 8 LCD (Liquid Crystal Display)
Adapun konfigurasi dan deskripsi dari pin-pin LCD antara lain:
1. Pin 1 dihubungkan ke Gnd
2. Pin 2 dihubungkan ke Vcc +5V
3. Pin 3 dihubungkan ke bagian tegangan potensiometer 10KOhm sebagai pengatur
kontras.
4. Pin 4 untuk membritahukan LCD bahwa sinyal yang dikirim adalah data, jika Pin 4 ini
diset ke logika 1 (high, +5V), atau memberitahukan bahwa sinyal yang dikirim adalah
perintah jika pin ini di set ke logika 0 (low, 0V).
5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V) maka
LCD berfungsi untuk menerima data (membaca data). Dan fungsi untuk mengeluarkan
data, jika pin ini di set ke logika 0 (low, 0V). Namun kebanyakan aplikasi hanya
digunakan untuk menerima data, sehingga pin 5 ini selalu dihubungkan ke Gnd.
6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau pembaca data.
7. Pin 7 – Pin 14 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB saja,
sehingga pin data yang digunkan hanya Pin 11 – Pin 14).
8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD.
Tabel 2. 1 Deskripsi Pin Pada LCD
Pin

Deskripsi

1

Ground

2

Vcc

3

Pengatur kontras

4

“RS” Instruction/Register Select

5

“R/W” Read/Write LCD Registers

6

“EN” Enable

7-14

Data I/O Pins

15

Vcc

16

Ground
13
Universitas Sumatera Utara

Cara kerja LCD (Liquid Crystal Display) pada aplikasi umumnya RW diberi
logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang
digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi,
interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan
sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII
yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu
waktu.

2.7 Switch
Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang

berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja
tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja
sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat
tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal.

Gambar 2. 9 Switch
Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2
kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena
semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan
kondisi On dan Off. Karena sistem kerjanya yang unlock dan langsung berhubungan
dengan operator, push button switch menjadi device paling utama yang biasa digunakan
untuk memulai dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin
bisa dipastikan sistem kerjanya tidak terlepas dari keberadaan sebuah saklar seperti push
button switch atau perangkat lain yang sejenis yang bekerja mengatur pengkondisian On
dan Off.

14
Universitas Sumatera Utara

Gambar 2. 10 Kondisi Pada Switch
Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push
button switch mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO
(Normally Open).

1. NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya
terbuka (aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan,
kontak yang NO ini akan menjadi menutup (Close) dan mengalirkan atau
menghubungkan arus listrik. Kontak NO digunakan sebagai penghubung atau
menyalakan sistem circuit (Push Button ON).

2. NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya
tertutup (mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan,
kontak NC ini akan menjadi membuka (Open), sehingga memutus aliran arus
listrik. Kontak NC digunakan sebagai pemutus atau mematikan sistem circuit
(Push Button Off).

15
Universitas Sumatera Utara