Tiap hari saat kita melakukan perjalanan melihat lampu lalulintas atau sering disebut lampu merah baik di simpang empat maupun simpang tiga. Lampu lalulintas ini untuk mengatur kendaraan kapan harus berhenti dan kapan harus jalan.
Sering kita menemukan di beberapa persimpangan belum terpasang lampu lalulintas pasti terjadi kemacetan karena pengemudi kendaraan akan cendeung ingin lebih dahulu jalan sehingga terjadi perebutan jalan yang akhirnya terjadi kemacetan.
Alat elektronik yang terpasang pada lampu lalulintas bisa menggunakan Smart Relay dan atau PLC, tapi pada jejak ini mencoba membuat sistem lalulintas menggunakan Mikrokontroler yang memiliki karakteristik yang sama dengan menggunakan Smart Relay dan PLC.
Perencanaan rangkaian kontrol Traffic Light dengan ketentuan sebagai berikut :
- Jika tombol ditekan maka akan RESET sistem.
- Lampu menyala bebas dari mana saja.
- Jika tombol START ditekan maka lampu akan menyala dengan ktentuan nyala lampu, merah 10 detik, lalu kuning 2 detik, kemudian hijau 5 detik dan seterusnya.
List Program :
#include <mega16.h>
#include <delay.h>
int i=0;
#define START PINB.7
#define JR1 PORTA.0
#define JY1 PORTA.1
#define JG1 PORTA.2
#define JR2 PORTB.0
#define JY2 PORTB.1
#define JG2 PORTB.2
#define JR3 PORTC.0
#define JY3 PORTC.1
#define JG3 PORTC.2
#define JR4 PORTD.0
#define JY4 PORTD.1
#define JG4 PORTD.2
// Declare your global variables here
void main(void)
{
DDRA=0xFF;
PORTA=0x00;
DDRB=0x0F;
PORTB=0x00;
DDRC=0xFF;
PORTC=0x00;
DDRD=0xFF;
PORTD=0x00;
while (1)
{
JR1=1;
JY1=1;
JG1=1;
JR2=1;
JY2=1;
JG2=1;
JR3=1;
JY3=1;
JG3=1;
JR4=1;
JY4=1;
JG4=1;
if (START==0)
{
while (i<1)
{
JR1=0;
JY1=0;
JG1=1;
JR2=1;
JY2=0;
JG2=0;
JR3=1;
JY3=0;
JG3=0;
JR4=1;
JY4=0;
JG4=0;
delay_ms(5000); //LANGKAH 1
JR1=0;
JY1=1;
JG1=0;
JR2=1;
JY2=0;
JG2=0;
JR3=1;
JY3=0;
JG3=0;
JR4=1;
JY4=0;
JG4=0;
delay_ms(2000); //LANGKAH 2
JR1=1;
JY1=0;
JG1=0;
JR2=0;
JY2=0;
JG2=1;
JR3=1;
JY3=0;
JG3=0;
JR4=1;
JY4=0;
JG4=0;
delay_ms(5000); //LANGKAH 3
JR1=1;
JY1=0;
JG1=0;
JR2=0;
JY2=1;
JG2=0;
JR3=1;
JY3=0;
JG3=0;
JR4=1;
JY4=0;
JG4=0;
delay_ms(2000); //LANGKAH 4
JR1=1;
JY1=0;
JG1=0;
JR2=1;
JY2=0;
JG2=0;
JR3=0;
JY3=0;
JG3=1;
JR4=1;
JY4=0;
JG4=0;
delay_ms(5000); //LANGKAH 5
JR1=1;
JY1=0;
JG1=0;
JR2=1;
JY2=0;
JG2=0;
JR3=0;
JY3=1;
JG3=0;
JR4=1;
JY4=0;
JG4=0;
delay_ms(2000); //LANGKAH 6
JR1=1;
JY1=0;
JG1=0;
JR2=1;
JY2=0;
JG2=0;
JR3=1;
JY3=0;
JG3=0;
JR4=0;
JY4=0;
JG4=1;
delay_ms(5000); //LANGKAH 7
JR1=1;
JY1=0;
JG1=0;
JR2=1;
JY2=0;
JG2=0;
JR3=1;
JY3=0;
JG3=0;
JR4=0;
JY4=1;
JG4=0;
delay_ms(2000); //LANGKAH 8
}
}
}
}
Comments
Post a Comment