Yap, welcome back.
Pada tugas kedua ARDUINO ini, kami diminta untuk
mengimplementasikan 2 kode program. Kedua kode ini diambil dari buku Getting Started with ARDUINO. Jadi,
setelah kami mengimplementasikan kedua kode program tersebut kami harus
menganalisis, apa sebenarnya yang terjadi di dalam kode program tersebut. Oke,
here we go!
Kode Program 1 – Fade an LED in and out like on a sleeping Apple computer
Dilihat dari judulnya sudah terlihat menarik yaitu kode program ini akan memperagakan efek fade in & fade out selayaknya sleeping Apple computer. Sebelum analisis kode programnya berikut ini adalah rangkaian dan hasil videonya :![]() |
Rangkaian untuk Kode Program 1 |
Kode Program 2 – Fade an LED in and out (Special Edition)
Kode kedua ini adalah versi spesial dari kode program yang
pertama. Kenapa spesial? Sebenarnya tidak spesial banget, hanya ditambah 1 push button. Jadi, lampu LED akan
menyala jika tombol ditekan dan akan tetap menyala setelah tombol dilepaskan.
Namun, jika tombol tetap ditekan maka lampu LED akan mengalami efek fade in & fade out. Menarik? Berikut ini adalah rangkaian dan hasil videonya
:
![]() |
Rangkaian untuk Kode Program 2 |
Analisis Kode Program
Berikut ini adalah analisis
dari kode program 1 :
Kode Program 1 |
Bagian
|
Penjelasan
|
Inisiasi Variabel
|
LED :
untuk menyimpan nomor port untuk lampu LED
i : untuk
dijadikan sebagai iterator di bagian looping
|
Inisasi Program
|
Menjadikan lampu LED sebagai output
|
Looping #1
|
Dalam looping
ini, lampu LED akan berubah nilai brightness-nya
dari mati sampai menyala. Nilai brightness-nya
disimpan di iterator i yang bertambah dari 0 sampai 255. Kemudian nilai ini
diimplementasikan ke lampu LED dengan delay 10 milisecond. Implementasinya
menggunakan analogWrite agar
perubahannya lebih halus, tidak putus-putus.
|
Looping #2
|
Dalam looping
ini, lampu LED akan berubah nilai brightness-nya
dari menyala sampai mati. Berlawanan dari Looping #1. Sehingga nantinya lampu
LED akan fade in dan fade out bergantian.
|
Berikut ini adalah analisis dari kode program 2 :
Kode Program 2 |
Bagian
|
Penjelasan
|
Inisiasi Variabel
|
LED
: untuk menyimpan nomor port lampu LED
BUTTON
: untuk menyimpan nomor port push
button
val
: untuk menyimpan keadaan/state
input
old_val
: untuk menyimpan keadaan/state
sebelumnya dari variabel val
state
: untuk menyimpan keadaan/state
lampu LED
brightness
: untuk menyimpan nilai brightness
lampu LED
startTime
: untuk menyimpan waktu saat menekan tombol pertama kali
|
Inisiasi Program
|
Pada bagian ini didefinisikan lampu LED sebagai output
dan push button sebagai input
|
Kondisional #1
|
Pada bagian ini dibaca state dari tombol.
Kondisional ini mensyaratkan :
- Tombol sedang ditekan
- Sebelumnya tombol tidak ditekan, jadi ini
merupakan keadaan ketika tombol pertama kali ditekan
Jika syarat terpenuhi :
- Keadaan lampu LED di-toggle (jika menyala dimatikan, jika mati dinyalakan)
- Mulai menghitung jeda waktu mulai dari tombol
ditekan
- Delay 10 milisecond
|
Kondisional #2
|
Kondisional ini mensyaratkan :
- Tombol sedang ditekan
- Sebelumnya tombol sedang ditekan, jadi ini
merupakan keadaan ketika tombol tetap ditekan
- Jeda waktu mulai dari tombol ditekan lebih
dari 500 milisecond
Jika syarat terpenuhi :
- Nilai brightness
bertambah
- Delay 10 milisecond
- Jika sudah menyala terang, maka lampu LED mati
|
Kondisional #3
|
Nilai old_val
diisi dengan keadaan tombol saat itu, sehingga akan tercatat keadaan tombol
sebelumnya yang akan dibawa ke loop
selanjutnya
Jika keadaan lampu menyala, maka diatur nilai brightness lampu LED, jika tidak maka
lampu LED akan dimatikan
|
Terima Kasih :)
Semoga membantu
Muhammad Fatoni / 18211042 / STI 2011
0 comments :
Post a Comment