Assalamualaikum ....
udah lama nggak nongol di blog. Bukan karna sombong, tapi perkara banyak tugas jadinya jarang online hahaha. Saya mau ngebagi ilmu yang sudah saya plajari dari senior-senior saya :) tentang jam digital seven segments.
oke langsung saja. ini dia langkah-langkah untuk membuat jam digital seven segments.
Tujuan
- Mampu mempergunakan fitur timer pada mikrokontroller untuk membuat jam digital yang sederhana.
- Menyelesaikan project mikrokontroller
Peralatan
Arduino UNO |
Resistor 12K |
Single Seven Segment Anoda |
PCB Polos |
Pin Header Female nd Male |
Pada proyek ini akan dibuat program sederhana yang berfungsi sebagai jam digital dengan memanfaatkan fitur timer.one pada mikrokontroller. Timer.one akan dikonfigurasi sehingga terjadi overflow setiap 1 detik. Tiap timer terjadi overflow, variable detik, menit, dan jam akan di-update nilainya. Nilai variable tsb akan ditampilkan pada seven segments.
Prosedur
1. Rangkailah rangkaian pada gambar dibawah ini dengan menggunakan aplikasi ISIS.
Rangkaian Jam digitalSeven Segments |
2. Tuliskan sintaks program berikut ini,kemudian upload program ke system minimum arduino.
//#include <SoftwareSerial.h>
#include <TimerOne.h>
//SoftwareSerial mySerial(9, 8); // RX, TX
//Dgfedcba
char angka[10]={0b11000000,0b11111001,0b10100100,0b10110000,0b10011001,0b10010010,0b10000011,0b11111000,0b10000000,0b10010000}; // konfigurasi angka 0-9
long int x;
int jam,menit,detik;
int q,w,e,r,t,y ;
void setup()
{
DDRD=0xff;
DDRC=0x3f;
PORTD=0xff;
Timer1.initialize(200000); // hitung conter setiap 0.02 ms
Timer1.attachInterrupt(hitungCounter);
// mySerial.begin(9600);
delay(20);
}
void loop()
{
// if (mySerial.available())
{
// q=mySerial.read(); w=mySerial.read();
// e=mySerial.read(); r=mySerial.read();
// t=mySerial.read(); y=mySerial.read();
// mySerial.write(q); mySerial.write(w);
// mySerial.write(e); mySerial.write(r);
// mySerial.write(t); mySerial.write(y);
// mySerial.end();
// mySerial.begin(9600);
}
jam=x/3600; // mySerial.print(jam);mySerial.print("aku");
menit=(x%3600)/60; //mySerial.print(menit);mySerial.print("mau");
detik=(x%3600)%60; //mySerial.println(detik);mySerial.print("itu");
sevensegment();
}
void hitungCounter()
{
x++;
if(x==86400)x=0;
}
void sevensegment()
{
PORTD=angka[detik/10]; digitalWrite(A5,1);delay(1);digitalWrite(A5,0); // tampil puluhan
PORTD=angka[detik%10]; digitalWrite(A4,1);delay(1);digitalWrite(A4,0); //menampilkan satuan
PORTD=angka[menit/10]; digitalWrite(A2,1);delay(1);digitalWrite(A2,0); //
PORTD=angka[menit%10]; digitalWrite(A3,1);delay(1);digitalWrite(A3,0); //
PORTD=angka[jam/10]; digitalWrite(A1,1);delay(1);digitalWrite(A1,0); //
PORTD=angka[jam%10]; digitalWrite(A0,1);delay(1);digitalWrite(A0,0); //
}
3. Setelah mengupload program diatas dn rangkaian pada ISIS running, maka selanjutnya rangkailah rangkaian diatas pada aplikasi EAGLE.
berikut scemathic dan board yang telah saya buat:
.
Scemathic jam digital seves segments |
Board jam digital Seven Segments |
4. kemudian board yang telah jadi di-convert ke PDF creator. seperti gambar dibawah ini.
Board yang Telah di-Convert |
6. kertas yang telah diprint, selanjutnya disetrika dengan papan PCB polos sampai bener2 gambar yang ada pada kertas itu pindah ke papan tersebut.
7. Selanjutnya letakkanlah PCB yang telah disetrika kedalam wadah yang berisi air. diamkan selama 3 sampai 5 menit. Setelah itu lepaskanlah kertas yang menempel pada papan PCB tsb pelan-pelan agar tidak ada jalur yang putus.
8. Keringkan PCB. Setelah kering periksalah jalur jalur nya , jika ada yang putus maka sambungkanlah dengan spidol bermata kecil. usahakan jangan meluber saat menggarisnya.
9. Kemudian, masukkan PCB ke dalam wadah yang berisi larutan fericloride. Goyangkan pelan-pelan wadah tersebut sampai tembaga yang ada pada PCB tersebut hilang.
10. Next, Cucilah PCB yang telah dilarutkan dengan menggunakkan amplas halus agar sisa sisa kertas yang masih menempel dan spidol hilang.
11. setelah bersih, maka Bor lah PCB tersebut sesuai dengan ukuran kaki kaki kompoen.
12. Selanjutnya, solder komponen-komponen tersebut dari komponen yang paling rendah, misal pertama jumper, kedua resistror, dan bla bla. Oh ya sebelum di solder papan PCB nya di oleskan terlebih dahulu menggunakan pastanya.
13. Setelah semuanya selesai, ujilah alat yang telah dibuat. jika seven segmentnya menyala dan running. maka alat tersebut berhasil, jika tidak wassalam :P hahaha ..
Berikut gambar dari jam digital seven segment yang telah saya buat :
Ohya ada yang mau saya smpaikan, Dalam membuat proyek ini sudah ada 2 kali reject alat yang saya buat. Ternyata kesalahan nya itu adalah kakianoda seven segment hanya digunakan satu saja tidak kedua-duanya. 6 seven segments berarti 6 kaki anoda yang dipasangkan ke A0 s/d A5.
Gambar rangkaian scemathic dan board nya yang di bawah ini masih salah. kaki anoda kedua-duanya masih dipakai. rangkaian yang benar tak saya buat dikarenakan waktu yang tidak ckup.
Alat saya bisa jalan karna kaki anoda yang tidak dipakai saya putuskan jalur nya. jadinya satu aja deh yang digunakan.:)
terima kasih telah membaca materi ini, dan maaf bila terjadi kesalahan dalam penjelasan saya :)
Wassalamualaikum wr. wb.
#NHS