SIMULASI
LAMPU LALU LINTAS
Pengertian
Lampu lalu lintas adalah lampu yang mengendalikan arus lalu lintas yang terpasang di persimpangan jalan,tempat penyebrangan jalan pejalan kaki (zebra cross),dan tempat arus lalu lintas lainnya. lampu ini yang menandakan kapan keadaan harus berjalan atau harus berhenti secara bergantian dari berbagai arah.
Disini saya membuat lampu lalu
lintas dengan mengunakan program arduino uno dengan simulasi menggunakan
proteus.
Cara kerja:
Cara kerja lampu lalu lintas ini
adalah semisal lampu lalu lintas pada posisi (1)=lampu merah nyala (waktu agak
lama),kemudian delay akan berfungsi sesuai waktu yang telah di tentukan untuk
mnyalakan lampu berikutnya (2)=lampu kuning menyala tetap lampu warna merah
akan ditahan sesaat,kmudian setelah lampu warna kuning mnyala delay akan
berfungsi sesuai waktu yang telah ditentukan untuk menyalakan lampu warna hijau
(4) waktu agak lama.
Alat yang diperlukan:
1.Lampu LED merah 5mm X 1 pcs
2.Lampu LED kuning 5mm X 1 pcs
3.lampu LED hijau 5mm X 1 pcs
4.Resistor 330 ohm X 3 pcs
5.Breadboard
6.Kabel jumper
7.Arduino UNO
KONEKSI RANGKAIAN:
KONEKSI RANGKAIAN DENGAN PROTEUS:
PENULISAN PROGRAM:
int MERAH =7; //
int KUNING=6;
int HIJAU=5;
int x=0;
void setup()
{
pinMode(MERAH, OUTPUT);
pinMode(KUNING, OUTPUT);
pinMode(HIJAU, OUTPUT);
}
void loop()
{
digitalWrite(MERAH,HIGH);
delay(3000);
for(int x=0; x<3 ; x++)
{
digitalWrite(KUNING, HIGH);
delay(200);
digitalWrite(KUNING, LOW);
delay(200);
}
digitalWrite(MERAH,LOW);
digitalWrite(HIJAU,HIGH);
delay(3000);
digitalWrite(HIJAU,LOW);
for(int y=0; y<3 ; y++)
{
digitalWrite(KUNING, HIGH);
delay(200);
digitalWrite(KUNING, LOW);
delay(200);
}
}
ANALISA PROGRAM
int MERAH =7; // variable merah
bertipe data interger bernilai 7
int KUNING=6; // variable kuning
bertipe data integer bernilai 6
int HIJAU=5; // variable kuning
bertipe data integer bernilai 5
int x=0;variable x bertipe data
integer bernilai 0
void setup() // void untuk seting
hardware
{
pinMode(MERAH, OUTPUT); // menyeting pin
merah (7), sebagai output
pinMode(KUNING, OUTPUT); // menyeting pin
kuning (6), sebagai inputan
pinMode(HIJAU, OUTPUT); // menyeting pin
hijau (5), sebagai inputan
}
void loop() // void untuk program
berulang menjalankan eksekusi program
{
digitalWrite(MERAH,HIGH); //membaca data
digital (pin 7, bernilai high)
delay(3000); // menunda waktu selama 3000
mili secon
for(int x=0; x<3 ; x++) // perulangan
variable x dari nilai 0, sampai memenuhi nilai kurang dari 3 , nilai bertambah +1
saat berulang
{
digitalWrite(KUNING, HIGH); // membaca
data digital (pin 6, bernilai high)
delay(200); // menunda waktu selama 200
mimi secon
digitalWrite(KUNING, LOW); // membaca
data digital (pin 6, bernilai low)
delay(200); // menunda waktu selama 200
mili secon
}
digitalWrite(MERAH,LOW); // membaca data
digital (pin 7,benilai low)
digitalWrite(HIJAU,HIGH); // membaca data
digital (pin 5,bernilai high
delay(3000); // menunda waktu selama 3000
mimi secon
digitalWrite(HIJAU,LOW); // membaca data
digital (pin 5, bernilai low
for(int y=0; y<3 ; y++) // perulangan
variable y dari nilai 0, sampai memenuhi nilai kurang dari 3 , nilai bertambah +1
saat berulang
{
digitalWrite(KUNING, HIGH); // membaca
data digital (pin 6, bernilai high)
delay(200); // menunda waktu selama 200 mimi secon
digitalWrite(KUNING, LOW); // membaca
data digital (pin 6, bernilai low)
delay(200); // menunda waktu selama 200 mimi secon
}
}
SIMULASI DENGAN PROTEUS: