Disusun oleh
Nama : Leriana Thufailah Hidayat Putri
NIM : 16/396791/SV/10975
A. Dasar Teori
Arduino Mega 2560 merupakan microcontroller board dengan basis ATmega2560
(datasheet). Arduino memiliki 54 digital input/outpun pins (dengan 14 yang bisa digunakan
untuk PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), dengan 16 MHz
crystal oscillator, koneksi US,power jack.sebuah ICSP header,dan tombol reset.Arduino
memiliki apapun yang dibutuhkan untuk support microcontroller. Sangat mudah untuk
menghubungkan Arduino ke computer menggunakan kabel USB atau power dengan AC to
DC adapter atau baterai siap pakai. Arduino mega kompatibel dengan pelindung yang di
desain untuk Arduino duemilanove atau diecimila.
Masing-masing dari 54 pin digital pada Mega dapat digunakan sebagai input atau
output, menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (). Mereka
beroperasi pada 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA
dan memiliki resistor pull-up internal (terputus secara default) 20-50 kOhms. Selain itu,
beberapa pin memiliki fungsi khusus:
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX)
and 16 (TX); Serial 3: 15 (RX) and 14 (TX). Digunakan untuk menerima (RX)
dan mengirimkan (TX) data serial TTL. Pin 0 dan 1 juga terhubung ke pin yang
sesuai pada chip Serial ATmega8U2 USB-to-TTL.
External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19
(interrupt 4), 20 (interrupt 3), and 21 (interrupt 2). Pin ini dapat dikonfigurasi
untuk memicu interupsi pada nilai rendah, tepi naik atau turun, atau perubahan nilai.
Lihat fungsi attachInterrupt () untuk detailnya.
PWM: 0 to 13. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().
LED: 13. Ada built-in LED yang terhubung ke pin digital 13. Ketika pin bernilai
HIGH, LED menyala, ketika pin RENDAH, mati.
Latihan
1. Membuat LED blink berjalan
Pada program di atas terdapat sebuah variabel array yaitu variable LED[], yang
memiliki nilai dari delapan nomor pin LED Low Active yang ada di papan Arduino Mega.
Selain variabel, juga terdapat 2 fungsi sketch yaitu loop() dan setup(), serta fungsi LEDoff()
yang digunakan untuk membuat semua lampu LED padam yaitu dengan memasukan sinyal
HIGH ke setiap pin melalui fungsi digitalWrite().
Pada fungsi setup(), terdapat inisialisasi semua pin LED yang dilakukan dengan
perulangan for. Di dalam perulangan tersebut terdapat fungsi pinMode() yang digunakan
untuk mengatur nomor pin yang digunakan, dan nomor pin yang dipilih akan dibuat
menjadi mode Input ataukah Output.
Untuk membuat lampu LED menyala bergantian, dilakukan pada sketch loop()
yang di dalamnya terdapat perulangan untuk membuat LED blinked (berkedip), yaitu
dengan menyalakan lampu selama beberapa saat lalu memadamkan lampu tersebut. Hal ini
dilakukan dengan memberikan sinyal LOW ke pin melalui digitalWrite(), lalu memanggil
fungsi LEDoff() untuk memadamkan lampu LED.
Excercies 1
a. Make the program that LED blinked sequential
Analisa :
Task 1 ini kita diminta untuk menyalakan LED secara sekuensial yaitu berurutan
dari kiri ke kanan. Terdapat 8 pin yang digunakan pada percobaan ini, yaitu ( 31, 33, 35,
37, 39, 41, 43, 45 ) yang mana pin tersebut terhubung dengan LED. Kemudian program
diset menjadi proses looping dari kanan ke kiri yang mana ketika pada fungsi digital write,
kita beri masukan LOW pada LED nya karena pada port board Arduino sudah bernilai
HIGH, sehingga akan ada arus listrik yang mengalir. Lalu pada badan LEDoff berfungsi
untuk mematikan lampu LED, pada fungsi digitalWrite, kita beri masukan HIGH pada
LED guna memutus aliran listrik. Pada iterasi, baik di badan loop, setup, dan LEDoff kita
menggunakan fungsi for dengan nilai awal I sebesar 0.
b. Make the program that LED turn light from right to the left
Analisa :
Pada program diatas diminta untuk membuat Arduino dengan menyalakan LED
dari kanan ke kiri dengan mengubah source code pada contoh program 1 yaitu mengubah
urutan pin code yang akan menyala dari 45, 43, 41, 39, 37, 35, 33, 31. Sehingga ketika
proses compile dan ipload program maka Arduino akan menyalakan LED dari kanan ke
kiri.
c. Make the program like task 2 but will turn off from left and repeatly
Analisa :
Program pada nomor 3 ini memiliki struktur yang mirip dengan program pada
nomor 1, perbedaannya terletak pada fungsi setup() dimana tidak ada fungsi LEDoff().
Ketika program diunggah ke sistem arduino, arduino akan memproses program tersebut
dan kedelapan lampu LED akan menyala karena tidak ada fungsi LEDoff() pada sketch
setup().
Lampu akan padam secara bergiliran karena pada sketch loop() terdapat fungsi
untuk memadamkan lampu LED dengan memberikan nilai HIGH pada masing-masing pin
yang dimiliki secara berulang.
d. Latihan 4
Program ini merupakan pengembangan dari program program di atas, yang
memiliki beberapa ketentuan yaitu :
a. Menggunakan 4 fungsi Push Button.
b. Ketika Push Button ditekan akan memberikan dampak terhadap lampu LED, antara lain
sebagai berikut:
Berkedip dengan delay 1 detik.
1. Latihan 5
Program ini juga memiliki struktur yang sama dengan program pada no 4, yaitu keempat Push
button digunakan juga di dalam program ini. Akan tetapi, pada program ini memiliki ketentuan
dimana saat sebuah Push Button ditekan akan membuat lampu LED berkedip, dan ketika
lampu LED masih berkedip tidak akan ada interupsi ketika tombol lain ikut ditekan. Hal ini
diterapkan pada sketch loop yaitu terdapat percabangan pada masing-masing push button
ketika ditekan.
2. Latihan 6
Pada program ini menggunakan 3 buah Push Button dimana masing-masing Push Button
memiliki fungsi yang berbeda yang akan berdampak terhadap nyala/padamnya lampu LED,
yaitu :
Membuat lampu menyala
Ketiga dampak tersebut akan muncul satu per satu ketika ketentuan terpenuhi, yaitu:
Ketika tombol push button 1 ditekan, akan mengubah nilai yang ada pada variabel
kondisi1, yang mulanya bernilai 0 akan bernilai sebanyak jumlah penekanan yang
dilakukan karena terdapat proses penambahan dengan operator incerement pada
variabel kondisi1 yaitu “kondisi1++”. Ketika kondisi terpenuhi, maka akan memanggil
fungsi untuk menyalakan lampu LED.
Push Button 2 ditekan 5 kali akan menyalakan Lampu LED.
Sama halnya seperti pada push button 1, apabila push button 2 ditekan maka akan
mengubah nilai yang ada pada variabel kondisi2. Apabila kondisi terpenuhi maka akan
memanggil fungsi untuk membuat lampu LED berkedip.
Push button 3 ditekan, Lampu LED padam
Memanggil fungsi untuk memadamkan lampu LED ketika push button 3 di tekan.
PENUTUP
A. KESIMPULAN
Berdasarkan praktikum pertemuan 1 unit 2 perancangan dan aplikasi IOT tentang Arduino
dapat ditarik kesimpulan bahwa :
1. Untuk mengubah pin menjadi mode input atau output, dapat dilakukan dengan
menggunakan fungsi pinMode().
2. Untuk menuliskan sinyal HIGH atau LOW ke suatu pin output, dilakukan dengan
menggunakan fungsi digitalWrite().
3. Untuk membaca nilai dari suatu pin input dilakukan dengan menggunakan fungsi
digitalRead().