Mengenal Bahasa C Arduino
Arduino adalah sebuah platform elektronik yang bersifat open source serta mudah di gunakan hal tersebut ditunjukan agar siapapun dapat membuat proyek interaktif dengan mudah dan menarik
mengenai dasar-dasar pemrograman untuk mikrokontroler Arduino menggunakan bahasa C yang meliputi:struktur, sintaks, variabel, operator matematik, operator perbandingan, struktur kondisi, inisialisasi I/O digital dan analog.
Struktur
Setiap skecth (program Arduino) harus memiliki dua fungsi yang disebut dengan rutin yaitu rutin setup dan rutin loop. Rutin setup akan dijalankan satu kali pada saat program Arduino dijalankan (running) dan Rutin loop akan dijalankan setelah rutin setup selesai dijalankan. Rutin loop ini akan dijalankan terus-menerus sampai dengan daya dimatikan.
Contoh rutin setup dalam bahasa C
void setup ()
{
/*disini kita dapat menentukan pengaturan yang akan di gunakan*/
}
Void loop ()
{
//program Arduino diletakan disini
}
Contoh rutin setup dan rutin loop dalam sketch
Void setup() {
pinMode(13, OUTPUT);
}
Void loop(){
digitalWrite(13, HIGH);
delay(1000);
degitalWrite(13, LOW);
delay(1000);
}
Komentar
Komentar bersifat opsional namun sangat bermanfaat untuk memperjelas setiap baris instruksi yang dibuat bagi programmer dan sangat bermanfaat pada saat maintenance program sehingga programmer dapat dengan mudah mencari prosedur ataupun baris data yang diperlukan.
Untuk komentar satu baris dapat digunakan simbol “//” (dua buah garis miring), sedangkan untuk komentar yang lebih dari satu baris (multi line comment) dapat diawali dengan simbol “/*” (garis miring dan bintang) dan diakhiri dengan simbol “/” (bintang dan garis miring).
Catatan: Setiap tulisan yang dibuat setelah simbol “//” dan setiap tulisan yang berada diantara simbol “ /* dan “*/” akan diabaikan oleh program (tidak akan dieksekusi).
Curly Bracket
Simbol “{” dan “}” (bracket) digunakan untuk menentukan awal dan akhir dari sebuah blok kode program. Simbol ini biasanya digunakan pada fungsi dan juga loop.
Semicolon
Simbol “;” (titik koma) digunakan untuk mengakhiri setiap baris program. Setiap instruksi harus diakhiri dengan titik koma, sehingga tidak adanya simbol ini dapat menyebabkan gagalnya proses kompilasi program.
Variabel
Variabel digunakan untuk menyimpan atau memindahkan angka maupun karakter didalam program. Variabel merupakan sebuah cara untuk menamai dan menyimpan sebuah nilai yang akan digunakan pada program, seperti data dari sensor atau sebuah nilai sementara pada sebuah perhitungan. Sebelum variabel digunakan, variabel harus dideklarasikan terlebih dahulu. Mendeklarasikan sebuah variabel berarti mendefinisikan tipe variabel dan mungkin saja dapat juga memberikan inisialisasi nilai pada variabel tersebut. Variabel tidak harus di berikan inisialisasi nilai ketika dideklarasikan tapi hal tersebut juga sering berguna jika dilakukan.
Seorang programmer harus mempertimbangkan rentang nilai tipe variabel sebelum menyimpan sebuah nilai. Pada variabel akan terjadi roll over ketika nilai yang disimpan melebihi rentang nilaj yang diberikan untuk menyimpan pada tipe data tersebut. Ketika terjadi roll over maka variabel akan kembali ke kapasitas minimum variabel dari rentang yang ada (hal ini terjadi pada kedua arah).
Catatan penting untuk pemberian nama variabel adalah kita dapat memberikan nama variabel sesuai keinginan kita, namun hindari pemberian nama variabel diawali dengan angka dan hindari keyword (kata kunci) yang digunakan oleh Arduino.
Variabel dalam bahasa C yang digunakan Arduino memiliki properti yang disebut dengan scope. Hal ini tentu sangat berbeda dengan bahasa BASIC, karena semua variabelnya adalah variabel global.
Variabel global adalah variabel yang dapat digunakan oleh semua fungsi di dalam program. Variabel lokal adalah variabel yang hanya dapat digunakan di dalam suatu fungsi tempat variabel tersebut dideklarasikan. Dalam ruang lingkup Arduino, semua variabel yang dideklarasikan di luar suatu fungsi (misalnya setup(), loop() dan fungsi-fungsi lainnya) adalah variabel global. Ketika program semakin besar dan kompleks, maka variabel lokal sangat bermanfaat karena variabel lokal pasti hanya dapat diakses oleh satu fungsi yang memilikinya. Hal tersebut mencegah kesalahan pada pemrograman yang dikarenakan suatu fungsi mengubah isi atau nilai dari suatu variabel yang digunakan oleh fungsi yang lain.
Tipe Data
Beberapa contoh tipe data pada pemrograman bahasa C yang digunakan untuk Arduino adalah sebagai berikut
- int (integer): tipe data ini memiliki rentang nilai antara -32.786 sampai dengan +32.768. tipe data ini menghabiskan 2 byte (16bit) dari RAM.
- long : tipe data ini digunakan ketika terdapat varibel yang tidak dapat diakomodasi oleh tipe data integer. Tipe data ini tipe data ini menghabiskan 4 byte (32bit) dari RAM dengan rentang nilai antara -2,147,483,648 sampai dengan 2,147,483,648.
- boolean: tipe data sederhana dengan nilai True dan False. Tipe data ini menghabiskan 1 bit dari RAM.
- float: tipe data ini digunakan untuk bilangan floating point. Tipe data ini tipe data ini menghabiskan 4 byte (32bit) dari RAM dengan rentang nilai antara -3.4028235E+38 sampai dengan 3.4028235E+38.
- char: tipe data karakter menggunakan kode ASCII misalnya ‘A’ = 65. Tipe data ini menghabiskan 1 byte RAM. Arduino dapat menangani string sebagai array karakter.
Operator
Terdapat dua jenis operator pada Arduino, yaitu operator matematik yang digunakan untuk operasi matematik dan operator pembanding yang biasanya digunakan pada operasi percabangan untuk membanding-kan dua nilai atau variabel.
- Operator Matematik
Operator matematik digunakan untuk memanipulasi angka
- Operator Pembanding
Operator pembanding digunakan untuk operasi logika perbandinganantara dua nilai atau antara dua variabel
- Bitwise Operator
Bitwise operator digunakan untuk melakukan kalkulasi variabel pada level bit
- Operator Boolean
Operator Boolean dapat digunakan untuk kondisi di dalam statement pereabangan IF
Struktur Kondisi
- Struktur Kondisi If
Pada struktur kondisi ini akan dilakukan pemeriksaan kondisi. Pernyataan ke-1 akan dieksekusi jika kondisi pertama terpenuhi (true), jika kondisi pertama tidak terpenuhi (false) maka baris pernyataan akan dilewati dan keluar dari struktur kondisi IF. - Struktur Kondisi If-Else
Pada struktur kondisi ini akan dilakukan pemeriksaan kondisi dimulai dari kondisi ke-1 sampai dengan else. Pernyataan ke-1 akan dieksekusi jika kondisi pertama terpenuhi (true), jika kondisi pertama tidak terpenuhi (false) maka pernyataan ke-2 akan dieksekusi - Struktur Kondisi If-Else IF-Else
Pada struktur kondisi ini akan dilakukan pemeriksaan kondisi dimulai dari kondisi ke-1 sampai terakhir. Pernyataan ke-1 akan dieksekusi jika kondisi pertama terpenuhi (true), jika kondisi ke-1 tidak terpenuhi (false) maka kondisi ke-2 akan diperiksa. Jika kondisi ke-2 terpenuhi (true) maka pernyataan 2 akan dieksekusi. Jika kondisi ke-1 dan ke-2 tidak dieksekusi maka pernyataan ke-3 akan dieksekusi. - Struktur Kondisi Switch Case
Struktur kondisi switch case mengijinkan kita untuk memilih salah satu dari beberapa pilihan diskrit berikut ini struktur kondisi switch case:
switch (variabel_yang_diperiksa){
case kondisi1 : peryataan-1; break;
case kondisi2 : peryataan-2; break;
.
.
.
case kondisi-n : peryataan-n; break;
Pada struktur kondisi di atas terdapat kata “variabel | yang diperiksa” yang berarti pada bagian itu adalah tempat untuk menempatkan variabel yang akan diperiksa. Kata “kondisii” sampai dengan “kondisi-n” berarti kondisi yang digunakan untuk membandingkan apakah “variabel yang diperiksa sama dengan kondisit, jika ya maka pernyataani akan dieksekusi dan dan kemudian instruksi “break” berarti setelah mengeksekusi statementi akan keluar dari struktur kondisi switch case. Jika variabel tidak memenuhi kondisi1 maka selanjutnya variabel yang diperiksa akan dibandingkan kembali dengan kondisi2, jika tidak sama maka akan dibandingkan dengan kondisi selanjutnya sampai dengan kondisi-n
Perulangan
Perulangan digunakan untuk mengulang satu pernyataan atau beberapa pernyataan yang terdapat di dalam blok perulangan selama kondisi yang diberikan dalam ekspresinya terpenuhi. Pada bagian ini akan dibahas perulangan menggunakan perulangan For dan perulangan While.
- Perulangan For
Perulangan for digunakan untuk mengulang suatu blok pernyataan yang berada didalam blok perulangan. Counter penjumlah biasanya digunakan untuk meng-increment-kan dan menghentikan perulangan. Pernyataan for sangat berguna untuk operasi yang berulang dan sering digunakan dalam kombinasi terkait array untuk mengoperasikan kumpulan data ataupun pin. Bagian inisialisasi akan diekseskusi sekali dan pertama kali. Setiap kali masuk kedalam perulangan maka kondisi akan di tes, jika true maka statement akan dieksekusi kemudian bagian increment akan dieksekusi, selanjutnya kembali pada bagian tes kondisi. Ketika kondisi false maka perulangan berakhir - Perulangan While
Perulangan while biasanya digunakan untuk perulangan yang terus berulang tanpa henti sampai dengan ekspresi yang berada di dalam bagian kondisi menjadi false
Referensi
Buku APLIKASI ARDUINO dan SENSOR oleh Mochamad Fajar Wicaksono (2019)