Bab ini memperkenalkan cara menginstal Arduino IDE dan memprogram Arduino dengan melibatkan komponen:
LED
Tombol tekan
Potensiometer
2.1 Hubungan Antara Arduino dan Komputer untuk Penyusunan Sketsa
Sketsa (atau sebenarnya secara umurn dinamakan program) adalah kumpulan instruksi yang ditujukan untuk mengendalikan Arduino dan perangkat keras lain agar melaksanakan tindakan tertentu. Oleh karena iłu, sebelum sketsa dapat berfungsi sebagaimana mestinya, Anda perlu membuat hubungan antara komputer atau laptop dengan papan Arduino terlebih dahulu.
Kedua perangkat keras tersebut dihubungkan dengan menggunakan kabel USB. Salah satu ujung kabel dicolokkan ke port USB milik komputer dan ujung lain dihubungkan ke port USB Arduino (Gambar 2.1).
Gambar 2.1 Hubungan antara papan Arduino dan Komputer menggunakan kabel USB
Jika komputer sudah dalam keadaan hidup, LED ON pada papan Arduino akan menyala. Pada keadaan seperti ini, papan Arduino siap untuk digunakan.
2.2 Instalasi Arduino IDE
Untuk keperluan mengembangkan sketsa, perangkat lunak yang dinamakan Arduino Integrated Development Environment atau disingkat Arduino IDE diperlukan. Perangkat
lunak ini dapat diunduh secara gratis di Arduino.cc.
Dari saat ke saat, versi Arduino IDE yang lebih baru muncul. Secara prinsip, Anda bisa menggunakan versi mana saja. Versi yang digunakan pada contoh- contoh di buku ini adalah versi 1.6.9. cara menginstalnya sebagai berikut.
Gambar 2.2
Halaman untuk mengunduh Arduino IDE
Klik ganda pada file arduino—l . 6. 9— windows. Langkah ini membuat kotak dialog untuk melakukan konfirmasi instalasi program ditampilkan.
Klik pada tombol Yes. Tampilan yang muncul adalah seperti terlihat pada Gambar 2.3.
Gambar 2.3 perjanjian lisensi
Klik pada tombol untuk meneruskan instalasi. Gambar 2.4 memperlihatkan hasilnya.
GAMBAR 2.4 Pilihan instalasi
Klik pada tombol . Tampilan yang terlihat ditunjukkan pada Gambar 2.5.
GAMBAR 2.5 Pilihan lokasi untuk menginstal program
Klik pada tombol. Langkah ini membuatfile-file mulai diekstrak seperti diperlihatkan pada Gambar 2.6.
GAMBAR 2.6 Keadaan ketika program diinstal
Saat muncul tampilan seperti terlihat pada Gambar 2.7, klik pada tombol Gambar 2.8 menunjukkan hasil setelah tombol tersebut diklik.
Gambar 2.7 konfirmasi untuk menginstal USB driver
Gambar 2.8 keadaan Ketika instalasi program berakhir
Klik pada tombol untuk mengakhiri instalasi
Dengan cara begitu, Arduino IDE telah terpasang di komputer dan siap untuk digunakan memprogram papan Arduino.
2.3 Cara Menjalankan Arduino IDE
Langkah untuk menjalankan Arduino IDE adalah seperti berikut.
Klik tombol Start milik Windows.
Ketik Arduino maka akan muncul tampilan seperti berikut:
Klik pada maka akan muncul tampilan seperti terlihat pada Gambar 2.9.
GAMBAR 2.9 Arduino IDE
2.4 Pembuatan Sketsa
Pembuatan sketsa dilakukan dengan menggunakan editor yang tersedia di Arduino IDE. Secara bawaan, ketika Arduino terbuka untuk pertama kali, terdapat sketsa di editor. Isinya seperti berikut:
void setup() {
// put your setup code here, to run once:
void loop ( ) {
// put your main code here, to run repeatedly:
Secara prinsip, setiap sketsa mengandung dua fungsi bernama setup dan loop. Fungsi adalah suatu blok kode yang memiliki nama dan apabila namanya dipanggil (beserta argumennya), kode yang menyusunnya akan dijalankan (dieksekusi). Adapun kegunaan kedua fungsi tersebut adalah seperti berikut.
Fungsi setup ( ) digunakan untuk melakukan tindakan awal. Tindakan awal hanya dilakukan sekali.
Fungsi loop ( ) berisi kode yang akan diulang secara terus-menerus. Eksekusi sketsa hanya berhenti kalau sumber listrik yang memasok papan Arduino dihentikan.
Untuk percobaan, silakan untuk menuliskan sketsa berikut:
void setup ( ) {
// Inisialisasi port serial Serial . begin (9600)
Serial. print In (“Cuma sekali!”) •
void loop ( ) {
// Akan diulang berkali—kali
Serial . printin (“Mudah kan menggunakan Arduino?”) delay (1000) ;
}
Setelah sketsa ditulis di editor, Anda perlu menyimpannya. Caranya, klik pada menu File pada save. sketsa memang belum pernah disimpan maka Arduino IDE menampilkan kotak dialog berjudul “save sketch folder as…” Langkah yang perlu dilakukan adalah sebagai berikut.
Ketikkan latpertama pada kotak di sebelah kanan judul “File name:”.
Klik pada tombol .
Dengan cara seperti itu, sketsa akan disimpan di folder bernama latpertama yang diletakan di folder DOCUMENTS/ARDUINO. Nama sketsa akan berupa latpertama.ino.
2.5 Verifikasi Sketsa
Sketsa yang dibuat harus memenuhi aturan-aturan pemrograman yang telah ditentukan oleh pembuat kompilatorArduino. Suatu perintah yang biasa disebut pernyataan harus ditulis dengan kaidah tertentu Sebagai contoh, umumnya pernyataan ditulis dengan titik-koma. Oleh karena itu, jika Anda menulis pernyataan yang seharusnya diakhiri dengan titik-koma, tetapi terlupa menuliskannya, pernyataan tersebut dianggap salah. Kesalahan yang terjadi dinamakan kesalahan sintaks.
Tujuan verifikasi sketsa adalah untuk memverifikasi sketsa sehingga tidak satu pun kode yang menyusun sketsa mengalami kesalahan sintaks. Verifikasi biasa juga dinamakan kompilasi. Untuk mempraktikkan hal ini terhadap sketsa yang baru saja Anda tulis, kliklah pada . Gambar 2.10 memperlihatkan verifikasi terhadap sketsa di depan.
GAMBAR 2.10 Hasil verifikasi sketsa
Baris berwarna merah muda (baris 5) menyatakan baris yang membuat verifikasi berhenti. Pesan kesalahan dinyatakan dalam baris berwarna merah, berupa:
expected ‘;’ before ‘Serial’
Jika muncul kesalahan ini, pernyataan yang terletak sebelum baris yang diwarnai merah muda, terlupa untuk diberi titik-koma.
Pada keadaan seperti itu, tambahkan titik-koma di akhir:
Serial . begin ( 9600 )
Jadi, baris tersebut perlu ditulis menjadi:
Serial . begin ( 9600 ) ;
Tahap selanjutnya, lakukan kembali verifikasi. Jika memang tidak ada kesalahan lagi, akan diperoleh hasil seperti yang ditunjukkan pada Gambar 2.11. Pesan ‘Done compiling’ menyatakan hat itu. Adapun di bagian bawah muncul informasi mengenai:
jumlah penyimpan yang diperlukan oleh sketsa dan
total ukuran variabel global dan ruang tersisa untuk variabel lokal
GAMBAR 2.11 Hasil yang menunjukkan sketsa lolos verifikasi
2.6 Pengunggahan Sketsa
Sketsa perlu diunggahkan agar sketsa dapat berfungsi di papan Arduino. Caranya, klik pada . Jika sketsa berhasildiunggah, akan muncul pesan ‘Done uploading’, seperti yang diperlihatkan pada Gambar 2.12.
GAMBAR 2.12 Sketsa yang berhasil diunggah ditandai dengan pesan ‘Done uploading’
Untuk melihat hasil sketsa, bukalah serial monitor.serial monitor adalah failitas yang disediakan oleh Arduino IDE untuk memantau hasil pada sketsa yang dikirim ke port serial. Cara mengaktifkan serial monitor adalah seperti berikut.
Klik pada menu Tools.
Klik pada Serial Monitor.
Hasilnya ditunjukan pada
Gambar 2.13. Tampak bahwa GAMBAR 2.13
Hasil eksekusi sketsa di Serial Monitor
tulisan “cuma sekali!” hanya ditampilkan sekali. Hal ini disebabkan perintah yang mengeluarkan tulisan tersebut diletakkan di setup ( ) . Sebagaimana diketahui, fungsi setup ( ) hanya akan dijalankan sekali. Adapun tulisan “Mudahkan menggunakan Arduino” ditampilkan berulang mengingat perintah yang menampilkan tulisan ini diletakkan di loop ( ) . Sebagaimana diketahui, fungsi loop ( ) akan dijalankan terus-menerus.
Pemahaman Kode terhadap Contoh Sketsa
Sejauh ini, Anda telah mengunggah sketsa ke papan Arduino dan melihat hasilnya di Serial Monitor. Sekarang, ada baiknya untuk memahami kode yang menyusun tampilan tersebut. Tabel 2.1 mencantumkan penjelasan sketsa di depan.
TABEL 2.1 Penjelasan kode yang menyusun sketsa
2.8 Praktik dengan LED
LED adalah komponen yang biasa digunakan untuk percobaan Arduino vang pertama kali. Untuk mempraktekkan, Anda perlu menyediakan berbagai bahan seperti yang tercantum pada Tabet 2.2.
TABEL 2.2 Bahan untuk percobaan LED
Gambar 2.14 menunjukkan cara menyusun rangkaian yang diperlukan. Kaki LED yang disebut anode (yang kakinya panjang) dihubungkan ke resistor 220Q dan ujung lain resistor dihubungkan ke pin 2. Adapun kaki LED yang dinamakan katode (yang berkaki pendek) dihubungkan ke pin GND (ground).
GAMBAR 2.14 Rangkaian untuk mengendalikan LED
Sketsa yang digunakan untuk mengendalikan rangkaian di atas adalah seperti berikut:
Sketsa ini digunakan untuk membuat LED berkedip-kedip. Marilah kita bahas kode yang menyusun sketsa ini.
Pernyataan:
const int PIN LED 3;
digunakan untuk mendefinisikan suatu konstanta bernama PIN LED yang bertipe int (bilangan bulat) dan bernilai 3. Hal ini digunakan untuk menyatakan pin 3 yang dipakai untuk mengendalikan LED.
Di setup ( ) , pernyataan:
pinMode (PIN LED, OUTPUT) ;
dipakai untuk mengatur mode pin untuk pengendalian LED sebagai OUTPUT. Artinya, Arduino dapat mengubah nilai di pin berupa HIGH (isyarat digital 1) atau LOW (isyarat digital 0). Nilai HIGH digunakan untuk membuat LED menyala, sedangkan LOW digunakan membuat LED padam.
Pengaturan LED hidup dan padam secara bergantian ditangani di setup ( ). Pernyataan:
digitalWrite (PIN _LED, HIGH) ;
berfungsi untuk menghidupkan LED. Adapun
delay (1000) ;
digunakan untuk menunda eksekusi terhadap perintah berikutnya selama 1 detik. Hal ini menyebabkan LED tetap menyala. Lalu,
digitalWrite(PIN LED, HIGH) ;
membuat LED padam. LED akan padam selama 1 detik karena berikutnya terdapat pernyataan
delay (1000) ;
Dengan cara begitulah LED akan hidup dan mati secara bergantian per 1 detik.
2.9 Pin-Pin Papan Arduino
Secara umum, pin-pin di Arduino dapat dibagi menjadi pin digital dan pin analog. Pin digital adalah pin yang nilainya berupa HIGH (isyarat digital 1) atau LOW (isyarat digital 0). Adapun pin analog adalah pin yang nilainya sangat bervariasi. Pin-pin digital berupa 0 hingga 13 dan pin-pin analog berupa A0 hingga A5. Gambar 2.15 memperlihatkan kedua jenis pin tersebut.
GAMBAR 2.15 Pin-pin digital dan analog
Pada Arduino Uno, pin-pin digital bernomor 3, 5, 6, 9, 10, dan 11 (yang ditandai dengan simbol ~) merupakan pin-pin PWM (pulse width modulation), yaitu pin-pin yang nilainya dapat diisi dengan bilangan antara 0 dan 255. Dengan kata Iain, pin PWM adalah pin digital yang dapat difungsikan sebagai pin analog, tetapi mode yang berlaku adalah OUTPUT. Adapun pin analog A0 hingga A5 hanya menghasilkan nilai analog kalau mode yang digunakan adalah INPUT. Perlu diketahui, secara bawaan pin-pin analog AO hingga A6 bermode INPUT. Walaupun begitu, pin-pin analog ini juga dapat difungsikan sebagai pin-pin digital asalkan mode yang digunakan adalah OUTPUT.
CATATAN
Mode INPUT menyatakan bahwa Arduino hanya bisa membaca nilai pada pin dan tidak dapat mengubahnya.
Sejauh ini, Anda telah mengenal digitalWrite ( ) yang digunakan untuk mengubah nilai di suatu pin Yang memiliki mode OUTPUT. Selain fungsi ini, terdapat fungsi bernama digital Read ( ) , analogRead ( ) , dan analogWrite ( ) . Tabel 2.3 menjelaskan keempat fungsi tersebut.
TABEL 2.3 Fungsi-fungsi pengakses pin
digitalWrite(nomorPin, Fungsi ini diterapkan pada pin digital atau analog yang keadaan); bermode OUTPUT.
Argumen nomorPin menyatakan pin yang akan nilainya akan diubah dan keadaan dapat berupa HIGH atau LOW.Pada pin analog, A0 perlu dinyatakan dengan 14, A1 dinyatakan dengan 15, dan seterusnya.
analogWrite(nomorPin, nilai),
Fungsi ini diterapkan pada pin PWM yang bermode OUTPUT. Argumen nomorPin menyatakan pin yang akan nilainya akan diubah dan ni/ai dapat berupa bilangan antara 0 dan 255
digitalRead(nomorPin)
Fungsi ini diterapkan pada pin digital yang bermode INPUT dan nilai baliknya berupa HIGH atau LOW
analogRead(nomorPin) Fungsi ini hanya berlaku untuk pin analog AO hingga A5 yang modenya tidak ditentukan secara eksplisit. Nilai baliknya berupa 0 hingga 1023
Untuk memahami penggunaan analogWrite ( ) , gunakan rangkaian seperti yang diperlihatkan pada Gambar 2.14 dan unggah sketsa berikut:
Sketsa ini menggunakan analogWrite ( ) untuk mengisikan nilai di pin 3 (pin PWM). Nilai yang dituliskan adalah penjumlahan antara 80 dan isi variabel bilAcak. Variabel bilAcak sendiri berisi nilai acak antara O dan 175. Dengan demikian, nilai yang dituliskan ke pin berkisar antara 120 hingga 255. Efek yang terjadi adalah intensitas LED berubah-ubah seperti api yang membara.
Intensitas LED juga bisa diatur melalui potensiometer (Gambar 2.16). Potensiometer adalah komponen yang variabelnya dapat diubah-ubah dengan memutar porosnya. Efek yang terjadi adalah tegangan yang dihasilkan oleh kaki tengah dapat berubah-ubah, Untuk mempraktikkan, silakan untuk menyusun rangkaian seperti pada Gambar 2.17. Dua kaki di pinggir dapat
GAMBAR 2.16
Potensiometer 10K
dihubungkan ke te- gangan positif dan ground secara bebas karena tidak ada polaritas.
GAMBAR 2.17 Rangkaian pengatur intensitas LED menggunakan potensiometer
Sketsa yang diperlukan adalah seperti berikut:
Penjelasan untuk sketsa ini adalah seperti berikut,
Pernyataan:
const int PIN LED 3;
digunakan untuk mendefinisikan suatu konstanta bernama PIN_LED yang bertipe int (bilangan bulat) dan bernilai 3. Hal ini digunakan untuk menyatakan pin 3 yang dipakai untuk mengendalikan LED. Adapun:
const int PIN POTENSIO = A0;
mendefinisikan konstanta yang menyatakan pin yang dihubungkan ke kaki tengah potensiometer.
Di setup ( ) , pernyataan:
pinMode (PIN LED, OUTPUT) ;
dipakai untuk mengatur mode pin untuk pengendalian LED sebagai OUTPUT. Artinya, Arduino dapat mengubah nilai di pin ini.
Pengaturan intensitas LED ditangani di setup ( ) . Mula-mula, pernyataan:
int potensio = analogRead(PIN_POTENSIO) ;
digunakan untuk membaca nilai di pin analog yang terhubung ke kaki tengah. Nilai yang tercatat di variabel potensio berkisar antara 0 dan 1023. Selanjutnya,
analogWrite (PIN LED, potensio / 4) ;
mengatur intensitas LED. Mengingat pin 3 adalah pin PWM maka nilainya dapat diatur antara 0 dan 255. Oleh karena itu, pengaturan intensitas LED dilakukan dengan menggunakan analogWrite ( ) . Hal terpenting yang perlu diperhatikan adalah pada argumen kedua fungsi ini. Nilai antara 0 dan 1023 perlu dikonversikan ke bilangan antara 0 dan 255. Hal ini dapat dilakukan dengan membagi bilangan di , dengan 4. Sebagai contoh, nilai 1023 / 4 sama dengan 255. Perlu diketahui, bilangan bulat dibagi dengan bilangan bulat akan menghasilkan bilangan bulat. Jadi, 1023 / 4 tidak akan menghasilkan 255,75 melainkan 255.
Adapun contoh penggunaan digital Read ( ) adalah untuk membaca status tombol (ditekan atau tidak). Gambar 2.18 memperlihatkan komponen tombol tekan yang diperlukan. Untuk mempraktikkan, Anda bisa menyusun rangkaian seperti yang ditunjukkan pada Gambar 2.19. Resistor yang dihubungkan ke tombol berukuran 10K.
GAMBAR 2.18 Tombol tekan GAMBAR 2.19 Rangkaian untuk menylakan LED melalui tombol
Sketsa yang diperlukan adalah seperti berikut :
Penjelasan untuk sketsa ini adalah seperti berikut.
Pernyataan:
const int PIN LED = 3;
digunakan untuk mendefinisikan suatu konstanta bernama PIN LED yang bertipe int (bilangan bulat) dan bernilai 3. Hal ini digunakan untuk menyatakan pin 3 yang dipakai untuk mengendalikan LED. Adapun:
const int PIN TOMBOL = 4;
mendefinisikan konstanta yang menyatakan pin yang dihubungkan ke tombol tekan.
Di setup ( ) , pernyataan:
pinMode (PIN LED, OUTPUT) ;
dipakai untuk mengatur mode pin untuk pengendalian LED sebagai OUTPUT. Artinya, Arduino dapat mengubah nilai di pin ini. Adapun:
pinMode (PIN TOMBOL, INPUT) ;
menyatakan bahwa nilai di 4 (PIN_TOMBOL) akan dibaca oleh Arduino.
Pengaturan LED menyala atau padam ditangani di setup ( ) . Mula-mula, pernyataan:
int tombol digitalRead(PIN_TOMBOL) ;
digunakan untuk membaca nilai di pin digital yang terhubung ke kaki tombol. Nilai yang tercatat di variabel tombol berkisar antara LOW dan HIGH karena dibaca dengan digital Read ( ) . Selanjutnya,
digitalWrite (PIN LED, tombol) ;
membuat keadaan LED akan mengikuti nilai di variabel tombol. Jika tombol bernilai HIGH, LED akan menyala. Sebaliknya, Jika tombol bernilai LOW, LED padam.