PENGENALAN ARDUINO IDE DAN STRUKTUR PROGRAM ARDUINO

 

1.1  Ardunio IDE

IDE itu merupakan kependekan dari Integrated Developtment Enviroenment, atau secara bahasa mudahnya merupakan lingkungan terintegrasi yang digunakan untuk melakukan pengembangan. Disebut sebagai lingkungan karena melalui software inilah Arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program bernama Bootlader yang berfungsi sebagai penengah antara compiler Arduino dengan mikrokontroler. Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga dilengkapi dengan library C/C++ yang biasa disebut Wiring yang membuat operasi input dan output menjadi lebih mudah. Arduino IDE ini dikembangkan dari software Processing yang dirombak menjadi Arduino IDE khusus untuk pemrograman dengan Arduino.

1.2  Fitur-Fitur Arduino IDE

Adapun fitur-fitur yang terdapat pada software arduino IDE yakni sebagai berikut.

1.      Penulisan Sketch

Program yang ditulis dengan menggunaan Arduino Software (IDE) disebut sebagai sketch. Sketch ditulis dalam suatu editor teks dan disimpan dalam file dengan ekstensi .ino. Teks editor pada Arduino Software memiliki fitur” seperti cutting/paste dan seraching/replacing sehingga memudahkan kamu dalam menulis kode program. Pada Software Arduino IDE, terdapat semacam message box berwarna hitam yang berfungsi menampilkan status, seperti pesan error, compile, dan upload program. Di bagian bawah paling kanan Sotware Arduino IDE, menunjukan board yang terkonfigurasi beserta COM Ports yang digunakan.

Gambar diatas merupakan tampilan dari Software Arduino IDE.

Nama

Penjelasan

Verify

Berfungsi untuk melakukan checking kode yang kamu buat apakah sudah sesuai dengan kaidah pemrograman yang ada atau belum

Upload

Berfungsi untuk melakukan kompilasi program atau kode yang kamu buat menjadi bahsa yang dapat dipahami oleh mesih alias si Arduino.

New

Berfungsi untuk membuat Sketch baru

Open

Berfungsi untuk membuka sketch yang pernah kamu buat dan membuka kembali untuk dilakukan editing atau sekedar upload ulang ke Arduino.

Save

Berfungsi untuk menyimpan Sketch yang telah kamu buat.

Serial Monitor

Berfungsi untuk membuka serial monitor. Serial monitor disini merupakan jendela yang menampilkan data apa saja yang dikirimkan atau dipertukarkan antara arduino dengan sketch pada port serialnya. Serial Monitor ini sangat berguna sekali ketika kamu ingin membuat program atau melakukan debugging tanpa menggunakan LCD pada Arduino. Serial monitor ini dapat digunakan untuk menampilkan nilai proses, nilai pembacaan, bahkan pesan error.

2.      File

·         New, berfungsi untuk membuat membuat sketch baru dengan bare minimum yang terdiri void setup() dan void loop().

·         Open, berfungsi membuka sketch yang pernah dibuat di dalam drive.

·         Open Recent, merupakan menu yang berfungsi mempersingkat waktu pembukaan file atau sketch yang baru-baru ini sudah dibuat.

·         Sketchbook, berfungsi menunjukan hirarki sketch yang kamu buat termasuk struktur foldernya.

·         Example, berisi contoh-contoh pemrograman yang disediakan pengembang Arduino, sehingga kamu dapat mempelajari program-program dari contoh yang diberikan.

·         Close, berfungsi menutup jendela Arduino IDE dan menghentikan aplikasi.

·         Save, berfungsi menyimpan sketch yang dibuat atau perubahan yang dilakukan pada sketch

·         Save as…, berfungsi menyimpan sketch yang sedang dikerjakan atau sketch yang sudah disimpan dengan nama yang berbeda.

·         Page Setup, berfungsi mengatur tampilan page pada proses pencetakan.

·         Print, berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak.

·         Preferences, disini kam dapat merubah tampilan interface IDE Arduino.

