Arduino 9 : Tutorial Membuat Simulasi Lampu Merah Menggunakan Arduino

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.

Alat dan Bahan :

  1. Arduino
  2. Protoboard
  3. 12 LED (4 Merah, 4 Hijau, 4 Kuning)
  4. Jumper
  5. 12 Resistor (sekitar 1kOhm)
  6. Kabel USB

Langkah Pengerjaan : 

  1. Susunlah rangkain seperti berikut :
  2. 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);
    }
    
    
  3. Upload dan Enjoy

Penjelasan Code :

#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
Mendeklarasikan pin-pin yang digunakan untuk LED

  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();
mendeklarasikan pin-pin tersebut sebagai Output artinya kita memberi nilai ke suatu benda. dan kita mendeklarasikan kondisi awal semua lampu mati

// 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(){
  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);
}
membuat semua lampu mati.

void nyalaJalur(int nyala,int mati1,int mati2){
  digitalWrite(nyala,HIGH);
  digitalWrite(mati1,LOW);
  digitalWrite(mati2,LOW);
  Serial.print(
}
membuat 1 lampu nyala dan 2 lagi mati

void steady(int nyala1,int nyala2,int mati){
  digitalWrite(nyala1,HIGH);
  digitalWrite(nyala2,HIGH);
  digitalWrite(mati,LOW);
}
membuat 2 lampu nyala dan 1 lagi mati.

Sekian dari saya kurang lebihnya terimakasih.

Posting Komentar untuk "Arduino 9 : Tutorial Membuat Simulasi Lampu Merah Menggunakan Arduino"