Lampu lalu lintas saat ini masih menggunakan sistem count down dalam penerapannya, namun adapula lampu lalu lintas yang sudah menggunakan sistem sensor yang akan mendahulukan lajur kendaraan yang padat. Kali ini kita akan mencoba membuat lampu lalu lintas dengan menerapkan sensor sehingga dapat mendahulukan lajur yang padat terlebih dahulu.
1. Alat / Bahan
- Arduino IDE Download
- Arduino Uno 1 Buah
- Sensor IR Obstacle 2 Buah
- LED merah 2 Buah
- LED kuning 2 Buah
- LED hijau 2 Buah
- Resistor 220 ohm 6 buah
- Project Board 1 Buah
- Terakhir Kabel Jumper Secukupnya
Kemudian untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian
Gambar Rangkaian Lampu Lalu Lintas Cerdas
Keterangan:
- 5V – VCC IR1, VCC IR2
- GND – GND IR1, GND IR2, Katoda LED M1, Katoda LED M2, Katoda LED K1, Katoda LED K2, Katoda LED H1, Katoda LED H2
- D2 – resistor – anoda LED M1
- D3 – resistor – anoda LED K1
- D4 – resistor – anoda LED H1
- D5 – resisror – anoda LED M2
- D6 – resistor – anoda LED K2
- D7 – resistor – anoda LED H2
- D8 – Pin Data IR1
- D9 – Pin Data IR2
3. Langkah Kerja
- Siapkan alat dan juga bahan yang akan digunakan
- Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- kemudian Ketikkan sketch program pada halaman Arduino IDE
- Lakukan proses uploading program
4. Sketch Program
Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan juga dapatkan konsultasi dari kami!
/* Program Lampu Lalu Lintas Cerdas dibuat oleh Indobot */ #define ledM1 2 //LED Merah 1 pada pin D2 #define ledK1 3 #define ledH1 4 #define ledM2 5 #define ledK2 6 #define ledH2 7 #define S1 8 //Sensor 1 pada pin D8 #define S2 9 void setup() { pinMode(ledM1, OUTPUT); //Setting I/O pinMode(ledK1, OUTPUT); pinMode(ledH1, OUTPUT); pinMode(ledM2, OUTPUT); pinMode(ledK2, OUTPUT); pinMode(ledH2, OUTPUT); pinMode(S1, INPUT); pinMode(S2, INPUT); digitalWrite(ledH1, HIGH); //Kondisi awal lajur 1 hijau digitalWrite(ledM2, HIGH); } void loop() { set1: if(digitalRead(S2) == LOW){ //Berpindah ke lajur 2 bila lajur 2 ada kendaraan delay(3000); //Jeda perpindahan digitalWrite(ledH1,LOW); digitalWrite(ledK1,HIGH); delay(1000); digitalWrite(ledK1,LOW); digitalWrite(ledM1,HIGH); delay(1000); digitalWrite(ledM2,LOW); digitalWrite(ledH2,HIGH); goto set2; } else{ delay(3000); //Jeda pengulangan goto set1; //Ulang jika tidak mendeteksi kendaraan pada lajur 2 } set2: if(digitalRead(S1) == LOW){ //Berpindah ke lajur 1 bila lajur 1 ada kendaraan delay(3000); //Jeda perpindahan digitalWrite(ledH2,LOW); digitalWrite(ledK2,HIGH); delay(1000); digitalWrite(ledK2,LOW); digitalWrite(ledM2,HIGH); delay(1000); digitalWrite(ledM1,LOW); digitalWrite(ledH1,HIGH); goto set1; } else{ delay(3000); //Jeda pengulangan goto set2; //Ulang jika tidak mendeteksi kendaraan pada lajur 1 } }
Kesimpulan:
Hasil proyek ini adalah ketika sensor mendeteksi adanya kendaraan disisi 1 maka sisi 1 akan menyala hijau. Jika sisi 1 tidak terdapat kendaraan maka sisi 1 akan menyala merah sampai ada kendaraan yang menunggu.
Bikin project tanpa ribet beli komponen sana-sini? Starter Kit Arduino/IoT bisa jadi solusi mu!