LED Berkedip
Pada umumnya percobaan pertama dari sebuah latihan Arduino adalah LED berkedip. Ini merupakan sebuah latihan yang cukup mudah dengan membuat sebuah LED yang terhubung ke pin 13 menyala selama selang waktu 1 detik kemudian mati selama selang waktu 1 detik dan begitu seterusnya. Pada percobaan ini tidak terdapat banyak fungsi yang digunakan tapi merupakan dasar untuk bisa memahami bahasa pemograman yang lebih kompleks nantinya.
+ Pada setiap latihan akan terdapat sebuah penjelasan singkat dan bagaimana percobaan tersebut bekerja.
Kebutuhan Komponen:
— 1 x Arduino UNO
— 1 x LED
— 1 x Resistor 330Ω
+ Ini merupakan daftar komponen yang diperlukan untuk menyelesaikan setiap latiahan.
Komponen yang terpakai pada Shield:
1 x LED yang terhubung ke pin D13.
Rangkaian:
+ Ini adalah gambar rangkaian, sesuai dengan komponen yang digunakan pada Bluino Starter Shield.
Upload sketch Arduino pertama:
Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi
Bluino Loader yang sudah diinstal dari Google Playstore. Sebelum membuka sketch Latihan 01 kamu dapat mendownload semua file latihan pada link berikut:
Belajar_Arduino_Dasar, kemudian disimpan pada subfolder Examples dari folder Arduino atau BluinoLoader.
Untuk membuka sketch temukan file di:
BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_01
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) dibawah.
/* Belajar Arduino Dasar
Latihan 01 LED Berkedip
Turn an LED on for one second, off for one second,
and repeat forever.
Version 1.0 9/2017 MK
*/
void setup()
{
pinMode(13, OUTPUT); // Define pin D13 as output
}
void loop()
{
digitalWrite(13, HIGH); // Turn on the LED
delay(1000); // Wait for one second
digitalWrite(13, LOW); // Turn off the LED
delay(1000); // Wait for one second
}
+ Ini adalah sketch Arduino untuk setiap latihan percobaan.
Catatan kode:
Selamat datang di Arduino!
Jika kamu baru pertama mendengar Arduino, kamu akan belajar sesuatu yang baru dan menarik.
Arduino adalah sebuah komputer kecil dan didalamnya berjalan kumpulan kode instruksi yang disebut "sketch".
Sketch terdiri dari beberapa baris susunan kode intruksi dan hanya dimengerti oleh Arduino.
Didalam sketch selain berisi baris kode instuksi, terdapat juga beberapa catatan atau "
comment" yang dapat berfungsi memberikan sebuah keterangan singkat dari sebuah baris kode instruksi.
Comment tidak akan mempengaruhi terhadap kerja dari suatu
sketch dan juga
comment warnanya dibedakan dengan kode instruksi sehiangga dapat terlihat jelas mana yang merupakan
comment.
Untuk menyatakan sebuah huruf, kata atau kalimat menjadi sebuah
comment, diawali dengan penulisan garis miring dua kali "//", maka karakter yang ditulis setelahnya dianggap sebagai
comment sampai awal garis baru.
/* Tulisan ini juga merupakan contoh sebuah comment, perbedaannya comment ini dapat ditulis dalam satu paragraph tanpa menghiraukan baris baru. Cara penulisan untuk comment seperti ini yaitu diawali dengan garis miring tanda bintang kemudian harus diakhiri dengan tanda bintang garis miring */
Satu blok kumpulan dari baris kode instuksi dapat disebut sebagai "
fungsi" yang dapat menjalankan perintah tertentu. Semua
sketch Arduino harus memiliki dua fungsi utama yaitu "
setup()
" dan "
loop()
". Arduino menjalankan kedua blok fungsi tersebut secara otomatis ketika pertama Arduino dihidupkan atau saat setelah menekan tombol reset.
Fungsi
setup()
berjalan pertama dan satu kali, sering digunakan untuk penulisan kode yang hanya dibutuhkan satu kali atau pertama seperti inisialisasi.
Arduino memiliki 13 pin digital input/output. Pin-pin tersebut dapat dikonfigurasi sebagai input atau output. Untuk menkonfigurasi pin tersebut menggunakan fungsi bawaan bahasa arduino yaitu
pinMode()
.
Fungsi
pinMode()
memerlukan dua parameter, yang ditulis setelah nama fungsi didalam tanda kurung. Parameter pertama adalah nomor pin, dan parameter kedua adalah sebuah kata dengan huruf besar yaitu
INPUT
atau
OUTPUT
.
Pada contoh sketch ini, kita akan menentukan pin 13 sebagai output (pin yang terhubung dengan sebuah LED). Pin 13 diseting sebagai output karena kita menginginkan untuk mengirim tegangan dari Arduino ke LED.
Semua pin 13 digital pada Arduino stabil bila difungsikan sebagai input maupun output dengan kondisi on/off, atau menerima/mengeluarkan sinyal "digital". Pada pin digital hanya terdapat dua keadaan yaitu akan selalu 5 Volts (atau juga disebut "
HIGH
"), atau 0 Volts (atau juga disebut "
LOW
").
Karena hanya terdapat satu LED yang terhubung pin 13, jika membuat kondisi output
HIGH
, LED akan menerima tegangan dan LED menyala. Jika membuat kondisi output
LOW
, LED tidak akan menerima tegangan dan LED mati.
digitalWrite()
adalah fungsi bawaan bahasa Arduino yang digunakan untuk membuat sebuah pin output digital dalam kondisi
HIGH
atau
LOW
. Fungsi ini memerlukan dua parameter; sebuah nomor pin, kemudian diikuti dengan kata
HIGH
atau
LOW
:
delay()
adalah sebuah fungsi untuk berhenti selama beberapa saat. Fungsi ini memerlukan parameter nilai waktu tunggu, yang dihitung dalam milliseconds.
1000
milliseconds adalah satu detik, maka jika menuliskan "
delay(1000)
", akan membuat program berhenti selama satu detik.
Semua gabungan dari baris fungsi pada contoh sketch kali ini akan menjadikan sebuah program untuk memerintahkan LED menyala, kemudian menunggu/berhenti selama satu detik, kemudian LED mati, dan menunggu lagi selama satu detik.
Ketika Arduino selesai menjalankan baris fungsi dan berada pada akhir fungsi
loop()
, maka akan kembali ke awal menjalankan kumpulan baris fungsi yang ada didalam fungsi
loop()
terus menerus. Jadi program ini akan membuat LED berkedip terus menerus!
Apa yang seharusnya kamu lihat:
Kamu akan melihat LED berkedip menyala dan mati. Jika ini tidak terjadi, pastikan kamu melakukan tahap demi tahap dari percobaan dengan benar pada latihan 01 dan pastikan kamu telah upload sketchnya kedalam Arduino.
Coba rubah nilai 1000 dari fungsi
delay()
dengan nilai yang berbeda dan lihat bagaimana mempengaruhi waktu berkedip dari LED. Nilai yang kecil akan membuat loop berjalan cepat. (Mengapa?)
Tantangan lain:
* kurangi delay ke 10 ms. Dapatkah kamu melihat LED masih berkedip?
Temukan nilai delay terkecil sehingga kamu masih dapat melihat LED berkedip.
+ Lihat hasilnya jika percobaan latihan kamu selesai dan berjalan benar.