Lampu Lalu Lintas Interaktif
Pada latihan ini kamu akan membuat proyek pertama Arduino yang interaktif karena menggunakan komponen inputan berupa push button untuk mengontrol simulasi lampu lalu lintas.Push Button: yang digunakan pada kit ini mempunyai empat buah kaki yang sebenarnya hanya dua kaki yang akan terhubung ketika kamu menekan tombol push button, tapi terdapat kaki tambahan sebagai pencabangan.
Kebutuhan Komponen:
— 1 x Arduino UNO— 1 x Breadboard
— 1 x Push Button
— 5 x LED
— 5 x Resistor 330Ω
— 1 x Resistor 10KΩ
— 9 x Kabel Jumper
Perakitan:
Rangkaian:
Upload sketch:
Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.
Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/* 03 - 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="">10>INPUT_PULLUP: Semua pin pada Arduino dapat difungsikan sebagai input sebagaimana bisa difungsikan 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 dihubungkan ke tegangan positif untuk tetap menjaga pin dalam kondisi HIGH ketika push button tidak ditekan.
0 comments:
Posting Komentar