Membuat Lampu Lalulintas Interaktif XI

Assalamualaikum.

Hallo. 

Pada pertemuan kali ini, kita akan belajar membuat lampu lalu lintas sederhana yang interaktif. Pada pembelajaran ini kita akan menggunakan komponen input berupa push button untuk mengontrol simulasi lampu lalu lintas. Tombol push button ini akan berfungsi sebagai tombol pejalan kaki, tetapi tanpa push button pun simulasi lampu lalu lintas ini bisa berjalan.

Push Button ini mempunyai empat buah kaki. Namun sebenarnya hanya dua kaki yang akan terhubung ketika kamu menekan tombol push button, tapi terdapat kaki tambahan sebagai pencabangan.


Kebutuhan Komponen

  • Arduino Uno : 1 pcs
  • Breadboard : 1 pcs
  • Push Button : 1 pcs
  • LED : 5 pcs
  • Resistor 330Ω : 5 pcs
  • Resistor 10KΩ : 1 pcs
  • Kabel Jumper secukupnya

Skema Rangkaian














Rangkaian









Source Code

/* Lampu Lalu Lintas Interaktif Membuat simulasi lampu lalu lintas untuk mobil dan penyebrang pejalan kaki. */ int carRed = 7; //lampu untuk mobil int carYellow = 6; int carGreen = 5; int button = 4; //pin push button int pedRed = 3; //lampu untuk pejalan kaki int pedGreen = 2; int crossTime =5000; //waktu untuk pejalan kaki menyeberang unsigned long changeTime; //waktu sejak push button ditekan void setup() { pinMode(carRed, OUTPUT); pinMode(carYellow, OUTPUT); pinMode(carGreen, OUTPUT); pinMode(pedRed, OUTPUT); pinMode(pedGreen, OUTPUT); pinMode(button, INPUT); digitalWrite(carGreen, HIGH); //nyalakan LED hijau untuk mobil digitalWrite(pedRed, HIGH); } void loop() { int state = digitalRead(button); //memeriksa apakah push button ditekan dan lebih dari 5 detik sejak push button terakhir ditekan if(state == HIGH && (millis() - changeTime)> 5000){ //memanggil fungsi untuk mengubah nyala LED changeLights(); } } void changeLights() { digitalWrite(carGreen, LOW); //LED hijau untuk mobil mati digitalWrite(carYellow, HIGH); //LED kuning untuk mobil nyala delay(2000); //jeda selama 2 detik digitalWrite(carYellow, LOW); //LED kuning untuk mobil mati digitalWrite(carRed, HIGH); //LED merah untuk mobil nyala delay(1000); //tunggu 1 detik sampai aman digitalWrite(pedRed, LOW); //LED merah untuk pejalan kaki mati digitalWrite(pedGreen, HIGH); //LED hijau untuk pejalan kaki nyala delay(crossTime); //tunggu untuk waktu yang telah ditentukan //mengedipkan LED hijau untuk pejalan kaki for (int x=0; x<10 cargreen="" carred="" caryellow="" catat="" changetime="millis();" class="language-java" code="" delay="" digitalwrite="" high="" hijau="" kaki="" ke="" kembali="" kemudian="" kuning="" lampu="" loop="" low="" mati="" merah="" mobil="" nyala="" pedgreen="" pedred="" pejalan="" pergantian="" program="" sejak="" terakhir="" untuk="" utama="" waktu="" x="">



Kesimpulan

INPUT_PULLUP: Semua pin pada Arduino bisa berfungsi sebagai input bisa juga sebagai output. Sebelumnya harus dinyatakan terlebih dahulu pin mana yang akan diset sebagai input dengan menggunakan fungsi pinMode(). Pada fungsi pinMode() menggunakan parameter INPUT_PULLUP bertujuan untuk mengaktifkan internal pull-up resistor di dalam IC mikrokontroller secara kode. Dengan begitu pada perakitan hardwarenya tidak memerlukan resistor yang terhubung ke tegangan positif untuk tetap menjaga pin dalam kondisi HIGH ketika kita tidak menekan push button, karena resistor internal pull-up di IC mikrokontroller sudah aktif.

Ketika pertama kali dinyalakan LED untuk pejalan kaki yang menyala warna merah dan LED untuk mobil yang menyala warna hijau, artinya mobil yang melintas boleh terus melaju, ketika pejalan kaki hendak menyebrang menekan push button akan merubah LED untuk mobil menjadi yang nyala kuning kemudian merah, sebaliknya dengan pejalan kaki LED hijau yang nyala artinya mobil harus berhenti dan pejalan kaki boleh menyebrang sampai selesai, hingga beberapa saat nyala LED akan kembali pada kondisi awal.


source : Projek

Komentar

Postingan populer dari blog ini

KELS XII TUGAS 1 BAB 1 PROGRAM KOMPUTER (Makalah)

Tugas Kelas X Pembuatan Daftar Isi dan Video dari PPT

TUGAS 1 Kelas X JARINGAN KOMPUTER & INTERNET (Ringkasan)