·         Quit, berfungsi menutup semua jendela Arduino IDE. Sketch yang masih terbuka pada saat tombol Quit ditekan, secara otomatis akan terbuka pada saat Arduino IDE dijalankan.

3.      Edit

·         Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah dilakukan pada Sketch beberapa langkah mundur dengan Undo atau maju dengan Redo.

·         Cut, berfungsi untuk meremove teks yang terpilih pada editor dan menempatkan teks tersebut pada clipboard.

·         Copy, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada clipboard.

·         Copy for Forum, berfungsi melakukan copy kode dari editor dan melakukan formating agar sesuai untuk ditampilkan dalam forum, sehingga kode tersebut bisa digunakan sebagai bahan diskusi dalam forum.

·         Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada clipboard dalam bentuk atau format HTML. Biasanya ini digunakan agar code dapat diembededdkan pada halaman web.

·         Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.

·         Select All, berfungsi untk melakukan pemilihan teks atau kode dalam halaman editor.

·         Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda // pada kode atau teks, dimana tanda tersebut menjadikan suatu baris kode sebagai komen dan tidak disertakan pada tahap kompilasi.

·         Increase/Decrease Indent, berfunsgi untuk mengurangi atau menambahkan indetntasi pada baris kode tertentu. Indentasi adalah “tab”.

·         Find, berfungsi memanggil jendela window find and replace, dimana kamu dapat menggunakannya untuk menemukan variabel atau kata tertentu dalam program atau menemukan serta menggantikan kata tersebut dengan kata lain.

·         Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang berhasil ditemukan.

·         Find Previous, berfungsi menemukan kata sebelumnya dari kata pertama yang berhasil ditemukan.

4.      Sketch

·         Verify/Compile, berfungsi untuk mengecek apakah sketch yang kamu buat ada kekeliruan dari segi sintaks atau tidak. Jika tidak ada kesalahan, maka sintaks yang kamu buat akan dikompile kedalam bahasa mesin.

·         Upload, berfunsi mengirimkan program yang sudah dikompilasi ke Arduino Board.

·         Uplad Using Programmer, menu ini berfungsi untuk menuliskan bootloader kedalam IC Mikrokontroler Arduino. Pada kasus ini kamu membutuhkan perangkat tambahan seperti USBAsp untuk menjembatani penulisan program bootloader ke IC Mikrokontroler.

·         Export Compiled Binary, berfungsi untuk menyimpan file dengan ekstensi .hex, dimana file ini dapat disimpan sebagai arsip untuk di upload ke board lain menggunakan tools yang berbeda.

·         Show Sketch Folder, berfungsi membuka folder sketch yang saat ini dikerjakan.

·         Include Library, berfunsi menambahkan library/pustaka kedalam sketch yang dibuat dengan menyertakan sintaks #include di awal kode. Selain itu kamu juga bisa menambahkan library eksternal dari file .zip kedalam Arduino IDE.

·         Add File…, berfungsi untuk menambahkan file kedalam sketch arduino (file akan dikopikan dari drive asal). File akan muncul sebagai tab baru dalam jendela sketch.

5.      Tools

·         Auto Format, berfungsi melakukan pengatran format kode pada jendela editor

·         Archive Sketch, berfungsi menyimpan sketch kedalam file .zip

·         Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan antara pengkodean peta karakter editor danpeta karakter sistem operasi yang lain.

·         Serial Monitor, berungsi membuka jendela serial monitor untuk melihat pertukaran data.

·         Board, berfungsi memilih dan melakukan konfigurasi board yang digunakan.

·         Port, memilih port sebbagai kanal komunikasi antara software dengan hardware.

·         Programmer, menu ini digunakan ketika kamu hendak melakukan pemrograman chip mikrokontroller tanpa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada proses burning bootloader.

·         Burn Bootloader, mengizinkan kamu untuk mengkopikan program bootloader kedalam IC mikrokontroler

6.      Help

