Cara Kerja rangkaian, jika tombol-A ditekan lebih dulu maka lampu regu A akan menyala, dan selama regu A masih menekan tombolnya, maka meskipun regu B dan C menekan tombol Lampu pada regu B dan C tidak akan menyala, demikian juga jika Regu B lebih dulu menekan tombol, dan juga Regu C. Jadi siapa yang lebih dulu menekan tombol, maka lampunya yang akan menyala.
Lampu akan mati jika Juri menekan tombol reset.
Berikut Program bahasa C, dengan menggunakan software Codevision
#include (mega16 .h) //tanda kurung ini anda ganti dengan tanda lebih kecil dan lebih besar
#define regu_a PIND.5
#define regu_b PIND.6
#define regu_c PIND.7
#define lampu_a PORTB.0
#define lampu_b PORTB.1
#define lampu_c PORTB.2
void main(void)
{
DDRB=0xFF; //port B berfungsi sebagai output
DDRD=0x00; //port D berfungsi sebagai input
while(1){
while(regu_a==1){
lampu_a=1;
lampu_b=0;
lampu_c=0;
}
while(regu_b==1){
lampu_a=0;
lampu_b=1;
lampu_c=0;
}
while(regu_c==1){
lampu_a=0;
lampu_b=0;
lampu_c=1;
}} }
screen shoot program code vision :
Gambar rangkaian diatas adalah rangkaian dengan simulasi Proteous, untuk rangkaian sebenarnya membutuhkan sismin atmega-16, dan untuk lampu bisa tambahkan dengan transistor untuk menggerakkan Relay & Bel.
kalau boleh tahu skema rangkaian diatas kalau ditambah relay dan bel kira kira bagaimana rangkaiannya
BalasHapus