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