Menu help berisikan file-file dokumentasi yang berkaitan dengan masalah yang sering muncul, serta penyelesaiannya. Selain itu pada menu help juga diberikan link untuk menuju Arduino Forum guna menanyakan serta mendiskusikan berbagai masalah yang ditemukan.

7.      Sketchbook

Arduino Software IDE, menggunakan konsep sketchbook, dimana sketchbook menjadi standar peletakan dan penyimpanan file program. Sketch yang telah kamu buat dapat dibuka dengan dari File Sketchbook, atau dengan menu Open.

8.      Tabs, Multiple Files, dan Compilations

Mekanisme ini mengizinkan untuk melakukan menejemen sketch, dimana lebih dari satu file dibuka dalam tab yang berbeda.

9.      Uploading

Merupakan mekanisme untuk mengkopikan file .hex atau file hasil kompilasi kedalam IC mikrokontroler Arduino. Sebelum melakukan uploading, yang perlu kamu pastikan adalah jenis board yang kamu gunakan dan COM Ports dimana keduanya terletak pada menu Tools Board dan Tools Port.

10.  Library

Library/ Pustaka merupakan file yang memberikan fungsi ekstra dari sketch yang kamu buat, semisal agar Arduino dapat bekerja dengan hardware tertentu dan melakukan proses manipulasi data. Untuk menginstal Library pihak ketiga alias Library bukan dari Arduino, dapat dilakukan dengan Library Manager, Import file .zip, atau kopi paste secara manual di folder libraries pada Documents di platform Windows. Untuk instalasi library dapat kunjungi link berikut.

11.  Serial Monitor

Serial monitor merupakan suatu jendela yang menunjukan data yang dipertukaran antara arduino dan komputer selama beroperasi, sehingga kamu bisa menggunakan serial monitor ini untuk menampilkan nilai hasil operasi atau pesan debugging. Selain melihat data, kamu juga bisa mengirimkan data ke Arduino melalui serial monitor ini, caranya dengan memasukkan data pada text box dan menekan tombol send untuk mengirimkan data. Hal penting yang harus kamu perhatikan adalah menyamakan baudrate antara serial monitor dengan Arduino board. Untuk menggunakan kemampuan komunikasi serial ini, pada Arduino, di bagian fungsi void setup(), diawali dengan instruksi Serial.begin diikuti dengan nilai baudrate.

12.  Preferences

Preferences mengatur tentang beberapa hal dalam penggunaan Arduino Software IDE, seperti ukuran font, lokasi dimana menyimpan sketcbook, bahasa yang digunakan pada Arduino Software IDE, dan masih banyak lagi. Kamu bisa mengatur preferences pada menu file yang dapat dijumpai pada platform Windows dan Linux.

13.  Language Support

Language Support merupakan pilihan bahasa yang dapat disesuaikan pada Software Arduino IDE. Bahasa Indonesia sudah ada loh. Language Support ini dapat ditemukan pada menu file -> preferences atau dengan menekan Ctrl+Comma.

14.  Boards

Pemilihan board pada Arduino Software IDE, berdampak pada dua parameter yaitu kecepatan CPU dan baudrate yang digunakan ketika melakukan kompilasi dan meng-upload sketch. Beberapa contoh board yang dapat digunakan dengan Arduino Software IDE adalah:

·         Arduino Yùn

Menggunkana ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog , 20 Digital I/O serta 7 PWM.

·         Arduino/Genuino Uno

Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 6 Input Analog , 14 Digital I/O serta 7 PWM.

·         Arduino Diecimila or Duemilanove w/ ATmega168

Menggunakan ATmega168 dan berjalan pada clock 16 MHz dengan auto-reset.

·         Arduino Nano w/ ATmega328

Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset. memiliki 6 Input Analog.

·         Arduino/Genuino Mega 2560

Menggunakan ATmega2560 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.

 

·         Arduino Mega

Menggunakan ATmega1280 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.

·         Arduino Mega ADK

Menggunakan ATmega2560dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.

·         Arduino Leonardo

Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog, 20 Digital I/O dan 7 PWM.

