Assalamualaikum Wr. Wb. Pada kesempatan kali ini saya akan mencoba menjabarkan tutorial membuat simulasi lampu merah pada perempatan jalan. Materi inti pada tutorial kali ini kita akan mencoba mencurahkan pengetahuan kita terhadap lampu merah di perempatan jalan. Kemudian kita implementasikan dalam pembuatan model simulasi menggunakan Arduino. Termasuk, logika bagaimana lampu merah di atur dsb.
pengaturan kondisi lampu, Logikanya sebagai berikut:
Sekian dari saya kurang lebihnya terimakasih.
Alat dan Bahan :
- Arduino
- Protoboard
- 12 LED (4 Merah, 4 Hijau, 4 Kuning)
- Jumper
- 12 Resistor (sekitar 1kOhm)
- Kabel USB
Langkah Pengerjaan :
- Susunlah rangkain seperti berikut :
- Nah, kemudian silahkan buka Arduino IDEnya kemudian salin source code berikut :
/*Code for lampuMerah2 created by : Sufyan97 blog : sufyan97.blogspot.com*/ #define merah1 13 #define kuning1 12 #define hijau1 11 #define merah2 10 #define kuning2 9 #define hijau2 8 #define merah3 7 #define kuning3 6 #define hijau3 5 #define merah4 4 #define kuning4 3 #define hijau4 2 void setup() { // put your setup code here, to run once: pinMode(merah1,OUTPUT); pinMode(kuning1,OUTPUT); pinMode(hijau1,OUTPUT); pinMode(merah2,OUTPUT); pinMode(kuning2,OUTPUT); pinMode(hijau2,OUTPUT); pinMode(merah3,OUTPUT); pinMode(kuning3,OUTPUT); pinMode(hijau3,OUTPUT); pinMode(merah4,OUTPUT); pinMode(kuning4,OUTPUT); pinMode(hijau4,OUTPUT); matiSemua(); } void loop() { // put your main code here, to run repeatedly: // jalur 1 jalan nyalaJalur(hijau1,merah1,kuning1); nyalaJalur(merah2,kuning2,hijau2); nyalaJalur(merah3,kuning3,hijau3); nyalaJalur(merah4,kuning4,hijau4); delay(5000); steady(hijau1,kuning1,merah1); steady(merah2,kuning2,hijau2); delay(1000); //jalur 1 berhenti,jalur 2 jalan nyalaJalur(merah1,kuning1,hijau1); nyalaJalur(hijau2,merah2,kuning2); delay(5000); steady(hijau2,kuning2,merah2); steady(merah3,kuning3,hijau3); delay(1000); //jalur 2 berhenti, jalur 3 jalan nyalaJalur(merah2,kuning2,hijau2); nyalaJalur(hijau3,merah3,kuning3); delay(5000); steady(hijau3,kuning3,merah2); steady(merah4,kuning4,hijau4); delay(1000); //jalur 3 berhenti, jalur 4 jalan nyalaJalur(merah3,kuning3,hijau3); nyalaJalur(hijau4,merah4,kuning4); delay(5000); steady(hijau4,kuning4,merah4); steady(merah1,kuning1,hijau1); delay(1000); } void matiSemua(){ digitalWrite(merah1,LOW); digitalWrite(kuning1,LOW); digitalWrite(hijau1,LOW); digitalWrite(merah2,LOW); digitalWrite(kuning2,LOW); digitalWrite(hijau2,LOW); digitalWrite(merah3,LOW); digitalWrite(kuning3,LOW); digitalWrite(hijau3,LOW); digitalWrite(merah4,LOW); digitalWrite(kuning4,LOW); digitalWrite(hijau4,LOW); } void nyalaJalur(int nyala,int mati1,int mati2){ digitalWrite(nyala,HIGH); digitalWrite(mati1,LOW); digitalWrite(mati2,LOW); Serial.print( } void steady(int nyala1,int nyala2,int mati){ digitalWrite(nyala1,HIGH); digitalWrite(nyala2,HIGH); digitalWrite(mati,LOW); }
- Upload dan Enjoy
Penjelasan Code :
#define merah1 13Mendeklarasikan pin-pin yang digunakan untuk LED
#define kuning1 12
#define hijau1 11
#define merah2 10
#define kuning2 9
#define hijau2 8
#define merah3 7
#define kuning3 6
#define hijau3 5
#define merah4 4
#define kuning4 3
#define hijau4 2
pinMode(merah1,OUTPUT);mendeklarasikan pin-pin tersebut sebagai Output artinya kita memberi nilai ke suatu benda. dan kita mendeklarasikan kondisi awal semua lampu mati
pinMode(kuning1,OUTPUT);
pinMode(hijau1,OUTPUT);
pinMode(merah2,OUTPUT);
pinMode(kuning2,OUTPUT);
pinMode(hijau2,OUTPUT);
pinMode(merah3,OUTPUT);
pinMode(kuning3,OUTPUT);
pinMode(hijau3,OUTPUT);
pinMode(merah4,OUTPUT);
pinMode(kuning4,OUTPUT);
pinMode(hijau4,OUTPUT);
matiSemua();
// jalur 1 jalan
nyalaJalur(hijau1,merah1,kuning1);
nyalaJalur(merah2,kuning2,hijau2);
nyalaJalur(merah3,kuning3,hijau3);
nyalaJalur(merah4,kuning4,hijau4);
delay(5000);
steady(hijau1,kuning1,merah1);
steady(merah2,kuning2,hijau2);
delay(1000);
pengaturan kondisi lampu, Logikanya sebagai berikut:
- suatu jalur jalan selama 5 detik dan 3 jalur lainnya berhenti ditandai lampu hijau dan merah.
- kemudian akan ada waktu peringatan untuk berhenti yaitu lampu sebelumnya dan lampu kuning selama 1 detik.
- jalur n+1 jalan selama 5 detik dan jalur n-1 mati.
void matiSemua(){membuat semua lampu mati.
digitalWrite(merah1,LOW);
digitalWrite(kuning1,LOW);
digitalWrite(hijau1,LOW);
digitalWrite(merah2,LOW);
digitalWrite(kuning2,LOW);
digitalWrite(hijau2,LOW);
digitalWrite(merah3,LOW);
digitalWrite(kuning3,LOW);
digitalWrite(hijau3,LOW);
digitalWrite(merah4,LOW);
digitalWrite(kuning4,LOW);
digitalWrite(hijau4,LOW);
}
void nyalaJalur(int nyala,int mati1,int mati2){membuat 1 lampu nyala dan 2 lagi mati
digitalWrite(nyala,HIGH);
digitalWrite(mati1,LOW);
digitalWrite(mati2,LOW);
Serial.print(
}
void steady(int nyala1,int nyala2,int mati){membuat 2 lampu nyala dan 1 lagi mati.
digitalWrite(nyala1,HIGH);
digitalWrite(nyala2,HIGH);
digitalWrite(mati,LOW);
}
Sekian dari saya kurang lebihnya terimakasih.
Posting Komentar untuk "Arduino 9 : Tutorial Membuat Simulasi Lampu Merah Menggunakan Arduino"
Berilah komentar, saran, dan kritik dengan bijak