Belajar Berkreasi
MEMBUAT JAM DIGITAL
Membuat Jam Digital dengan Mudah
Langkah Pertama Buatlah PCB dibawah ini
Ukuran PCB : 17,1 cm x 6,1 cm
Gambar Skema :
Tata letak komponen :
Komponen yang dibutuhkan : 1. IC Regulator 7805
2. Jack DC Female (optional kalau mau disambung kabel langsung juga bisa) 3. Capasitor elco 100uF/12 V
4. Saklar ON/OFF (optional jika tidak mau pakai saklar bisa langsung di jumper saja) 5. Capasitor elco 100uF/12 V
6. IC- ATMega 8 7. Chrystal 12 MHz 8. IC ULN 2803 9. Resistor 100 Ohm
10. Transistor fcs 9013 (posisi tulisan depan kita kakinya E-B-C) 11. Resistor 330 Ohm
12. Seven segmen 13. Push button kecil
14. Batre kancing 3 V (ini bisa juga diganti 2 batre ABC 1,5 V di seri) 15. IC RTC DS 3107
16. Resistor 4 k 7 17. Resistor 47 K
Cara Pembuatan :
1. Cetak Layout PCB diatas dengan printer laser pada kertas foto / kertas kalender/kertas brosur atau kertas yang lain yang tipis dan mengkilap
2. Siapkan PCB Polos anda, dan panaskan setrika. Setrikalah layout ini pada PCB sehingga jalur berwarna hitam akan nempel di PCB
4. Cek jalur yang tercetak, kalau putus, tebalkan dengan spidol permanen 5. Kemudian larutkan dalam larutan Ferit Chlorida
6. Bor PCB dengan mata bor 0,8 cm
Jika semua komponen telah dipasang, kita lanjut ke pemrograman IC Atmega8
Hubungkan IC anda dengan Downloader anda, disini saya contohkan menggunakan USBasp.
Jika anda menggunakan downloader jenis yang lainnya, misalkan type serial, atau LPT
sesuaikan dengan kaki downloader, kemungkinan antara downloader satu dengan yang
lainnya posisi soketnya berbeda. Pastikan kaki : mosi, miso, sck, rst, vcc dan gnd tidak
terbalik, karena dapat merusak IC anda
INSTALASI USBASP
1.
Colokkan USBASP ke port USB Laptop
2.
Jika USBASP anda tidak dikenali, maka anda perlu instal drivernya
3.
Buka Device manager laptop anda
4.
Instal drivernya dengan cara klik kanan pada tulisan USBasp
klik Update Driver Software
5.
Aka ada ta pila seperti di a ah i i, pilih Bro se
computer for driver software
7.
Jika Wi do s s urit e gi gatka klik aja I stal this dri er soft are a
a
INSTALASI KHAZAMA AVR PROGRAMMER
Konfigurasi PIN Atmega 8 ;
Contoh pemasangan untuk memprogram IC mikro kontroller dengan USBASP
Mengecek Sambungan dan rangkaian Mikrokontrol
dengan Software Khazama AVR Programmer
1.
Pastikan USBASP telah terkoneksi dengan Mikrokontroller dan laptop dengan benar
2.
Buka software Khazama AVR Programmer
3.
Klik Command
Read Chip Signature
4.
Jika Rangkaian dan penyambungan anda benar, maka akan muncul tulisan seperti dibawah ini, jika
masih ada error silahkan cek kondisi IC Mikro dan penyambungannya sudah betul belum.
Memasukkan Program kedalam Mikrokontroller
1.
Buka Khazama AVR Programmer
Klik Tanda ini
3.
Lalu Klik Auto Program
Sampai disini pemrograman Jam telah selesai, tapi tunggu dulu, kita harus mengatur fuse bit dari IC
At mega8 agar menggunakan kristal 12 Mhz yang kita pasang, karena secara default, IC ini
menggunakan Clock internal 1 MHz sehingga kalau tidak kita setting maka tampilan jam kita akan
berkedip.
CARA SETTING FUSE BIT PADA ATMEGA 8
Perhatian !!! NOHON BERHATI-HATI DALAM SETTING FUSE BIT, LAKUKANLAH SESUAI DENGAN
PETUNJUK YANG SAYA AJARKAN, KARENA KESALAHAN MENGATUR FUSE BIT DAPAT
MENYEBABKAN IC ANDA MENJADI TIDAK DAPAT DIGUNAKAN LAGI !!
2. Klik Command fuse bit and Lock
4. Geser Kebawah cari tampilan seperti di bawah :
ext crystal/Resonator High Freq;Start-Up time 16 ck _ 4 ms;”
5.
La gkah sela jut a klikwrite All:
IC Mikrokontroller Atmega8 Siap untuk digunakan !!
Cara setting Jam :
Cara setting Jam ikuti petunjuk dibawah ini ;
Tekan Tombol paling kiri (B) dan tekan reset A) (keduanya ditekan)
lalu lepaskan reset (A).
Tunggu beberapa saat... anda akan masuk ke mode setting jam
Kemudian tekan B untuk mengurangi jam, dan tekan C untuk menambah Jam
Tekan D untuk mengurangi menit, tekan E untuk menambah menit
Lalu tekan Reset
Selamat jam anda siap digunakan !!
Semoga berhasil !!!
Semua skema dan gambar PCB, source code diambil
dari website
www.inzarsalfikar.com
A
Cetak modifikasi PCB jam seven segmen menjadi PCB jam besar dengan lampu LED Ukuran PCB : 17,1 cm x 6,1 cm
Cara Penyambungan kedua PCB
Sambungkan pin dengan huruf : fgabcde Pada PCB rangkaian jam dengan fgabcde Pada PCB LED , dan sambungkan pin 654321 Pada PCB rangkaian jam dengan pin 654321 Pada PCB LED.
Jangan sampai kebalik urutannya !!
Foto cara penyambungan kedua PCB
Uji coba rangkaian (pastikan IC Atmega8 sudah di program seperti ekperimen diatas)
Selamat berkarya...
Terimakasih..
SALAM EDUKASI
Disusun Oleh : ROKHMAD ASTIKA TRIPRASETIA
Phone / wahtsapp : 08157712604
Source code :
Simpan dengan nama file : Jam.c
/***************************************************** This program was produced by the
CodeWizardAVR V1.25.3 Standard Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
#define dig6 PORTB=0b00100000; delay_ms(1); #define dig2 PORTB=0b00000001; delay_ms(1);
#define hmin PINC.1 #define hplus PINC.2 #define mmin PINC.3 #define mplus PINC.0 // I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC .equ __sda_bit=4
.equ __scl_bit=5 #endasm
#include <i2c.h>
// DS1307 Real Time Clock functions #include <ds1307.h>
// Declare your global variables here #include "kalkulasi.c"
void main(void) {
// Declare your local variables here
// Input/Output Ports initialization // Port B initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00; DDRB=0x3F;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0xFF;
DDRC=0x00;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
TCCR0=0x00; TCNT0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
// I2C Bus initialization i2c_init();
// DS1307 Real Time Clock initialization // Square wave output on pin SQW/OUT: Off // SQW/OUT pin state: 0
rtc_set_time(haur,minut,0); //untuk menset jam 09:10:26
//rtc_set_date(21,08,87); //untuk menset tanggal: 21 Agustus 1987 }
}
while (1) {
// Place your code here
rtc_get_time(&h,&m,&s); //mendapatkan nilai jam, menit dan detik //rtc_get_date(&d,&mo,&y); //mendapatkan nilai tanggal, bulan dan tahun
//lcd_gotoxy(0,0);
//sprintf(temp,"Date %d-%d-%d",d,mo,y);
//lcd_puts(temp);//tampilkan tanggal di LCD baris kedua
h10=h/10; h1=h%10; m10=m/10; m1=m%10; s10=s/10; s1=s%10;
jam(h10,h1,m10,m1,s10,s1);