·         Arduino Micro

Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog, 20 Digital I/O dan 7 PWM.

·         Arduino Esplora

Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset.

·         Arduino Mini w/ ATmega328

Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 8 Input Analog, 14 Digital I/O dan 6 PWM.

·         Arduino Ethernet

Equivalent to Arduino UNO with an Ethernet shield: An ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

·         Arduino Fio

Menggunakan ATmega328 dan berjalan pada clock 8 MHz dengan auto-reset. Memiliki kesamaan dengan Arduino Pro atau Pro Mini (3.3V, 8 MHz) w/ ATmega328, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

·         Arduino BT w/ ATmega328

Menggunakan ATmega328 dan berjalan pada clock 16 MHz. Bootloader dengan ukuran (4 KB) termasuk kode untuk melakukan inisialisasi pada modul bluetooth, memiliki 6 Input Analog, 14 Digital I/O and 6 PWM.

·         LilyPad Arduino USB

Menggunakan ATmega32u4dan berjalan pada clock 8 MHz dengan auto-reset, memiliki 4 Input Analog, 9 Digital I/O dan 4 PWM.

·         LilyPad Arduino

Menggunakan ATmega168 atau ATmega132 dan berjalan pada clock 8 MHz dengan auto-reset, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

·         Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328

Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset. Memiliki kesamaan dengan Arduino Duemilanove atau Nano w/ ATmega328, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

·         Arduino NG or older w/ ATmega168

Menggunakan ATmega168 dan berjalan pada clock 16 MHz without auto-reset. Proses kompilasi dan upload sama dengan Arduino Diecimila atau Duemilanove w/ ATmega168,memiliki 16 Input Analog, 14 Digital I/O and 6 PWM.

·         Arduino Robot Control

Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset.

·         Arduino Robot Motor

Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset.

·         Arduino Gemma

Menggunakan ATtiny85 dan berjalan pada clock 8 MHz dengan auto-reset, 1 Analog In, 3 Digital I/O and 2 PWM.

1.3  Instalasi Arduino IDE

Adapun langkah-langkah instalasi ardunio IDE yakni sebagai berikut.

1.      Download software arduino IDE pada link http://www.arduino.cc/ pada bagian menu Software.

2.      Pilih software sesuai hardware atau laptop yang dipakai.

3.      Klik Download dan tunggu sampai selesai, serta pastikan jaringan internet stabil.


4.      Jika proses download selesai, buka windows explorer dan temukan software hasil download kemudian buka software tersebut.

5.      Pilih “I Agree” untuk menyetujui License Agreement.

6.      Centang semua komponen yang diperlukan untuk arduino IDE kemudian klik Next.

7.      Berikutnya merupakan penempatan instalasi software, langsung pilih Install saja karena biasanya penempatan software otomatis ke partisi utama (Local Disk C).

8.      Tunggu proses instalasi sampai selesai.

9.      Jika ada peringatan untuk instal driver atau tidak maka dapat memilih Install.

10.  Jika proses instalasi selesai klik Close.

11.  Berikut hasil instalasi software arduino IDE pada laptop.

1.4  Istilah-Istilah Program Arduino

1.      Fungsi

a.       Void setup()

Fungsi void setup pada Arduino adalah sebagai bentuk inisialisasi atau pengenalan dalam program Arduino dan hanya dieksekusi sekali sejak program dijalankan. Umumnya fungsi ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Perhatikan contoh fungsi void setup di bawah ini:

void setup()

{

  pinMode(13,OUTPUT);

}

Keterangan:

Dalam perintah tersebut terdapat pernyataan atau statement yang berisi penginisialisasian pin 13 sebagai pin output atau keluaran.

b.      Void loop()

Setelah void setup() dijalankan, selanjutnya program akan menjalankan fungsi void loop(). Fungsi ini akan dieksekusi terus-menerus secara berurutan hingga program berhenti dijalankan. Silahkan lihat contoh fungsi void loop() di bawah ini:

