Contoh L PDF
Contoh L PDF
TUGAS AKHIR
A
ARMANSAH PUTRA SINGARIMBUN
122408015
TUGAS AKHIR
A
ARMANSAH PUTRA SINGARIMBUN
122408015
NIM : 122408015
Departemen : FISIKA
Disetujui di
Disetujui Oleh
i
LEMBAR PERNYATAAN
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil karya saya sendiri,
sumbernya.
122408015
ii
PENGHARGAAN
Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, berkat rahmat
dan karunia-Nya penulis dapat menyelesaikan tugas akhir ini. Meskipun dalam
proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha
maksimal yang dilakukan penulis serta bantuan dari berbagai pihak, akhirnya
tugas akhir ini dapat selesai. Atas bantuan dan motivasi yang diberikan dari
2. Bapak Prof. Dr. Sutarman, M.Sc selaku Dekan Fakultas Matematika dan
4. Ibu Dr. Susilawati, M.Si selaku ketua Program Studi D-3 Fisika Fakultas
Sumatera Utara.
Paris, Siska Agustina, Putri Amalia, Eko Milala, Jhon Daenlesh, dan
iii
seluruh rekan Fisika Instrumentasi D3 yang memberikan bantuan penulis
8. Semua pihak yang turut membantu dalam pengerjakan Tugas Akhir ini
kekurangan dan masih jauh dari kesempurnaan. Oleh karena itu, penulis sangat
terbuka terhadap saran maupun kritikan dalam sebuah diskusi yang membangun
dari pembaca.
Akhir kata penulis mengharapkan semoga tugas akhir ini dapat bermanfaat
bagi pembaca.
iv
ABSTRAK
Penggunaan RTC (Real Time Clock), Mikrokontroler dan Lacth dapat mengatur
traffic light ( merah, kuning, hijau) tersebut menyala sesuai dengan waktu yang
kita inginkan. Real Time Clock (RTC) digunakan untuk mengatur detik, menit,
hari, tanggal, bulan dan lain-lain. Dengan menggunakan Real Time Clock (RTC),
kita bisa membuat program waktu yang tepat yang diperlukan dalam menyalakan
lampu pada traffic light. Perancangan alat lampu lalu lintas (Traffic Light)
menggunakan Real Time Clock (RTC) sebagai pengatur waktu ditempatkan pada
persimpangan jalan untuk menghindari tidak terjadi kemacetan yang disebabkan
oleh kendaraan yang melewati jalan tersebut.
Kata kunci: RTC (Real Time Clock), Mikrokontroler, Traffic Light
v
DAFTAR ISI
Halaman
LEMBAR PERSETUJUAN ............................................................................. i
LEMBAR PERNYATAAN ............................................................................... ii
PENGHARGAAN ............................................................................................. iii
ABSTRAK .......................................................................................................... v
DAFTAR ISI ....................................................................................................... vi
DAFTAR TABEL ............................................................................................. viii
DAFTAR GAMBAR .......................................................................................... ix
BAB 1. PENDAHULUAN ............................................................................... 1
1.1. Latar Belakang masalah ................................................................ 1
1.2. Rumusan Masalah ....................................................................... 2
1.3. Tujuan Penulisan .......................................................................... 2
1.4. Batasan Masalah .......................................................................... 2
1.5. Sistematika Penulisan .................................................................. 3
BAB 2. LANDASAN TEORI .......................................................................... 4
2.1. Mikrokontroler ........................................................... .................. 4
2.1.1. Mikrokontroler ATMega8 .................................................. 4
2.1.2. Arsitektur Mikrokontroler ATMega8 ................................. 5
2.1.3. Fitur Mikrokontroler ATMega8 .......................................... 7
2.1.3.1. Fitur Perangkat ....................................................... 7
2.1.3.2. Fitur Spesial ........................................................... 8
2.1.4. Konfigurasi Pin Pada Mikrokontroler ATMega8 ............... 9
2.1.5. Deskripsi Pin-pin Pada Mikrokontroler ATMega8 ............ 10
2.1.6. Kebutuhan Clock ............................................................... 14
2.2. RTC (Real Time Clock) DS1307 ................................................. 14
2.2.1. Konfigurasi Pin RTC DS1307 ........................................... 15
2.2.2. Fitur – fitur RTC DS1307 .................................................. 16
2.2.3. Peta Alamat RTC DS1307 ................................................. 17
2.2.4. Register Kontrol RTC DS1307 .......................................... 18
2.2.5. Komunikasi I2C Pada RTC DS1307 ................................. 19
2.3. IC Shift Register 74HC595 .......................................................... 21
2.4. IC ULN2803 ................................................................................ 22
2.5. Liquid Crystal Display (LCD) ...................................................... 23
2.5.1. Pengendali/kontroler LCD .................................................. 24
2.5.2. Register Kontrol Pada LCD ............................................... 25
2.5.3. Konfigurasi Pin Pada LCD ................................................. 25
2.5.4. Karakteristik LCD .............................................................. 26
2.6. Light Emitting Diode (LED) ........................................................ 27
2.7. Tactile Switch ............................................................................... 28
2.8. Bahasa Pemograman BASCOM-AVR ........................................ 29
2.8.1. Tipe Data ............................................................................ 30
2.8.2. Variabel .............................................................................. 31
2.8.3. Operasi – operasi dalam BASCOM-AVR ......................... 31
vi
BAB 3. PERANCANGAN SISTEM ............................................................... 31
3.1. Diagram Blok Rangkaian ............................................................ 31
3.2. Perancangan Rangkaian Kendali Sistem ..................................... 34
3.2.1. Rangkaian Catu Daya ........................................................ 35
3.2.2. Rangkaian Pewaktu RTC DS1307 .................................... 36
3.2.3. Rangkaian Mikrokontroler ATMega8 ............................... 37
3.2.4. Rangkaian Driver LED ...................................................... 38
3.2.5. Rangkaian LCD Karakter 16x2 ......................................... 39
3.2.6. Rangkaian Tombol/Tactile Switch .................................... 40
3.3. Rancangan Perangkat Lunak Sistem ........................................... 41
3.3.1. Flowchart Sistem ............................................................... 41
DAFTAR PUSTAKA
LAMPIRAN
vii
DAFTAR TABEL
viii
DAFTAR GAMBAR
ix
ABSTRAK
Penggunaan RTC (Real Time Clock), Mikrokontroler dan Lacth dapat mengatur
traffic light ( merah, kuning, hijau) tersebut menyala sesuai dengan waktu yang
kita inginkan. Real Time Clock (RTC) digunakan untuk mengatur detik, menit,
hari, tanggal, bulan dan lain-lain. Dengan menggunakan Real Time Clock (RTC),
kita bisa membuat program waktu yang tepat yang diperlukan dalam menyalakan
lampu pada traffic light. Perancangan alat lampu lalu lintas (Traffic Light)
menggunakan Real Time Clock (RTC) sebagai pengatur waktu ditempatkan pada
persimpangan jalan untuk menghindari tidak terjadi kemacetan yang disebabkan
oleh kendaraan yang melewati jalan tersebut.
Kata kunci: RTC (Real Time Clock), Mikrokontroler, Traffic Light
v
BAB 1
PENDAHULUAN
Pada kondisi saat ini, seiring dengan tingkat pertambahan kendaraan yang
lampu lalu lintas. Lampu lalu lintas ini berfungsi mengatur jalannya kendaraan
yang melintas dijalan tersebut agar terjadi ketertiban para pengguna jalan.
Real Time Clock (RTC) merupakan suatu chip IC yang memiliki fungsi
sebagai jam dan kalender elektronik dimana perhitungan detik, menit, jam,
hari, bulan dan tahun tersimpan di memori dengan alamat – alamat tertentu.
Sistem perhitungan jam dan kalender pada RTC berjalan secara otomatis dan
melakukan setting mode RTC, setting waktu maupun pembacaan waktu saja.
Pada tugas akhir ini dikembangkan suatu sistem pengaturan lampu lalu lintas
judul realisasi proyek tugas akhir, yang berjudul “RTC (Real Time Clock)
LIGHT ADAPTIF”. Dengan tujuan agar kemacetan disetiap ruas jalan dapat
1
1.2 Rumusan Masalah
suatu sistem traffic light tersebut yang terdiri dari pengendali lampu,
sistem.
waktu.
2. Mampu mengurangi kemacetan pada setiap ruas jalan terutama pada saat
pemograman BASCOM-AVR.
2
1.5 Sistematika Penulisan
BAB 1 PENDAHULUAN
penulisan.
Dalam bab ini menjelaskan pengujian dan hasil analisa dari alat.
BAB 5 PENUTUP
ataupun data yang dihasilkan dari alat. Bab ini juga merupakan
3
BAB 2
LANDASAN TEORI
Dalam bab ini penulis akan membahas tentang komponen - komponen yang
digunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas
2.1 Mikrokontroler
sebagai otaknya. Kemampuan ini dimiliki oleh sebuah komputer, namun tidaklah
efisien jika harus menggunakan komputer hanya untuk keperluan tersebut. Untuk
mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang dimiliki oleh
sebuah PC.
4
Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang
relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang dimiliki oleh
komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system
pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa
memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan
fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak
dikembangkan lebih lanjut oleh Atmel. Seri pertama AVR yang dikeluarkan
dengan mikrokontroler 8051, termasuk address dan data bus yang termultipleksi.
5
mengunakan kode mesin dan bahasa assembly. Untuk mempermudah dalam
intruksi yang ada semakin kompleks dan membutuhkan lebih banyak memori.
bit sebagian besar dieksekusi dalam 1 siklus clock. Berbeda dengan MCS-51 yang
instruksinya bervariasi antara 8 bit sampai dengan 32 bit dan dieksekusi selama 1
, AVR dibagi menjadi beberapa varian yaitu AT908xx, ATMega, AT86RFxx dan
dll). Dari segi ukuran fisik, ATMega8 memiliki ukuran fisik lebih kecil
6
dibandingkan dengan beberapa mikrokontroler disebutkan diatas. Namun untuk
segi memori dan periperial lainnya ATMega8 tidak kalah dengan yang lainnya
ialah fitur perangkat dan fitur spesial. Adapun yang dimaksud dari kedua fitur
tersebut ialah:
yang terpisah (berbeda-beda satu dengan yang lain), juga terdapat mode
pembanding (Compare).
kemasan/ paket TQFP (Thin Quad Flat Pack) dan QFN (Quad Flat No-
lead)/ MLF (Micro Lead Frame) dan bisa mencapai 10-bit dengan akurasi
yang tinggi.
6. Enam saluran ADC pada kemasan PDIP (Plastic Dual Inline Package),
7
7. Memiliki antarmuka serial dua kabel (two-wire) berorientasi byte.
di dalam Chip.
kadang turun, tetapi dengan waktu yang cepat sehingga kadang kita tidak
bahkan bisa hidup dan mati. Peristiwa ini bisa merusak perangkat jika
8
4. Terdapat lima mode sleep, yaitu:
Idle
Power-safer
Power-down
Standby
sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai pin masukan atau catu daya.
9
3. Port B (PB0 – PB7) merupakan jalur 8 bit yang difungsikan sebagai
input/output.
4. Port C (PC0 – PC6) merupakan jalur data 7 bit yang difungsikan sebagai
5. Port D (PD0 – PD7) merupakan jalur data 8bit yang masing-masing pin-
dan PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat
lainnya.
1. PORT B
PORTB merupakan jalur data 8bit yang dapat difungsikan sebagai input/output.
Selain itu PORTB juga dapat memiliki fungsi alternatif seperti yang tertera pada
10
- ICP1(PB0), berfungsi sebagai Timer Counter 1 input capture pin.
jalur komunikasi SPI. Selain itu pin ini juga berfungsi sebagai jalur
(tanpa crystal) maka PB6 dan PB7 dapat difungsikan sebagai input/output
digital biasa. Namun jika kita menggunakan clock dari crystal external
maka PB6 dan PB7 tidak dapat kita gunakan sebagai input/output.
2. PORT C
11
- ADC 6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar
10bit. ADC dapat kita gunakan untuk mengubah input yang berupa
- I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada
PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain
digabungkan dengan salah satu pin IO (PC6). Secara default PC6 ini
didisable dan diganti menjadi pin RESET. Kita dapat mendisable fungsi
pin RESET tersebut untuk menjadikan PC6 sebagai pin input/output. Kita
namun saya sarankan untuk tidak merubahnya karena jika pin RESET di
disable maka kita tidak dapat melakukan pemograman melalui jalur ISP.
3. PORT D
PORTD merupakan jalur data 8bit yang masing-masing pin-nya juga dapat
juga memiliki fungsi alternatif seperti terlihat pada tabel dibawah ini:
12
Tabel 2.3 Fungsi Alternatif PORT D pada setiap pin
- USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan
level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial,
- Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai
namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu
timer 0.
comparator.
13
2.1.6 Kebutuhan Clock
Sumber clock pada ATMega8 secara garis besar ada 2 buah, yaitu clock internal
dan clock external. Untuk clock internal maksimum clock yang dapat digunakan
adalah 8MHz, sedangkan untuk clock external maksimum clock yang dapat
crystal osilator. Namun biasanya yang lebih banyak digunakan adalah osilator tipe
crystal.
Real Time Clock (RTC) DS1307 adalah IC yang dibuat oleh perusahaan Dallas
Semiconductor. RTC (Real Time Clock) DS1307 bekerja dengan daya rendah
(low power), memiliki kalender/jam BCD dan SRAM yang nonvolatile dengan
kapasitas 56 bytes. Alamat dan data dikirim melalui 2 kabel dwi-arah. Jam dan
kalender pada DS1307 menyediakan informasi detik, menit, jam, hari, tanggal,
bulan dan tahun. Banyak hari dalam satu bulan diatur secara otomatis oleh IC ini
14
baik untuk 31 hari maupun kurang. Jam bekerja dalam format 24 jam atau 12 jam
dayanya, jika catu daya ke sistem mati, maka secara otomatis DS1307 akan
mengambil catu daya dari baterai (jika dipasang). DS1307 memiliki akurasi
(biasanya terletak dekat chip BIOS). Semua komputer menggunakan RTC karena
RTC dilengkapi dengan baterai sebagai pensuplai daya pada chip, sehingga jam
akan tetap up-to-date walaupun komputer dimatikan. RTC dinilai cukup akurat
sebagai pewaktu (timer) karena menggunakan osilator kristal. Ada beberapa jenis
1. VCC, GND : Tegangan DC disediakan pada pin ini. Vcc bernilai 5 volt.
Jika diberikan tegangan 5 volt, IC dapat diakses secara penuh baik untuk
15
menulis maupun membaca data. Ketika baterai disambungkan pada IC dan
nilai Vcc dibawah 1.25 Vbat. Proses penulisan dan pembacaan data tidak
dapat dilakukan, namun proses pencacahan waktu tetap berjalan dan tidak
energy yang lain. Tegangan baterai harus berkisar antara 2 volt sampai 3.5
volt. Baterai lithium 48 mA atau lebih besar dapat digunakan lebih dari 10
4. SDA (Serial Data Input/Output) : SDA berfungsi sebagai pin masukan dan
keluaran pada antarmuka serial 2 kabel. Pin SDA dan SCL membutuhkan
1. Real Time Clock menyimpan data – data detik, menit, jam, tanggal,
16
3. Antarmuka serial two wire (I2C).
squarewave).
+85oC.
Khusus alamat 02H, bit-6 LOW untuk siklus jam 00–24 dan HIGH untuk
siklus jam 00–12. Bit-5 HIGH pada saat PM dan LOW pada saat AM atau angka
17
2.2.4 Register Kontrol RTC DS1307
Register kontrol pada RTC DS1307 digunakan untuk mengontrol operasi pada pin
SQW/OUT.
1. Bit 7 Output Control (OUT) : Bit 7 adalah keadaan jika pin SQW/OUT di
sinyal yang keluar dari pin SQW/OUT. Jika bit 7 ini LOW, maka level pin
SQW/OUT ikut LOW dan jika bit 7 ini HIGH, maka level pin SQW/OUT
ikut HIGH.
clock dari pin SQW/OUT. HIGH berarti enable dan LOW berarti disable.
Frekuensi sinyal clock yang keluar dari pin SQW/OUT ditentukan oleh
frekuensi yang keluar dari pin SQW/OUT. Kombinasi nilai RS0, dan RS1
18
2.2.5 Komunikasi I2C Pada RTC DS1307
Untuk membaca data tanggal dan waktu yang tersimpan di memori RTC DS1307
dapat dilakukan melalui komunikasi serial I2C seperti tampak pada gambar
berikut:
Dari gambar 2.4 diatas dapat dilihat DS1307 beropersai sebagai slave pada
bus I2C. Cara Access pertama mengirim sinyal START diikuti device address dan
alamat sebuah register yg akan dibaca. Beberapa register dapat dibaca sampai
I2C singkatan dari Inter Integrated Circuit, adalah sebuah protokol untuk
komunikasi serial antar IC, dan sering disebut juga Two Wire Interface (TWI).
Bus yang digunakan untuk komunikasi antara mikrokontroler dan divais periferal
melalui dua jalur: SDA (serial data) dan SCL (serial clock). Setiap divais I2C
memiliki 7-bit alamat yang unik. MSB adalah fix dan ditujukan untuk kategori
divais. Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi
19
serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim
maupun menerima data. Divais yang mengirim data sepanjang bus disebut master,
divais yang menerima data disebut slave. Master memulai transmisi dengan
sebuah sinyal start, dan menghentikan transmisi dengan sebuah sinyal stop pada
jalur SDA. Selama sinyal start dan stop, jalur SCL harus dalam keadaan high.
master menulis satu byte alamat divais kepada slave. Setiap byte data harus
memiliki panjang 8-bit. Slave harus memberikan konfirmasi dari byte data yang
SDA dari 1 menjadi 0 pada saat SCL 1. Sinyal Stop merupakan sinyal untuk
menjadi 1 pada saat SCL 1. Sinyal dasar yang lain dalam I2C Bus adalah sinyal
acknowledge yang disimbolkan dengan ACK. Setelah transfer data oleh master
Pada komunikasi I2C antara DS1307 dan mikrokontroler, data- data jam
dan yang lain dikirim dalam format BCD. Data dikirim per-byte dari
Sinyal acknowledge adalah tanda bahwa satu byte data telah diterima oleh
Kemudian mikrokontroler akan mengirimkan alamat group dari DS1307 dan kode
untuk menulis ke DS1307 pada LSB-nya dan kode tulis ini diberikan ke DS1307
20
karena mikrokontroler akan menuliskan terlebih dahulu alamat awal pembacaan
dilakukan per-byte dimulai dari register deetik sampai register tahun. Setelah
Shift register SIPO (Serial In Paralel Out) memiliki pin input serial, pin clock, dan
beberapa pin output. Setiap kali sinyal clock terdeteksi di pin clock, nilai-nilai
pada pin-pin output akan digeser ke kiri (umumnya), dan nilai pin input akan
diselipkan menjadi bit terendah (LSB). Sinyal clock umumnya ditandai dengan
perubahan tegangan naik (rising up) atau turun (rising down) tergantung dari
keluarga TTL seri 74xx yang berfungsi sebagai Shift Register. Komponen
21
menerima masukan secara serial dan keluaran paralel dalam 8-pin keluaran. Data
masukan disimpan pada register penyimpanan tipe-D sepanjang satu byte (8 bit
dengan 3 kondisi (3-state): HIGH, LOW, dan NULL (High-Z, High Impedance).
Sumber detak terpisah disediakan untuk masing-masing register (shift register dan
storage register).
Shift Register memiliki pin kendali SRCLR untuk mereset data di antrian
(direct overriding clear control), pin masukan serial (SER), dan pin keluaran
keluaran serial ini, data keluaran paralel dapat diekspansi menjadi lebih dari 8-bit.
Shift register clock (SRCLK) maupun storage register clock (RCLK) dipicu pada
disambungkan bersama-sama, shift register akan selalu satu pulsa detak lebih
2.4 IC ULN2803
antarmuka sinyal TTL dengan beban tegangan tinggi. Chip mengambil sinyal
tingkat rendah (TLL, CMOS, PMOS, NMOS) yang beroperasi pada tegangan
rendah dan arus rendah dan bertindak sebagai relay, menyalakan atau mematikan
tingkat sinyal yang lebih tinggi di sisi yang berlawanan. Secara fisik ULN2803
adalah konfigurasi IC 18-pin dan berisi delapan transistor NPN. Pins 1-8
menerima sinyal tingkat rendah, pin 9 sebagai grounding (untuk referensi tingkat
22
sinyal rendah). Pin 10 adalah COM pada sisi yang lebih tinggi dan umumnya akan
dihubungkan ke tegangan positif. Pins 11-18 adalah output (Pin 1 untuk Pin 18,
sehingga dapat mengoperasikan beban kecil secara langsung. Pada aplikasi lain,
sering digunakan untuk daya kumparan dari satu atau lebih relay yang
memungkinkan tegangan yang lebih tinggi atau arus yang lebih kuat, dikontrol
oleh sinyal tingkat rendah. Dalam aplikasi arus kuat (listrik), ULN2803
LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan
lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan
listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri
vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan
23
lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul
yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap
Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori
24
merupakan karakter dasar yang sudah ditentukan secara permanen oleh
penulisan data atau tempat status dari panel LCD (Liquid Cristal Display)
b. Register data yaitu register untuk menuliskan atau membaca data dari atau
a. Pin data adalah jalur untuk memberikan data karakter yang ingin
menentukan jenis data yang masuk, apakah data atau perintah. Logika low
menunjukan data.
25
c. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low
d. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
e. Pin VBL berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini
26
4. Terdapat 80 x 8 bit display RAM ( maksimal 80 karakter ).
LED merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara
kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub
Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila
dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda. LED terdiri
dan N. Proses doping yang dimaksud dalam semikonduktor adalah proses untuk
Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P)
menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah
ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif
(P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon
27
Gambar 2.8 Light Emitting Diode (LED)
Tactile Switch merupakan komponen control yang sangat berguna, alat ini dapat
kita jumpai pada panel listrik atau di luar panel listrik. Fungsi tombol tekan adalah
untuk mengontrol kondisi on atau off rangkaian listrik, prinsip kerja tombol tekan
adalah kerja sesaat maksudnya jika tombol kita tekan sesaat maka akan kembali
pada posisi semula. Berdasarkan fungsinya tombol tekan terbagi atas 3 tipe
kontak:
sebagai tombol start. Fungsi mengalirkan arus pada tombol ini terjadi
terhubung dan aliran listrik akan terputus apabila knopnya dilepas karena
terdapat pegas.
jenis kontak tertutup. Biasanya digunakan untuk memutus arus listrik yaitu
28
knop dilepas maka akan kembali pada posisi semula. Tombol jenis ini
NC. Mereka berja secara bersamaan dalam satu poros. Jika tombol di
tekan maka kontak NO yang semula terbuka (Open) dan kontak NC yang
terhubung (Close) dan kontak NC akan menjadi terbuka (Open). Jika knop
pemograman dengan sandi yang hanya dimengerti oleh mesin, sehingga untuk
29
memprogram dalam bahasa ini diperlukan tingkat kecermatan yang tinggi. Bahasa
bahasa manusia yang lebih mudah dimengerti dan tidak tergantung pada mesin.
aturan penulisan dikolam tertentu. Jadi bisa dimulai dari kolom manapun. Namun
Tipe data merupakan bagian program yang penting karena tipe data
data yang tepat akan membuat operasi data menjadi lebih efesien dan efektif.
NO Tipe Jangkauan
1. Bit 0 atau 1
2. Byte 0 – 225
3. Integer -65,535
4. Word 0 – 65535
5. Long -2E+09
30
2.8.2 Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program yang dapat diubah-ubah sesuai dengan
kebutuhan. Nama dari variable terserah sesuai dengan yang diinginkan namun hal
• Terdiri dari gabungan huruf dan angka dengan karakter pertama harus
31
Tabel 2.10 Operasi Relasi
32
BAB 3
PERANCANGAN SISTEM
Secara garis besar diagram blok rangkaian dapat ditunjukkan pada gambar 3.1
dibawah ini:
PSA
LCD
RTC
(Real Time Clock)
Traffic Traffic Traffic Traffic
Light 1 Light 2 Light 3 Light 4
MIKROKONTROLER
ATMEGA8
Tombol
33
Dari gambar diatas dapat dijelaskan bahwa RTC (Real Time Clock)
wire). Dalam hal ini mikrokontroler dapat difungsikan sebagai pengolah data dari
data yang dikirim RTC (Real Time Clock) DS1307 ke mikrokontroler tersebut.
Pada dasarnya RTC (Real Time Clock) DS1307 tersebutlah yang mengatur waktu
dari sistem traffic light tersebut yang kemudian data dari RTC (Real Time Clock)
Dengan adanya RTC (Real Time Clock) DS1307 sebagai pengatur waktu
maka mikrokontroler dapat memutuskan pada pukul berapa sajakah setiap ruas
jalan yang akan mendapatkan penyalaan lampu hijau paling lama, setelah
mikrokontroler memutuskan waktu pada setiap ruas jalan yang akan mendapatkan
driver LED pada traffic light untuk menjalankan prosedur penyalaan lampu
traffic.
analog dan digital. Dalam hal ini, sebagai inti rangkaian digunakan sebuah RTC
(Real Time Clock) dan sebuah mikro dan beberapa komponen pendukung,
misalnya IC yang digunakan untuk Driver LED, dan display. Rangkaian dapat
34
3.2.1 Rangkaian Catu Daya
Adapun rangkaian catu daya yang digunakan pada alat ini adalah sebagai berikut:
Sumber tegangan pada rangkaian ini adalah dari tegangan PLN, sehingga
rangkaian ini akan stabil pada 5V. Tegangan inilah yang digunakan untuk
35
3.2.2 Rangkaian Pewaktu RTC DS1307
Adapun rangkaian pewaktu yang digunakan pada alat ini adalah sebagai berikut:
merupakan ic yang sering digunakan dalam pembuatan jam digital. Prinsip kerja
dari rangkaian RTC ini adalah pin Vcc dari RTC dihubungkan dengan supply
32,768KHz yang dihubungkan dengan pin X1 dan X2. Keperluan untuk back-up
oleh baterai dengan tegangan sebesar 3 Vdc yang dihubungkan dengan pin VBat.
Sedangkan untuk proses komunikasi data waktu dengan sistem keseluruhan diatur
melalui SCL dan SDA. SCL itu adalah sebagai clock untuk input ke I2C
36
Bersifat open drain, oleh sebab itu membutuhkan external pull up resistor.
serial interface. Bersifat open drain, oleh sebab itu membutuhkan external pull up
resistor. Pin SCL dan pin SDA dihubungkan dengan mikrokontroler yang diberi
Berikut adalah rangkaian mikrokontroler ATMega8 yang digunakan pada alat ini:
37
Rangkaian ini merupakan rangkaian minimum ATMega8 dengan 38ristal
16MHz. Dengan rangkaian ini mikrokontroler akan bekerja pada frekuensi kerja
Berikut merupakan rangkaian Driver LED yang digunakan pada alat ini:
38
Rangkaian tersebut merupakan rangkaian yang digunakan untuk
menyalakan LED pada traffic light. Rangkaian ini menggunakan IC 74LS595 dan
LED melalui IC ULN2803. LED dihubungkan melalui SL2, SL3, SL4, dan SL5.
karakter 16x2:
39
Pada rangkaian ini digunakan trimpot yang dihubungkan pada pin 3 dari
LCD. Hal ini bertujuan agar kontras pada karakter yang ditampilkan pada LCD
dapat diatur tingkat kecerahannya. Pin 5 pada LCD dihubungkan langsung pada
GND shingga logika pada pin ini selalu low. Hal ini akan menyebabkan LCD
akan selalu pada mode Write, dimana LCD sifatnya akan selalu untuk
Adapun rangkaian tombol / tactile switch yang digunakan adalah sebagai berikut:
Dari rangkaian dapat dilihat bahwa ketika sakelar tidak tekan, semua pin pada
SL1 akan tetap bertegangan 5V (logika 1). Ketika salah satu sakelar ditekan, maka
40
3.3 Rancangan Perangkat Lunak Sistem
41
Gambar diatas merupakan flowchart atau diagram alir sistem. Diagram
tersebut menjelaskan proses alir dari start hingga selesai satu siklus kerja, hal ini
adalah aliran kerja program. Pada saat alat dinyalakan, alat pertama kali akan
waktu, tombol sebagai sarana input digital, rangkaian display LCD dan rangkaian
display waktu. Setelah itu, mikrokontroler akan memeriksa slot waktu yang mana
yang aktif. Slot waktu aktif didapatkan berdasarkan waktu yang diperoleh dari
rangkaian RTC. Slot waktu tersebut berguna untuk menentukan jeda waktu untuk
perpindahan warna lampu pada traffic light. Ketika slot waktu yang aktif sudah
didapatkan, maka dengan demikian jeda waktu yang aktif untuk waktu tersebut
pun sudah didapatkan. Setelah itu alat akan menjalankan urutan penyalaan lampu
traffic light dengan waktu jeda perpindahan warna lampu sesuai dengan data yang
sudah didapatkan tadi. Kemudian program pun kembali lagi untuk memeriksa slot
42
BAB 4
sistem.
dari PLN. Untuk menguji rangkaian ini, dilakukan pengukuran pada titik-titik
yang dilakukan:
TP1 215 V AC
TP2 10 V AC
TP3 9,5V DC
TP4 4,7 V DC
43
4.2 Pengujian Rangkaian Pewaktu RTC DS1307
gambar. Setelah itu, berikut adalah program yang digunakan untuk menguji coba
rangkaian tersebut:
$regfile = "m328pdef.dat"
$crystal = 11059200
$lib "mcsbyte.lbx"
$lib "ds1307clock.lib"
Portb.1
44
Config Lcd = 16 * 2
Cursor Off
Cls
Jam = 16
Menit = 40
Detik = 0
Gosub Ds_setting
Do
Gosub Ds_waktu
45
Gosub Disp_waktu
Waitms 10
Loop
Disp_waktu:
Locate 1 , 1
Locate 1 , 8
Else
Locate 1 , 8
Lcd Jam
End If
Locate 1 , 11
Else
Locate 1 , 11
Lcd Menit
End If
Locate 1 , 14
Else
46
Locate 1 , 14
Lcd Detik
End If
Return
Ds_waktu:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2cstop
Detik = Makedec(detik)
Menit = Makedec(menit)
Jam = Makedec(jam)
Return
Ds_setting:
Detik = Makebcd(detik)
Menit = Makebcd(menit)
Jam = Makebcd(jam)
I2cstart
47
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte Detik
I2cwbyte Menit
I2cwbyte Jam
I2cstop
Return
digital dengan tampilan waktu 16:40:00 pada LCD. Jika hal tersebut tampil, maka
baik.
48
Untuk memastikan rangkaian mikrokontroler dalam keadaan baik, maka
$regfile = "m328pdef.dat"
$crystal = 16000000
Do
Toggle portd.7
Waitms 100
Loop
mikrokontroler akan tampak berkedip dengan jeda waktu tertentu. Jika sudah
49
Pengujian rangkaian ini dilakukan dengan mengukur tegangan pada titik seperti
yang ditunjukkan pada gambar diatas. Setelah itu, dilakukan penekanan pada
sudah beroperasi dengan baik atau tidak. Berikut ini merupakan table pengukuran
yang dilakukan:
50
Rangkaian LCD diuji dengan cara menghubungkannya dengan mikrokontroler
sebagai berikut:
$regfile = "m328pdef.dat"
$crystal = 11059200
Portb.1
Config Lcd = 16 * 2
Cursor Off
Cls
Do
Loop
Rangkaian LCD dikatakan dalam kondisi baik apabila setelah program tersebut
diinputkan pada mikrokontroler dan dioperasikan, maka pada LCD akan tampil
tulisan Test.
51
4.6 Pengujian Rangkaian Driver LED
$regfile = "m8def.dat"
$crystal = 16000000
'Enable
52
Sh_cp Alias Portb.2
'clock
Reset Pin_data
Reset St_cp
Reset Sh_cp
Waktu_lampu = 5
Waktu_lampu_kuning = 2
Do
Data_lampu = &H84
Data_lampu = &H21
Set St_cp
Waitus 100
Reset St_cp
Wait Waktu_lampu
Data_lampu = &H0C6
Data_lampu = &H42
Set St_cp
53
Waitus 100
Reset St_cp
Wait Waktu_lampu_kuning
Data_lampu = &H21
Data_lampu = &H84
Set St_cp
Waitus 100
Reset St_cp
Wait Waktu_lampu
Data_lampu = &H42
Data_lampu = &H0C6
Set St_cp
Waitus 100
Reset St_cp
Wait Waktu_lampu_kuning
Loop
Ketika program tersebut dijalankan pada rangkaian, maka lampu led akan
54
4.7 Pengujian Kerja Sistem Secara Keseluruhan
Akhir dari pengujian rangkaian secara keseluruhan ini dimulai dari menjalankan
sistem hingga mengeksekusi program yang telah dibuat di PC, maka dihasilkan
55
BAB 5
PENUTUP
5.1 Kesimpulan
berikut:
1. Alat ini sudah bekerja sesuai tujuannya yaitu sebagai Traffic Light
5.2 Saran
Dengan memandang dari segi penggunaan dan sistem kerja suatu peralatan,
buat apabila ada pihak yang berminat mengembangkan secara luas antara lain:
2. Diharapkan alat ini bisa mengatur ulang waktu tunda (delay) pada
56
DAFTAR PUSTAKA
http://purnomosejati.wordpress.com/2011/08/25/mengenal-komunikasi-i2cinter-
integrated-circuit/
http://pccontrol.wordpress.com/2011/06/27/pengetahuan-dasar-pemrograman-rtc-
ds1307-dengan-bahasa-c-codevision-untuk-avr/
http://akhdanazizan.com/tombol-tekan-push-button
http://www.alldatasheet.com
57
LAMPIRAN
A
Skematik Rangkaian Keseluruhan
LAMPIRAN
B
Program yang digunakan pada “RTC (Real Time Clock) DS1307 Sebagai
Pengatur Waktu Pada Sistem Traffic Light Adaptif”
$regfile = "m8def.dat"
$crystal = 16000000
$lib "ds1307clock.lib"
Awal:
Enable Int0
Enable Interrupts
On Int0 Set_waktu
Locate 1 , 1
Lcd "Waktu: "
Locate 1 , 8
Lcd " : : "
Locate 2 , 1
Lcd "Slot: Det: "
Tunda = 0
Do
Gosub Ambil_waktu
Gosub Cek_slot
Gosub Tampil
If Slot = 1 Then
Data1 = &H42
Data2 = &H42
Gosub Kirim_data
Waitms 250
Data1 = 0
Data2 = 0
Gosub Kirim_data
Waitms 250
Else
Gosub Looping_lampu
End If
Loop
Kirim_data:
Shiftout Pin_data , Sh_cp , Data1 , 1
Shiftout Pin_data , Sh_cp , Data2 , 1
Set St_cp
Waitus 200
Reset St_cp
Return
Ambil_waktu:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2crbyte Detik , Ack
I2crbyte Menit , Ack
I2crbyte Jam , Nack
I2cstop
Detik = Makedec(detik)
Menit = Makedec(menit)
Jam = Makedec(jam)
Tampil:
Locate 1 , 8
If Jam < 10 Then
Locate 1 , 8
Lcd "0"
End If
Lcd Jam
Locate 1 , 11
If Menit < 10 Then
Locate 1 , 11
Lcd "0"
End If
Lcd Menit
Locate 1 , 14
If Detik < 10 Then
Locate 1 , 14
Lcd "0"
End If
Lcd Detik
Locate 2 , 14
If Tunda < 10 Then
Locate 2 , 14
Lcd "0"
End If
Lcd Tunda
Locate 2 , 7
Lcd Slot
Return
Set_waktu:
Disable Int0
Waitms 250
Do
If Tbl_up = 0 Then
Incr Menit
If Menit > 59 Then
Menit = 0
End If
Waitms 80
End If
If Tbl_down = 0 Then
Decr Menit
If Menit > 254 Then
Menit = 59
End If
Waitms 80
End If
Gosub Tampil
Waitms 80
Loop Until Tbl_menu = 0
Waitms 150
Do
If Tbl_up = 0 Then
Incr Jam
If Jam > 23 Then
Jam = 0
End If
Waitms 80
End If
If Tbl_down = 0 Then
Decr Jam
If Jam > 254 Then
Jam = 23
End If
Waitms 80
End If
Gosub Tampil
Waitms 80
Loop Until Tbl_menu = 0
Waitms 250
Detik = 0
Detik = Makebcd(detik)
Menit = Makebcd(menit)
Jam = Makebcd(jam)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte Detik
I2cwbyte Menit
I2cwbyte Jam
I2cstop
Locate 1 , 1
Lcd "Waktu: "
Locate 1 , 8
Lcd " : : "
Locate 2 , 1
Lcd "Slot: Det: "
Goto Awal
Return
Cek_slot:
If Jam >= 1 And Menit >= 0 Then
If Jam <= 2 And Menit <= 59 Then
Slot = 1
Tunda = 0
End If
End If
Looping_lampu:
Data1 = &H24
Data2 = &H84
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = Tunda_set
Tunda = 0
Data1 = &H44
Data2 = &H84
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = 2
Tunda = 0
Data1 = &H84
Data2 = &H24
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = Tunda_set
Tunda = 0
Data1 = &H84
Data2 = &H44
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = 2
Tunda = 0
Data1 = &H81
Data2 = &H84
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = Tunda_set
Tunda = 0
Data1 = &H82
Data2 = &H84
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = 2
Tunda = 0
Data1 = &H84
Data2 = &H81
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = Tunda_set
Tunda = 0
Data1 = &H84
Data2 = &H82
Gosub Kirim_data
Do
Gosub Ambil_waktu
Gosub Tampil
Loop Until Tunda = 2
Tunda = 0
Return