Jadi ceritanya setelah dulu2 sempat bikin tutorial membuat traffic light dengan codevision AVR sampai 4 seri ternyata ada riques untuk gimana klo traffic lightnya punya countdown timer puluhan? klo yang di seri 2 sampai 4 kan countdown timernya menggunakan 1 buah seven segment sehingga nilai terbesarnya hanya 9?
Ya itu sih emang karena karepnya saya aja yang lagi pengen dapet penaknya, soale nek kokean timer juga pasti repot harus bagi2 antara kaki untuk display dengan kaki untuk gonta ganti tampilan. Tapi ya sutralah memang begitu keadaannya 😀 nah sekarang untuk traffic light dengan countdown timer puluhan/ratusan dst gimana cara bikinnya???
Membuat Traffic Light Dengan Codevision
Prinsipnya sama seperti kita menggunakan tutorial membuat traffic light dengan codevision AVR seri 2. Hanya disini kita tambahkan beberapa variabel dan tentu saja kaki!
variabel yang ditambahkan adalah
- kananp (untuk countdown puluhan traffic light sebelah kanan/ijo)
- kirip (untuk countdown puluhan traffic light sebelah kiri/merah)
- tunda (karena kita pake puluhan, maka kita harus menswitch antara display satuan dan puluhan, untuk membuat pergantiannya nampak natural kita perlu membuat delay)
Sementara untuk untuk control kaki seven segment kita tetep pake PORTC. List nya adalah sebagai berikut
#include <mega16.h> #include <delay.h> unsigned char bil[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; int kanan=9; int kananp, kirip, tunda; int kiri=9; //variabel kananp, kirip untuk puluhan //variabel tunda biar perpindahan antar puluhan dengan satuan lebih enak dilihat void main (void) { DDRC=0xff; DDRD=0xff; { while(1) { for(kananp=4;kananp>-1;kananp--) { for(kanan=9;kanan>-1;kanan--) { for(tunda=50;tunda>0;tunda--) { PORTD=0x02; PORTC=bil[kanan]; delay_ms(1); PORTD=0x08; PORTC=bil[kananp] ; delay_ms(1); } } } for(kirip=4;kirip>-1;kirip--) { for(kiri=9;kiri>-1;kiri--) { for(tunda=50;tunda>0;tunda--) { PORTD=0x01; PORTC=bil[kiri]; delay_ms(1); PORTD=0x04; PORTC=bil[kirip] ; delay_ms(1); } } } PORTC=0x00; PORTD=0x10; delay_ms(100); } } }
Agar lampu traffic lightnya tetep bisa nyala walaupun kaki PORTC hidup bergantian maka cukup kita tambahkan gerbang OR di kaki traffic light hijau dan merah. Sehingga membentuk rangkaian seperti di bawah ini
dan berikut file proteus isis dan codevision nya, silahkan link file hexnya dibetulkan agar simulasi bisa dijalankan
angel gawe
Sourcecode-e kok ndlujur ngono,,,
he ndlujur ki piye kang? kuwi wingi pake plugin crayon syntax highlighter ning marake abot e akhire tak ganti plugin
kayanu madan wawuh basane…
bahasa C genah