void loop()

{

digitalWrite(13, HIGH);

delay(1000);

}

Untuk beberapa kasus pemrograman yang kompleks, terkadang programmer juga menambahkan void baru untuk mempermudah pemrograman. Void baru bisa diletakkan setelah atau sebelum void loop().

2.      Sintaks

Secara umum, syntax atau sintaks dikenal sebagai seperangkat aturan tata bahasa pada kata atau klausa dalam membentuk kalimat. Sedangkan dalam bahasa pemrograman, sintaks diartikan sebagai suatu aturan dalam penulisan kode program agar kode tersebut bisa dimengerti komputer. Sintaks dalam Arduino bisa juga disebut sebagai aturan karakteristik penulisan kode program Arduino. Beberapa sintaks dasar pemrograman Arduino Uno antara lain:

1)      Titik Koma (Semicolon)

Tanda titik koma adalah syntax wajib dalam pemrograman Arduino. Biasanya sintaks ini ditempatkan pada akhir pernyataan. Contohnya seperti berikut ini:

int x = 13;  

2)      Kurung Kurawal (Curly Braces)

Kurung kurawal berfungsi untuk mendefinisikan awal dan akhir dari sebuah blok fungsi. Contohnya bisa kamu lihat di bawah ini:

void loop()

{

isi program

}

3)      #define

Fungsi define pada Arduino yaitu memungkinkan programmer dalam memberi nama untuk nilai konstan sebelum program dapat dikompilasi. Untuk mendeklarasikan nomor pin yang digunakan bisa ditulis dengan format sebagai berikut:

#define ledPin 3

Keterangan:

ledPin = variabel yang digunakan

3 = nilai(value) atau pin yang sedang digunakan

4)      #include

Fungsi include pada Arduino yaitu untuk memasukkan library ke dalam sketch. Dimana fungsi library Arduino sendiri adalah memudahkan pengguna dalam melakukan pengodingan. Cara penggunaan sintaks sangat mudah. Kamu hanya perlu menambahkan nama library yang ingin di-import ke program di belakang sintaks tersebut. Contohnya seperti di bawah ini:

#include <OneWire.h>

5)      Komentar

Apabila kamu bertanya bagaimana cara untuk memberikan catatan pada program yang kita buat di Arduino IDE? Maka jawabannya, kamu bisa menggunakan sintaks komentar. Sintaks komentar pada program Arduino adalah sintaks yang berfungsi menambah keterangan pada program yang dibuat. Sehingga kata atau kalimat yang diberi sintaks komentar tak akan terbaca oleh compiler. Setidaknya ada dua macam sintaks komentar yang perlu kamu tahu, yaitu:

a.       Sintaks komentar satu baris

Untuk membuat komentar yang hanya menggunakan satu baris saja, kamu bisa menggunakan sintaks garis miring dua kali “//”. Contoh penggunaan sintaksnya seperti ini.

// isi komentar

b.      Sintaks komentar lebih dari satu baris

Untuk membuat komentar yang jumlahnya barisnya lebih dari satu, kamu harus menggunakan sintaks dua garis miring dan bintang. Dimana komentar yang ingin dimasukkan berada di tengah. Berikut contoh penggunaannya:

/* isi komentar */

3.      Tipe Data

Berikut tipe data yang sering digunakan pada arduino.

Tipe Data

Lebar Data

Jangkauan

char

1 byte

-128 s/d 127

unsigned char

1 byte

0 s/d 255

byte

1 byte

0 s/d 255

word

2 byte

1 s/d 65535

int

2 byte

-32768 s/d 32767

unsigned int

2 byte

0 s/d 65535

long

4 byte

-2147438648 s/d 2147438647

unsigned long

4 byte

0 s/d 4294967295

float

4 byte

-3.4028235E+38 s/d 3.4028235E+38

