Anda di halaman 1dari 19

PRATIKUM MODUL 2

ROBOTIKA

Satria Nur Rasyid Kusuma Putra


17.01.53.2013
SOAL :
1. Buat program untuk menyalakan 8 LED, dengan ketentuan sebagai berikut :
A. Hanya 1 LED ‘ NYALA’ (LAINYA MATI) yang berurutan dari kiri ke kanan
tanpa jeda dan sebaliknya secara terus menerus.
B. Inversi 1 A ‘TANPA JEDA’.
C. Hanya 2 LED ‘MATI’ (LAINYA NYALA’) yagn berurutan dari kiri ke kanan
tanpa jeda dan sebaliknya secara terus menerus.
D. Inversi dari 1c ‘TANDA JEDA’.
E. Buat satu kode program untuk akse 1.a JIKA TOMBOL DITEKAN/ON, dan
sebaliknya, JIKA TOMBOL DILEPAS/OFF, aksi 1,b.
F. Buat satu kode program untuk akse 1.d JIKA TOMBOL DITEKAN/ON,
dan sebaliknya, JIKA TOMBOL DILEPAS/OFF, aksi 1,c.
G. Buat DANCING 8-LED bebas yagn full variant kreatif.
JAWABAN :
1. Membuat kode program sesuai dengan ketentuan yaitu :
a. 8 LED menyala 1 LED berurutan dari kiri ke kanan dan seterusnya
Di kode program tersebut saya mendeklarasikan 8 buah LED sebagai dasar pin yang
akan saya gunakan, lalu untuk menyalakan lampu secara berurutan saya
menggunakan perulangan “FOR” dimana terdapat perbandingan antara variable A dan
B agar dapat diberikan pengkondisian dimana ketika perulangan B tidak sama dengan
hasil perulangan A maka LED akan menyala dan sebaliknya. Lalu untuk mengatur arah
menyala LED itu sendiri saya mengaturnya dengan memberikan angka pertama pada
LED paling kiri (angka paling besar) dan akan terus berkurang satu nilainya hingga
mencapai yang terkecil maka arahnya pun akan ke kanan
Untuk perulangan setelah LED menyala di bagian paling kanan saya menggunakan
syntax yang hampir sama, bedanya untuk awalnya saya isikan angka awal LED yang
paling kanan (angka yang terkecil) dan jumlahnya akan ditambah satu nilainya hingga
ke angka yang tersebesar maka arahnya akan ke kiri. Variablenya sendiri harus
berbeda dengan yang arah ke kanan karena program hanya bisa memasukan satu nilai
ke variable tersebut jika variable sama maka data akan tertumpuk, oleh karena itu saya
menggunakan variable C dan D. Dimasukkan kedalam void loop maka program akan
dibaca perulangan sampai di hentikan secara manual. Untuk penjelasan logika
pembacaan perulangan FOR akan saya jelaskan di video.

b. Inversi dari versi a (8 LED menyala semua tetapi mati 1 berurutan)


Program diatas hampir sama dengan program 1.A dimana hanya 1 LED saja yang
bergerak dan berbeda dari 7 LED lainnya, maka dari itu yang saya rubah hanya kondisi
dimana jika di program 1.A posisi LED LOW maka di program 1.B posisi LED HIGH dan
sebaliknya. Untuk perulangan sendiri tidak ada yang berubah. Maka cara membacanya
menjadi ketika nilai B tidak sama dengan nilai A maka LED posisi LOW sedangkan
lainnya akan berada pada posisi HIGH. Untuk penjelasan lebih lanjut akan saya
jelaskan pada video.
c. 8 LED dimana
hanya 2 LED mati
yang bergerak
sedangkan 6 LED
lainnya posisi
menyala.
Pada program 1.C memodifikasi program dari 1.B dimana yang bergerak adalah LED
yang mati sedangkan lainya menyala, yang menantang disini adalah bagaimana kita
bisa memasukan LED yang ikut mati disebelah LED yang mati pada program 1.B.
Untuk kit akita membutuhkan pengkondisian tambahan dimana untuk yang LED
pertama nilai B tidak sama dengan A lalu dilanjut dengan jika nilai B kurang dari nilai A
maka LED di angka tersebut ikut mati, sehingga menghasilnya 2 LED bersebelahan
akan mati dan yang lainya hidup.
Sedangkan untuk arahnya sendiri masih sama menggunakan teori pada program 1.A
dan 1.B jika ke kanan maka nilai dari variable A dan B dikurangi satu per satu dan
pengkondisian B lebih kecil dari A. Sedangkan untuk arah ke kiri nilai A dan B ditambah
satu per satu dan untuk tambahan LED menggunakan pengkondisian B lebih besar dari
A, tetapi karena variable tidak boleh sama maka saya ganti dengan variable C dan D.

d. Inversi dari versi c (8 LED dengan ketentuan 2 LED menyala bergerak


dan lainya mati)
Untuk program versi D karena
inversi dari versi C maka logikanya hampir sama dengan versi B dimana hanya inversi
dari versi A. Maka yang saya lakukan sama seperti versi B yaitu mengganti syntax dari
LOW ke HIGH dan sebaliknya. Maka akan menghasilkan 2 LED yang menyala
bergerak dan 6 LED lainya dalam posisi mati.
e. Program dengan tombol dimana jika HIGH menjalankan program A dan
jika LOW menjalankan program B
Untuk program E yang berebeda adalah penggabungan antara program A dan program
B dimana pemicu program yang dijalankan apakah A atau B adalah sebuah tombol
dimana ketentuannya jika HIGH maka program A dijalankan dan jika LOW program B
dijalankan. Maka yang harus dilakukan adalah menginialisasi dulu tombol tersebut
berada di pin nomer berapa lalu nilai awal tombol tersebut, tidak lupa men setup
variable tombol tersebut ke mode input.
Setelah kita buat fungsi jika tombol tersebut dalam keadaan HIGH kita masukan syntax
dari program A dan jika tombol tersebut dalam keadaan LOW maka kita masukan
syntax dari program B. Program akan membaca inputan dari tombol dan akan
mengeksekusi sesuai dengan program yang sudah kita buat. Untuk pergantian dari
HIGH dan LOW akan ada waktu tunggu dimana jika posisi awal pada HIGH
( menjalankan program A) dan ditengah proses mengganti tombol pada posisi LOW
(menajalankan program B) maka sebelum program mengganti program. Program akan
menunggu sampai perulangan program A selesai terlebih dahulu dan begitu juga
sebaliknya dari B ke A.
f. Program dengan tombol dimana jika HIGH menjalankan program D dan
jika LOW menjalankan program C
Untuk program F sama dengan program E yaitu menggabungkan program D dan C
dengan tombol dimana ketentuannya jika tombol posisi HIGH akan menjalakan program
D dan jika tombol posisi LOW akan menjalankan program C.
g. Membuat program dancing LED dengan menggunakan 8 LED sesuai
dengan kreasi masing- masing.
Untuk program dancing 8 Led yang saya buat konsepnya 8 LED tersebut di bagi
menjadi 2 segment dimana 1 segement di isi dengan 4 LED. Untuk segment 1 berada
di sebelah kiri dan segment 2 berada di sebelah kanan. Pada segement 2 LED akan
menyala bergantian setelah satu putaran maka LED pada segment 1 akan bergeser.
Untuk hasil dan penjelasan lebih lanjut akan saya tampilkan pada video.

Anda mungkin juga menyukai