Me 18211042

ng-ARDUINO yang asik di kuliah IMKA

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