Untuk melakukan pemrograman komputer pada arduino, anda harus memahami tentang konsep dan cara kerja penyusunan dan penulisan kode program arduino. Bahasa pemrograman yang digunakan pada arduino menggunakan Bahasa pemrograman C.Struktur penulisan Bahasa pemrograman C mempunyai Bagian-Bagian Sebagai Berikut.
1. Header
Header merupakan definisi File Header yang disertakan dalam program sebagai file library sebagai rujukan setiap fungsi dan syntax yan sering digunakan dalam badan kode Program C, Contohnya sebagai Berikut
2. Deklarasi
Deklarasi berfungsi untuk menetapkan daftar variabel maupun konstanta yang akan digunakan dalam badan program.Variabel adallah Nama yang digunakan untuk menyimpan sebuah Nilai yang dapat diatur besaranya Selama program di eksekusi.Sementara Itu, Konstanta memilki Nilai yang tetap (Konstan).Contohnya Sebagai berikut
3. Komentar
Komentar merupakan tambahan baris penjelasan dalam kode bahasa programan C.
Tujuannya memberikan keterangan tentang penggunaan kode, tetapi tidak di eksekusi oleh program, komentar single line menggunakan kode //, sedangkan komentar lebih dari satu baris menggunakan kode /*….*/.
Contoh kode bahasa pemrograman C adallah sebagai berikut.
/*program hitung luas persegi panjang*/
#Include <stdio.h>
#include <conio.h>
Void mani()
{
Float luas;
Int panjang,
lebar;
Printif
(“Nilai panjang =”);
Scanf
(“%d”,&lebar);
Luas =
panjang * lebar ;
Printf(“luas
persegi panjang adallah = %f”,luas)
}
|
Karena arduino menggunakan bahasa pemrograman C, Maka tata cara penggunaan kode, serta penyusunan dan penulisanya juga mengikuti prosedur standar penulisan syntax bahasa C sebagai Berikut.:
1. Struktur penulisan
Setiap penulisan kode program arduino atau yang lebih dikenal nama sketch harus memiliki dua buah fungsi antara lain sebagai berikut .
a. Void Setup (){}
Pada bagian ini,kode penulisan program diletakan dinatara dua kurung kurawal.Baris kode dalam kurung kurawal hanya di eksekusi sekali pada saat arduino start
b. Void loop (){}
Baris kode dalam bagian Loop akan dieksekusi setelah program menjalankan Void setup. Fungsi Loop akan selalu dijalankan oleh arduino selama sumber tegangan masih tersambung.
2. Aturan penulisan
a. Komentar satu baris menggunakan kode //.
b. Komentar satu lebih satu baris menggunakan kode /*….*/.
c. Badan program selalu diletakan dalam kurung kurawal {…..}
d. Setiap akhir baris penulisan baris kode program selalu diakhiri dengan tanda titik koma (;).
3. Variabel
Variabel merupakan nama buatan yang diberikan untuk menyimpan Nilai secara sementara yang pada nilai tersebut dapat berubah berubah sesuai alur programnya .
4. Tipe data
Tipe data merupakan satuan besaran data yang dapat dideklarasikan pada variabel. Contohya sebagai berikut .
a. Byte, memerlukan memory penyimpanan sebesar 8 bit atau 1 byte dengan nilai 0-255
b. Int (integer),memerlukan memory penyimpanan sebesar 2 byte dengan kisaran desmila antara -32.768 hingga 32.767
c. Long,memerlukan 4 byte memory dan mempunyai rentang nilai dari -2.147.483.648 hingga 2.147.483.647
d. Boolean, merupakan tipe data yang hanya memiliki dua kemungkinan, yaitu true dan false, sehingga hanya memerlukan 1 bit memory ram .
e. Float, digunakan untuk menanmpung data bertipe desimal (floating Point ) sebesar 4 byte dengan rentang nilai -3.4028235E +38 sampai 3.4028235E+38
f. Array, Merupakan deretan nilai dalam sebuah variabel yang dapat di akses berdasarkan indeksnya. Contohnya ;
Int x[ ] = (1,2,3,4);
Y = x[1]
|
g.
Char, tipe data yang hanya mampu menyimpan sebuah karakter berdasarkan kode ASCII.Contohnya karakter “B” memliki kode ASCII 66. Besar memori yang diperlukan adallah 1 byte
5. Operas Aritmatika
Operasi aritmatika adallah operasi yang dilakukan pada data bertipe numerik.
Operator
|
Fungsi
|
+
|
Penjumlahan
|
_
|
Pengurangan
|
*
|
Perkalian
|
/
|
Pembagian
|
%
|
Operator pembagian yang
menghasilkan keluaran berupa sisa hasil bagi sebagai contoh 10%3,maka
menghasilkan nilai 1
|
6. Compound Assigment
Compound Assigment merupakan salah satu teknik kombinasi operator aritmatika dengan Variabel, yang serin diterapkan pada sistem perulangan. Contohnya adallah sebagai berikut.
• Z++; // memiliki kesamaan operasi z= z+1
• Z--; // memiliki kesamaan operasi z= z-1
• Z-= a; // memiliki kesamaan operasi z= z - a
• Z+= a // memiliki kesamaan operasi z= z + a
• Z*= a // memiliki kesamaan operasi z= z * a
• Z/= a // memiliki kesamaan operasi z= z / a
7. Operasi perbandingan
Merupakan merupakan Operasi yang dilakukan untuk membandingkan sebuah logika atau beberapa logika yang keluaranya adallah tipe data boolean.
Operator
|
Fungsi
|
==
|
Sama dengan
|
!=
|
Tidak sama dengam
|
<
|
Lebih kecil dari
|
>
|
Lebih besar dari
|
<=
|
Lebih kecil sama dengan
|
>=
|
Lebih besar sama dengan
|
8. Operasi logika
Operasi logika merupakan operasi yang dilakukan untuk membandingkan dua atau lebih ekspresi. Keluaran yang dihasilkan dapat bernilai True Or false. Dalam Arduino, ada tiga jenis Operator Logika, anatra lain sebagai berikut
• &&
Operator AND akan bernilai True jika berdua Operand-nya bernilai true
• II
Operator OR akan bernilai True jika salah satu Operand-nya bernilai True.
• !
Operator NOT akan menghasilkan kebalikan dari nilai Inputan-nya.
9. Operasi Seleksi
Dalam pemrograman arduino dikenal konsep Operator seleksi menggunakan If then sama seperti bahasa pemrograman lain.
a. Seleksi satu kondisi
Jika sebuah kondisi menggunakan Operasi Logika menghasilkan nilai true,baris kode program yang berada dibagian dalam kurung kurawal {…..}
Akan dieksekusi .namun jika bernilai false, akan diabaikan. Seleksi satu kondisi if…then menggunakan format sebagai berikut
If (kondisi)
{
// baris kode program
}
|
b. Seleksi banyak kondisi
Jika kondisi 1 bernilai true, akan mengerjakan “baris kode program ke-1”.namun jika bernilai false, seleksi akan dilanjutkan ke operasi logika 2. Jika bernilai true, program akan mengerjakan “kode baris program ke -2”.Namun jika bernilai false, akan mengerjakan “baris kode program ke -n”.susunan if…then…else dapat dilihat sebagai berikut
If (kondisi)
{
//baris kode program ke-1
}
else if (kondisi 2)
{
// baris kode program ke-2
}
Else
{
// baris kode program ke -n
}
|
c. Seleksi bersarang
Seleksi bersarang merupakan bentuk seleksi. Artinya didalam percabangan terdapat cabang lagi
10. Operasi Perulangan
a. Perulangan dengan for
Operasi perulangan dengan for dilakukan secara terbatas dengan nilai awalan dan maksimal banyaknya pengulangan yang telah ditentukan. Penulisan struktur perulangan for adallah sebagai berikut.
For(inisialisasi;
syarat perulangan;nilai pengubah)
{
//baris kode program
}
|
Sebagai contoh
For(i=0; I<=255; i++)
{
AnalogWrite(PWMpin,i);
}
|
b. Perulangan dengan while
Perulangan dengan while akan terjadi selama ekspressi(kondisi)bernilai true.format penulisan perulangan while adallah sebagai berikut.
While (kondisi)
{
//baris kode program;
}
|
c. Perulangan dengan DO.. dan while…
Perulangan dengan do..while minimal terjadi satu kali, karena pada awal looping, program tidak memriksa nilai kondisi benar atau salah. Perulangan akan terus berlangsung selama kondisi dalam while bernilai benar.
Do
{
// baris kode program;
}
While(kondisi)
|
11. Input Output
a. pinMode(no_pin,mode)
fungsi ini sering dipakai pada void Setup () untuk menentukan konfigurasi sebuah pin sebagai input atau Ouput, contohnya sebagai berikut.
b. digitalRead(no_pin)
fungsi ini dapat digunakan untuk membaca nilai sebuah pin sebagai sebuah maksukan. Jika bernilai high,memperoleh tegangan 5V. Namun, jika bernilai low, akan menjadi jalur ground. Contohnya sebagai berikut.
c. digitalWrite(no_pin, Nilai)
fungsi ini dapat diterapkan pada pin digital dari 0-13 dengan nilai high atau low. Contohnya sebagai berikut
d. analogRead(no_pin)
fungsi ini dapat dipakai untuk mengkonfigurasi pin analog dari A0-A5 dengan Output berupa angka 0 (Refleks tegangan 0 V) hingga angka 1023 (tegangan5 V ).Contohnya sebagai berikut
analogRead (A0); artinya kode ini akan
membaca nilai sensor pada pin A0
|
e. analogWrite(no_pin, Nilai)
fungsi ini digunakan untuk men-setting nilai pada pin analog.Contohnya sebagai berikut.
analogWrite(3, 100); // artinya pin 3 diberikan nilai sebesar 100
|
f. delay(t)
fungsi ini diberikan untuk jeda waktu (biasanya digunakan untuk memberhentikan program selama waktu tertentu (t) dalam satuan Millisecond.Contohnya sebagai berikut.
g. millis()
millis berfungsi untuk mengembalikan nilai waktu dalam satuan millisecond (1 detik= 1.000 ms) dalam sebuah variabel bertipe data long. Contohnya sebagai berikut
h. max(a,b)
fungsi ini digunakan untuk membandingkan dua nilai data dalam dua variabel a dan b dengan hasil keluarannya adallah nilai variabel yang terbesar contohnya sebagai berikut.
i. min(a,b)
min (a,b) digunakan untuk membandingkan dua nilai data dalam dua variabel a dan b dengan hasil keluaranya yang paling kecil. Contohnya sebagai berikut.