Simulasi Rangkaian Jam Digital Dengan ATMega16 dan RTC DS1307
Pada tulisan kali ini kita akan kembali melakukan percobaan simulasi rangkaian pada proteus. Rangkaian yang akan disimulasikan yaitu jam digital menggunakan IC Atmega16 dan IC RTC DS1307 dengan penampil berupa seven segment common chatode. IC RTC (Real Time Clock) adalah suatu IC yang dapat menghitung dan menyimpan waktu dan tanggal. Biasanya rangkaian RTC memiliki backup supply berupa baterai CMOS yang digunakan ketika rangkaian RTC tidak mendapat suply dari VCC. Sehingga meskipun tidak terhubung dengan supply utama, RTC dapat tetap menghitung waktu dan menyimpannya. RTC banyak diaplikasikan dalam rangkaian elektronik, seperti pada jam digital, Komputer/Laptop, HP dan sebagainya.
Salah satu jenis IC RTC adalah DS1307. Berdasarkan datasheetnya, DS1307 memiliki banyak keunggulan. Diantaranya, merupakan IC RTC dengan daya yang rendah, full BCD clock/calendar, dan memiliki 56 bytes NV RAM. Bentuk fisik nya berupa 8-DIP package, sehingga membuatnya kecil dan mudah digunakan. Untuk mengaksesnya menggunakan komunikasi serial dengan antarmuka I2C. Selain itu didalamnya juga telah terdapat koreksi otomatis untuk tanggal dan tahun kabisat.
Adapun rangkaian RTC yang dibuat pada percobaan ini adalah sebagai berikut:
Pada percobaan ini kita akan mencoba mensimulasikan jam digital untuk menampilkan jam dan menit saja. Sehingga kita hanya menggunakan fungsi time nya saja. Seperti telah disebutkan sebelumnya disini digunakan mikrokontroller ATMega 16 dan penampil 7 segment. Rangkaian keseluruhannya sebagai berikut:
Karena hanya menampilkan jam dan menit saja maka kita hanya menggunakan fungsi time saja pada RTC nya. Untuk mengakses nya menggunakan kode rtc_get_time(&jam,&menit,&detik), sedangakan untuk mengatur waktunya menggunkan kode rtc_set_time(jam,menit,detik). Pada rangkaian dapat dilihat kita menggunakan 2 buah push button untuk mengatur jam dan menit. Cara kerja nya, jika tombol jam ditekan maka akan menambah angka jam (jika jam <23 sedangkan jika melebihi maka akan kembali dari 0) . Adapun detiknya ditampilkan dengan indikasi pada dot seven segment, dimana kalau detiknya genap akan menyala dan sebaliknya jika ganjil akan mati. Sehingga dot akan berkedip sesuai detiknya.
Untuk programnya sendiri kita menggunakan software codevision. Berikut adalah source code lengkapnya:
Kemudian kita jalankan simulasinya, hasilnya adalah sebagai berikut:
Selanjutnya kita coba mengatur jam dan menitnya dengan menekan push button. Pada percobaan ini di atur untuk jam 13.50, hasilnya sebagai berikut:
Berikut ini adalah video hasil simulasinya:
Untuk pengembangan selanjutnya dapat dilakukan dengan penambahan fitur seperti menambahkan alarm, kalendar atau mungkin menambahkan penampil suhu ruangan.
Demikian tulisan kali ini semoga bermanfaat.
Bagikan Ke:
Salah satu jenis IC RTC adalah DS1307. Berdasarkan datasheetnya, DS1307 memiliki banyak keunggulan. Diantaranya, merupakan IC RTC dengan daya yang rendah, full BCD clock/calendar, dan memiliki 56 bytes NV RAM. Bentuk fisik nya berupa 8-DIP package, sehingga membuatnya kecil dan mudah digunakan. Untuk mengaksesnya menggunakan komunikasi serial dengan antarmuka I2C. Selain itu didalamnya juga telah terdapat koreksi otomatis untuk tanggal dan tahun kabisat.
Adapun rangkaian RTC yang dibuat pada percobaan ini adalah sebagai berikut:
Pada percobaan ini kita akan mencoba mensimulasikan jam digital untuk menampilkan jam dan menit saja. Sehingga kita hanya menggunakan fungsi time nya saja. Seperti telah disebutkan sebelumnya disini digunakan mikrokontroller ATMega 16 dan penampil 7 segment. Rangkaian keseluruhannya sebagai berikut:
Karena hanya menampilkan jam dan menit saja maka kita hanya menggunakan fungsi time saja pada RTC nya. Untuk mengakses nya menggunakan kode rtc_get_time(&jam,&menit,&detik), sedangakan untuk mengatur waktunya menggunkan kode rtc_set_time(jam,menit,detik). Pada rangkaian dapat dilihat kita menggunakan 2 buah push button untuk mengatur jam dan menit. Cara kerja nya, jika tombol jam ditekan maka akan menambah angka jam (jika jam <23 sedangkan jika melebihi maka akan kembali dari 0) . Adapun detiknya ditampilkan dengan indikasi pada dot seven segment, dimana kalau detiknya genap akan menyala dan sebaliknya jika ganjil akan mati. Sehingga dot akan berkedip sesuai detiknya.
Untuk programnya sendiri kita menggunakan software codevision. Berikut adalah source code lengkapnya:
Selanjutnya kita coba mengatur jam dan menitnya dengan menekan push button. Pada percobaan ini di atur untuk jam 13.50, hasilnya sebagai berikut:
Untuk pengembangan selanjutnya dapat dilakukan dengan penambahan fitur seperti menambahkan alarm, kalendar atau mungkin menambahkan penampil suhu ruangan.
Demikian tulisan kali ini semoga bermanfaat.
Bagikan Ke:
Bang bisa minta kodenya dalam format file projek AVR? Makasih
BalasHapus