Untuk format penulisan tipe data Arduino dalam program sangatlah mudah. Kita hanya perlu menempatkannya di depan variabel yang ingin kamu deklarasikan dengan diantarai satu spasi. Misalkan kita ingin mendeklarasikan suatu variabel bernama “cobaCoba” dengan tipe data integer dan menggunakan pin 5. Maka penulisan perintahnya seperti ini:

int cobaCoba = 5;

Jadi, fungsi int pada Arduino IDE yang letaknya di awal variabel adalah untuk mendeklarasikan bahwa variabel tersebut bertipe data integer.

4.      Variabel

Variabel dalam bahasa program Arduino bisa didefinisikan sebagai suatu wadah untuk menyimpan atau menampung data. Kita dibebaskan memilih nama variabel yang diinginkan, asalkan sesuai dengan ketentuan berikut:

·         Tidak menggunakan spasi

·         Maksimal 32 karakter

·         Tidak menggunakan istilah baku dalam bahasa C Arduino

Sebagai contoh, misalkan kita ingin mendefinisikan nilai pin 2 dengan variabel “berhasil” dan menggunakan tipe data integer. Maka contoh penulisannya yaitu:

int berhasil = 2;

5.      Nilai Konstan

Pada dasarnya, Arduino telah memiliki beberapa variabel yang telah memiliki nilai yang disebut sebagai konstan. Karena nilainya sudah ditentukan, jadi tidak perlu lagi didefinisikan di awal. Berikut ini adalah macam-macam nilai konstan:

1)      TRUE/FALSE

TRUE dan FALSE adalah konstanta boolean yang digunakan untuk mendefinisikan level logika. Apakah ia bernilai benar (TRUE) atau salah (FALSE). TRUE didefinisikan sebagai 1 dan FALSE sebagai 0. Lihat contoh format penulisannya berikut ini:

If(c==TRUE);

{

perintah;

}

2)      HIGH/LOW

Variabel konstan HIGH dan LOW umumnya digunakan untuk menentukan kondisi pin saat membaca dan menulis data di pin digital. HIGH didefinisikan sebagai 1, ON, 5 volt, atau menyala. Sedangkan LOW didefinisikan sebagai 0, OFF, 0 volt, atau padam. Sehingga dapat dikatakan bahwa perintah untuk menyalakan/memberikan sinyal ON pada program Arduino adalah HIGH. Sedangkan perintah untuk memberikan sinyal OFF pada program Arduino adalah FALSE. Contoh penulisannya seperti ini.

digitalWrite(13, HIGH);

digitalWrite(13, LOW)

3)      INPUT/OUTPUT

Variabel konstan ini sering digunakan pada fungsi pinMode() untuk mendefinisikan pin digital. Apakah ia berperan sebagai INPUT atau OUTPUT. Contoh penggunaannya seperti pada perintah di bawah ini.

pinMode(13, OUTPUT);

6.      Perintah Pin Digital I/O

Setidaknya, ada tiga macam perintah yang biasa digunakan untuk mengatur pin digital input/output dalam pemrograman Arduino, yaitu terdiri atas:

1)      pinMode(pin, mode)

pinMode() merupakan suatu perintah yang biasa ditemukan pada block void setup(). Fungsi pinMode() pada Arduino adalah untuk memperjelas apakah suatu pin digunakan sebagai INPUT atau OUTPUT. Contoh penulisannya seperti ini.

pinMode(3, INPUT);

Keterangan:

3           = nomor pin yang ingin dikonfigurasi

INPUT = mode yang digunakan

2)      digitalRead(pin)

Penggunaan perintah ini bertujuan untuk membaca nilai pin digital yang dikehendaki lalu menyimpannya dalam suatu variabel. Berikut contoh penulisannya.

Baca = digitalRead(8);

Keterangan:

Baca = nama variabel yang menyimpan data hasil pembacaan

8       = nomor pin digital yang digunakan

3)      digitalWrite(pin, value)

digitalWrite merupakan suatu perintah untuk menuliskan suatu nilai pada pin digital. Fungsi digitalWrite() pada Arduino adalah untuk menentukan nilai logika awal pada suatu pin apakah LOW atau HIGH. Berikut contoh penulisannya.

