Senin, 21 April 2025

MEMBUAT PROGRAM ARDUINO PADA LAMPU LALU LINTAS SIMPANG DUA (2)

A. PENDAHULAUN 
Lampu lalu lintas merupakan sistem yang mengatur lalu lintas kendaraan dan pejalan kaki di persimpangan jalan. Dalam proyek ini, kita akan menggunakan Arduino untuk mengontrol lampu merah, kuning, dan hijau secara otomatis. Pada Project ini, program traffic light yang didesain untuk dua persimpangan jalan menggunakan Arduino UNO yang disimulasikan di situs web WOKWI - Arduino. Dengan simulasi ini, dapat menguji kontroller damn program logika pengaturan lalu lintas tanpa memerlukan perangkat keras secara langsung.



B.     ALAT DAN BAHAN

1)     Laptop / Komputer

2)     WOKWI ARDUINO dan ESP Simulator

Link : https://wokwi.com/

3)     Arduino IDE.

4)     Komponen elektronika :

-        Arduino Uno

-        LED Merah (3), Kuning (3), Hijau (3)

-        Resistor 220 Ohm (12)



C.     RANGKAIAN SKEMATICH

Rangkaian Sketmatich kontrol Lampu lalu lintas pada jalan Simpang 2. 

D.     KONFIGURASI PIN


E.     ALGORITMA PROGRAM

Program nyala lampu lalulintas diterapkan pada jalan simpang 2, dengan perancangan setiap jalur jalan ada lampu lalulintas, sehinga jumlah lampu yang dibutuhkan sebanyak 3 buah lampu lalu lintas yaitu untuk jalan 1, jalan 2 dan jalan 3,   saat berjalan tidak ada jalur yang bersamaan.

Pada tabel algoritma berikut menjelaskan kondisi jalur jalan yang menyala, Kondisi Logika (1) menandakan lampu dalam keadaan Menyala, dan Kondisi logika (0) LOW menandakan lampu dalam keadaan Padam. Untuk lebih detail dapat dilihat di tabel berikut :

C.     CODE SKETCH PROGRAM







Program Kontrol Traffic Light

Program Kontrol Traffic Light Simpang 2


// Program Kontrol Trafic Light Simpang 2 
// By   : Iyon Manakarra
//=================================================
int H1=13; int K1=12; int M1=11; // Jalan 1
int H2=10; int K2=9;  int M2=8;  // Jalan 2 
int H3=7;  int K3=6;  int M3=5;  // Jalan 3

void setup() {
  pinMode(H1, OUTPUT); pinMode(K1, OUTPUT); pinMode(M1, OUTPUT); 
  pinMode(H2, OUTPUT); pinMode(K2, OUTPUT); pinMode(M2, OUTPUT); 
  pinMode(H3, OUTPUT); pinMode(K3, OUTPUT); pinMode(M3, OUTPUT); 
}

void loop() {
  //===================JALAN 1=================================//  
  digitalWrite(H1, HIGH); digitalWrite(K1, LOW); digitalWrite(M1, LOW);   
  digitalWrite(H2, HIGH); digitalWrite(K2, LOW); digitalWrite(M2, LOW);  
  digitalWrite(H3, HIGH); digitalWrite(K3, LOW); digitalWrite(M3, LOW); 
  delay(2000);

  digitalWrite(H1, HIGH); digitalWrite(K1, HIGH); digitalWrite(M1, LOW);  
  delay(3000);

  digitalWrite(H1, LOW); digitalWrite(K1, LOW); digitalWrite(M1, HIGH);  
  delay(10000);

  digitalWrite(H1, LOW); digitalWrite(K1, HIGH); digitalWrite(M1, LOW);    
  delay(3000);

  //===================JALAN 2=================================//  
  digitalWrite(H1, HIGH); digitalWrite(K1, LOW); digitalWrite(M1, LOW);
  digitalWrite(H2, HIGH); digitalWrite(K2, LOW); digitalWrite(M2, LOW);      
  digitalWrite(H3, HIGH); digitalWrite(K3, LOW); digitalWrite(M3, LOW);    
  delay(2000);

  digitalWrite(H2, HIGH); digitalWrite(K2, HIGH); digitalWrite(M2, LOW);  
  delay(3000);

  digitalWrite(H2, LOW); digitalWrite(K2, LOW); digitalWrite(M2, HIGH);   
  delay(10000);

  digitalWrite(H2, LOW); digitalWrite(K2, HIGH); digitalWrite(M2, LOW);  
  delay(3000);

  //===================JALAN 3=================================//  
  digitalWrite(H1, HIGH); digitalWrite(K1, LOW); digitalWrite(M1, LOW);
  digitalWrite(H2, HIGH); digitalWrite(K2, LOW); digitalWrite(M2, LOW);      
  digitalWrite(H3, HIGH); digitalWrite(K3, LOW); digitalWrite(M3, LOW);    
  delay(2000);

  digitalWrite(H3, HIGH); digitalWrite(K3, HIGH); digitalWrite(M3, LOW);  
  delay(2000);

  digitalWrite(H3, LOW); digitalWrite(K3, LOW); digitalWrite(M3, HIGH);  
  delay(10000);

  digitalWrite(H3, LOW); digitalWrite(K3, HIGH); digitalWrite(M3, LOW);  
  delay(3000);
}