Salam brolek..,(brother electronic)
alias bro elektronika..,ha ha ha asal buat singkatan aja.
Sore hari ni ane mau share ke tmen2 cara buat DIGITAL CLOCK with LCD alias JAM DIGITAL menggunakan tampilan LCD.,(utk lain waktu ane akan share buat DIGITAL CLOCK pake 7 SEGMENT).
Kalau dipikir-pikir lumayan bisa untuk jam sendiri, syukur2
jika tmen2 bisa memanfaatkan sebagai peluang bisnis bisa nambah uang jajan., ya
gak. Dan yang pasti bisa nambah ilmu pengetahuan terutama di dunia elektronika.
SEKILAS
INFO :
Jam digital yg akan kita buat menggunakan 2 buah IC, pertama
IC Atmega8535 sebagai otaknya dan IC clock DS1307 yang akan memberikan data
mulai dari detik, menit, jam, tanggal,bulan sampe tahun dan IC ini mendkung
penggunaan daya external alias baterai lithium CR2025 3V yg berguna sebagai
daya cadangan saat power utama mati so penanggalan yg ditampilkan gak akan
berubah ke awal setingan alias clock akan tetap berjalan. Sesuai yg tertera
pada datasheet IC ini dapat memberikan penanggalan yg akurat hingga tahun 2100,
kira2 masih hidup gak ya..,he he..jadi inget mati nih.,tpi gak tau kapan
waktunya, yg trpnting selalu berdo’a agar panjang umur dan selalu diberi ilmu
yg brmanfaat agar bisa berbagi pengetahuan ke tmen2 BROLEK.
Ko’
malah jadi ceramah ya.,OK langsung ja ke TKP.
Komponen2
:
- ATmega8535
- IC clock DS1307
- LCD display 2x16
- Baterai lithium 3V
- Transistor 10K
- capacitor 1uF
- Kabel
- Socket
- Konector
Untuk
lebih jelas komponen apa saja yg dibutuhkan lihat skema rangkaian berikut :
- Skema IC CLOCK DS 1307 ( pake PCB WIZARD ) klu mau bikin pake PCB polos dg metode celup ferrit. atau bisa pake PCB lobang aja lebih mudah.
- Skema rangkaian ( pake PROTEUS 7 PRO )
dan utk program ane buat pake BASCOM (Basic Compiler) :
'######################################################
'# #
'# DIGITAL CLOCK LCD by qabulbee.blogspot.com #
'# #
'######################################################
$regfile = "M8535.dat"
$crystal = 11059200
Declare Sub Baca_waktu
Declare Sub Tulis_waktu
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Config Lcd = 16 * 2
Cursor Off
Cls
Config Sda = Portc.1
Config Scl = Portc.0
Config Date = Dmy , Separator = -
Config Clock = User
Const Ds1307w = &HD0
Const Ds1307r = &HD1
Dim Dtk As Byte , Mnt As Byte , Jam As Byte
Dim Tgl As Byte , Bln As Byte , Thn As Byte
Time$ = "22:00:59"
Date$ = "02-04-12"
Bismillahirohmaanirrohim:
Cls
Do
Baca_waktu
Locate 1 , 5 : Lcd Time$
Locate 2 , 5 : Lcd Date$
Loop
'========================< membaca waktu RTC >=========================
Sub Baca_waktu:
Dim Weekday As Byte
Getdatetime:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2crbyte _sec , Ack
I2crbyte _min , Ack
I2crbyte _hour , Ack
I2crbyte Weekday , Ack
I2crbyte _day , Ack
I2crbyte _month , Ack
I2crbyte _year , Nack
I2cstop
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
End Sub
'=========================<tulis waktu ke RTC >===========================
Sub Tulis_waktu
Setdate:
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 4
I2cwbyte _day
I2cwbyte _month
I2cwbyte _year
I2cstop
Settime:
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte _sec
I2cwbyte _min
I2cwbyte _hour
I2cstop
End Sub
'=========================SELAMAT ANDA BERHASIL======================
mohon komentarnya jika ada pertanyaan kritik atau saran.,trima kasih
========================SELAMAT MENCOBA++++++++++++++++++++++++++++++
========================SELAMAT MENCOBA++++++++++++++++++++++++++++++