digitalWrite(9,HIGH);

Keterangan:

9         = nomor pin digital yang digunakan

HIGH = kondisi yang diinginkan

7.      Perintah Pin Analog I/O

Berbeda dengan pin digital, pin analog hanya memiliki dua jenis perintah yang sering digunakan. Ini karena pin analog tak membutuhkan perintah penginisialisasian dengan pinMode(). Berikut ini adalah dua macam perintah pada pin analog yang sering digunakan.

1)      analogRead(pin)

Fungsi analogRead() pada Arduino yaitu untuk membaca data dari pin analog kemudian disimpan dalam suatu variabel. Dimana data hasil pembacaan tersebut berupa nilai integer dengan kisaran 0 sampai 1023. Berikut contoh penulisannya.

Baca = analogRead(A0);

Keterangan:

Baca = nama variabel tempat menampung data hasil pembacaan

A0    = nama pin analog yang digunakan (A0 sampai A6)

2)      analogWrite(pin, value)

Perintah ini berfungsi untuk mengirimkan nilai analog dengan metode PWM (Pulse Width Modulation) pada pin khusus yang berlabel PWM, yaitu pin 3, 5, 6, 9, 10, dan 11. Pin PWM biasanya ditandai dengan adanya tanda tilde (~) di depan atau di atas nama pin. Adapun untuk nilai yang biasa digunakan dalam PWM, yaitu mulai dari 0 sampai 255. Jadi, kamu bisa mengatur frekuensi PWM dari nilai tersebut. Contoh penulisan analogWrite() yang benar seperti pada contoh di bawah ini.

analogWrite(5,100);

Keterangan:

5     = nama pin analog yang digunakan

100 = nilai PWM yang digunakan

Dengan demikian perbedaan analogRead() dan analogWrite() dari segi fungsi yakni perintah analogread() untuk membaca data analog Arduino, sedangkan perintah analogWrite() untuk menuliskan data analog pada pin Arduino. Sedangkan perbedaan analogWrite() dan digitalWrite() adalah analogWrite untuk menulis data analog, sedangkan digitalWrite() untuk menulis data digital.

8.      Pengaturan Waktu (Time)

Ada tiga perintah yang biasa digunakan dalam pemrograman Arduino untuk mengatur waktu, yaitu:

1)      millis()

Fungsi milis pada Arduino yaitu menghasilkan nilai waktu dalam satuan milidetik sejak program Arduino dijalankan. Namun setelah 50 hari dijalankan, nilainya akan kembali lagi ke nol. Tipe data yang sering digunakan untuk perintah ini adalah unsigned long. Jadi, pastikan harus terlebih dahulu mendefinisikan variabel yang ingin kamu gunakan sebagai penampung nilai milis() dengan tipe data unsigned long. Format penulisannya seperti berikut ini:

variabel = millis();

Contoh program milis Arduino seperti ini.

unsigned long waktu;

void setup(){

Serial.print(“Milidetik: “);

waktu = millis();

Serial.println(waktu);

}

2)      micros()

Perintah ini berfungsi untuk menghasilkan nilai waktu dalam satuan mikrodetik sejak program mulai dijalankan. Nilai akan kembali lagi ke nol apabila telah mencapai 70 menit. Format penulisannya seperti di bawah ini:

variabel = micros();

Contoh program Arduino sederhana tentang penggunaan perintah micros() yaitu sebagai berikut:

unsigned long waktu;

void setup(){

Serial.print(“Mikrodetik : “);

waktu = micros();

Serial.println(waktu);}

3)      delay()

Fungsi delay() digunakan untuk memberikan tambahan waktu atau penundaan dalam satuan milidetik sebelum mengeksekusi program pada baris selanjutnya. Adapun untuk waktu penundaannya menyesuaikan dengan nilai yang dimasukkan ke perintah. Contohnya seperti ini:

delay(1000);

Keterangan:

Perintah tersebut berfungsi untuk memberikan jeda pada program selama 1000 milidetik atau setara dengan 1 detik.

4)      delayMicroseconds()

Sama seperti delay() tetapi delayMicroseconds() juga berfungsi untuk memberikan jeda waktu. Hanya saja, jeda yang diberikan dalam satuan mikrodetik. Dimana 1 juta mikrodetik setara dengan 1 detik. Jadi, sangat tidak disarankan menggunakan perintah ini bila ingin berpatokan pada satuan detik. Berikut contoh penulisan perintah yang benar.

delayMicrosecond(300);

Keterangan:

Perintah tersebut berfungsi untuk menjeda program selama 300 mikrodetik atau setara dengan 0,0003 detik.

9.      Komunikasi Serial

Pada dasarnya, komunikasi serial adalah komunikasi dua arah yang melibatkan transmitter dan receiver. Pada Arduino sendiri, transmitter dan receiver-nya sudah tersedia di pin Rx dan Tx maupun pada USB. Umumnya, komunikasi serial digunakan untuk menampilkan data hasil perhitungan Arduino di serial monitor. Serial monitor pada Arduino IDE yaitu suatu fasilitas untuk mengontrol dan memonitoring apa yang sedang terjadi di papan Arduino melalui komputer. Beberapa contoh perintah Arduino yang sering digunakan dalam komunikasi serial antara lain:

1)      Serial.begin()

Serial begin merupakan suatu perintah untuk mengaktifkan komunikasi serial dengan nilai baudrate atau kecepatan transmisi yakni sebesar 9600 bps .Untuk penulisan perintahnya seperti ini:

Serial.begin(9600);

2)      Serial.print()

Serial.print yaitu suatu perintah yang berfungsi untuk menampilkan data di serial monitor untuk satu baris saja. Jadi, data akan terus bermunculan hanya pada satu baris di serial monitor. Berikut ini contoh penulisan Serial.print() yang benar dalam program:

Serial.print(Tampil);

Keterangan:

Tampil adalah variabel penampung nilai yang ingin ditampilkan pada serial monitor.

3)      Serial.println()

Perintah ini kira-kira fungsinya hampir sama dengan Serial.print(). Hanya saja, data yang ditampilkan akan terus bermunculan ke bawah. Jadi data yang muncul tidak berada dalam satu baris saja, karena setiap selesai menampilkan data, secara otomatis program akan memberi perintah enter atau pindah ke baris berikutnya. Contoh penulisannya seperti berikut ini:

Serial.print(Muncul);

Keterangan:

Muncul adalah variabel penampung yang didalamnya terdapat nilai yang ingin ditampilkan di serial monitor.

1.5  Struktur Program Arduino

Berikut contoh struktur dasar program untuk arduino.

Source Code

Penjelasan

void setup() {

   pinMode(13, OUTPUT);

}

Merupakan fungsi inisialisasi bahwa pin yang digunakan merupakan pin 13 dan berperan sebagai output.

void loop() {

   digitalWrite(13, HIGH);

   delay(1000);

   digitalWrite(13, LOW);

   delay(1000);

}

Merupakan fungsi yang akan dieksekusi terus menerus secara berurutan hingga program berhenti dijalankan.

Program berjalan dengan pertama digitalWrite dengan nomor pin 13 dengan status HIGH kemudian dilanjutkan delay atau jeda waktu sebanyak 1000 milidetik atau 1 detik. Kedua digitalWrite dengan nomor pin 13 dengan status LOW kemudian dilanjutkan lagi delay atau jeda waktu sebanyak 1000 milidetik atau 1 detik.

 Sumber

https://www.aldyrazor.com/2020/07/bahasa-pemrograman-arduino.html

https://www.sinauarduino.com/artikel/mengenal-arduino-software-ide/#3

Komentar

Postingan populer dari blog ini

SIMULATOR ARDUINO DAN BREADBOARD

PUSH BUTTON DAN PULL UP & PULL DOWN RESISTOR

SENSOR ULTRASONIK PADA ARDUINO