Lompat ke konten Lompat ke sidebar Lompat ke footer

Belajar Bahasa Pemrograman Arduino Dasar Untuk Pemula

bahasa pemrograman arduino

Pemahaman terhadap bahasa pemrograman Arduino adalah sesuatu yang wajib dikuasai oleh para pemula, jika ingin mahir Arduino. Sebab itu adalah bagian paling dasar agar kamu bisa menggunakan software Arduino IDE.

Ketidaktahuan terhadap pemrograman mikrokontroler Arduino dikhawatirkan bisa menimbulkan berbagai macam kesalahan dalam penulisan program.

Hal ini tentu akan membuat rangkaian tak berjalan dengan baik.

Apakah kamu termasuk orang yang sudah paham bahasa Arduino? Jika tidak, maka hari ini kamu sangat beruntung karena telah menemukan artikel ini.

Karena di artikel ini saya akan menjelaskan kepada kamu, selaku teman baik saya, tentang bahasa pemrograman Arduino secara lengkap.

Baik itu pemahaman dasarnya, maupun cara menuliskan program Arduino yang benar.

Untuk daftar materi yang akan dibahas, bisa kamu lihat pada daftar berikut.


Pengenalan Pemrograman Bahasa C Arduino

Pemrograman pada Arduino menggunakan bahasa C. Yaitu bahasa tingkat tinggi yang sangat populer dan banyak digunakan para programmer profesional.

Untuk beberapa aplikasi pemrograman, biasanya menyebut hasil kodingan dengan istilah script, listing, atau program.

Nah, untuk Arduino IDE sendiri sebutannya bukan itu, melainkan “sketch”, yang apabila diterjemahkan ke bahasa Indonesia berarti “sketsa”.

Sampai disini kamu sudah tahu kan apa yang dimaksud dengan sketch pada Arduino IDE?

Kak, bagaimana tahapan sehingga suatu program bisa dijalankan pada Arduino?

Secara umum, ada tiga tahapan yang harus kamu lakukan hingga program atau sketch-mu bisa dijalankan di Arduino. Tahapan tersebut antara lain:
  • Menulis program
  • Meng-compile program
  • Meng-upload program
Singkatnya, suatu program bisa dijalankan pada papan sirkuit Arduino ketika telah selesai ditulis, di-compile, dan di-upload ke papan Arduino dengan menggunakan software Arduino IDE.


Struktur Dasar Program Arduino

Struktur program Arduino sangatlah sederhana. Hanya terdiri atas dua fungsi utama, yaitu void setup() dan void loop().

Berikut contoh sketch void setup() dan void loop() sederhana, yang bisa jadi acuan untukmu.
void setup( )
{
  pernyataan;
}

void loop( )
{
  pernyataan;
Kedua fungsi tersebut memiliki keterkaitan satu sama lain. Apabila salah satu fungsi tak terdapat di sketch, maka kemungkinan besar sketch-mu akan error.

Jadi, pastikan untuk menulis kedua fungsi tersebut meskipun salah satunya tak digunakan atau tak memiliki pernyataan di dalamnya.

Mari kita bahas lebih dalam tentang perbedaan fungsi void setup() dan void loop() pada pemrograman Arduino.

1. void setup()

Fungsi ini berperan 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.

2. 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.

Jadi void baru ini nantinya bisa diletakkan setelah atau sebelum void loop().

Secara sederhana, struktur dasar dari pemrograman Arduino bisa digambarkan dengan ilustrasi berikut.

struktur dasar program arduino

Nah, pertanyaan selanjutnya adalah bagaimana membuat sub program atau membuat void baru di arduino IDE?

Caranya sangat mudah, format penulisannya hampir sama dengan void setup() dan void loop(). Hanya saja, nama void dan isi perintahnya saja yang berbeda. Selebihnya semua sama.

Syntax Arduino

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 dalam pemrograman Arduino 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. Contohnya 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 */

Tipe Data Bahasa C Arduino

Berikut ini adalah tabel jenis tipe data yang sering digunakan dalam pemrograman 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 dalam program sangatlah mudah. Kamu hanya perlu menempatkannya di depan variabel yang ingin kamu deklarasikan dengan diantarai satu spasi.

Misalkan kamu 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.

Variabel Arduino

Variabel dalam pemrograman 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 kamu ingin mendefinisikan nilai pin 2 dengan variabel “ganteng” dan menggunakan tipe data integer. Maka contoh penulisannya yaitu:
int ganteng = 2;

Nilai Konstan Dalam Pemrograman Arduino

Pada dasarnya, Arduino telah memiliki beberapa variabel yang telah memiliki nilai yang disebut sebagai konstan.

Karena nilainya sudah ditentukan, jadi tak perlu lagi didefinisikan di awal. Berikut ini adalah macam-macam nilai konstan yang perlu kamu tahu:

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.

Bila ada yang bertanya tentang pengertian HIGH dan LOW pada Arduino? Kira-kira penjelasan seperti ini:

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);


Perintah Pin Digital I/O Arduino

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

1. pinMode(pin, mode)

Apa itu pinMode()? Yaitu 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)

Apa itu digitalWrite pada Arduino? yaitu suatu perintah untuk menuliskan suatu nilai pada pin digital.

Lengkapnya, fungsi digitalWrite() pada Arduino adalah untuk menentukan nilai logika awal pada suatu pin. Apakah ia LOW atau HIGH. Lihat contoh penulisannya di bawah ini.
digitalWrite(9,HIGH);
Keterangan:

9         = nomor pin digital yang digunakan
HIGH = kondisi yang diinginkan


Perintah Pin Analog I/O Arduino

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

Dari dua perintah tersebut, tentu kamu sudah bisa mengidentifikasi perbedaan analogRead() dan analogWrite() dari segi fungsi.

Perintah analogread() untuk membaca data analog Arduino, sedangkan perintah analogWrite() untuk menuliskan data analog pada pin Arduino.

Terkadang ada juga yang bingung tentang perbedaan analogWrite() dan digitalWrite(). Jadi, analogWrite itu untuk menulis data analog, sedangkan digitalWrite() untuk menulis data digital. Iya, sesimpel itu.

Pengujian Kondisi dalam Percabangan Program Arduino

Agar tak salah dalam mengeksekusi perintah, program Arduino butuh yang namanya pengujian kondisi.

Ini sangat penting ketika program berada dalam kondisi percabangan yang mengharuskannya memilih salah satu diantara beberapa pilihan.

Pengujian kondisi merupakan perintah yang berfungsi memilih satu pernyataan yang paling benar dari beberapa pilihan pernyataan berdasarkan kriteria penilaian tertentu.

Beberapa pengujian kondisi yang umumnya sering digunakan antara lain:

1. if

Perintah ini digunakan apabila hanya ada satu pernyataan yang ingin dieksekusi. Jadi apabila kondisinya memenuhi maka pernyataan akan dieksekusi.

Dan jika tak memenuhi maka pernyataan tak dieksekusi. Format penulisan perintahnya sebagai berikut:
if(kondisi){
pernyataan/perintah;
}
Contohnya seperti ini:
if(x==6) {
a=a+5;
}

2. if ... else

Berbeda dengan if, perintah if ... else digunakan apabila ada dua pilihan pernyataan yang ingin dieksekusi.

Apabila kondisinya terpenuhi, maka perintah yang ada di dalam if akan dieksekusi. Dan jika tidak, maka pernyataan di dalam else-lah yang akan dieksekusi. Bentuk format penulisannya yaitu:
if(kondisi){
pernyataan / perintah 1
}
else {
pernyataan / perintah 2
}
Contoh program if else bisa kamu lihat di bawah ini:
if(x==1) {
a=1;
}
else {
a=0;
}

3. if ... else if

Perbedaan perintah if ... else if dengan perintah if lainnya yaitu dapat melakukan pengujian lebih dari satu kondisi.

Itulah alasan mengapa perintah ini sering kali disebut dengan perintah if bertingkat Arduino. Contoh format penulisannya yaitu seperti di bawah ini:
if(kondisi1){
pernyataan / perintah 1
}
else if(kondisi2){
pernyataan / perintah 2
}
else if(kondisi ke-n){
pernyataan / perintah ke-n
}
Contohnya seperti ini:
if(x==1) {
a=1;
}
else if(x==2){
a=2;
}
else if(x==3){
a=3;
}

4. switch case

Perintah ini digunakan untuk memilih pernyataan yang benar berdasarkan kondisi yang ada. Berbeda dengan perintah if, perintah switch case menggunakan nilai variabel untuk pengujiannya.

Apabila nilai variabel memenuhi syarat salah satu dari case, maka ia akan mengeksekusi pernyataan di dalam case tersebut.

Dan apabila tak ada nilai variabel yang cocok dari salah satu case, maka secara otomatis yang dieksekusi adalah pernyataan/perintah default.

Struktur penulisan switch case pada Arduino IDE yaitu sebagai berikut:
switch(variabel){
case 1 : pernyataan/perintah 1
break;
case 2 : pernyataan/perintah 2
break;
case n : pernyataan/perintah n
break;
default : pernyataan/perintah default
}
Contoh percabangan switch case bisa kamu lihat di bawah ini:
switch(a){
case 1 : digitalWrite(pin1,HIGH)
break;
case 2 : digitalWrite(pin2,HIGH)
break;
case 3 : digitalWrite(pin3,HIGH)
break;
default : digitalWrite(pin4,LOW)
}

Perulangan dalam Pemrograman Arduino

Dalam program Arduino juga sering dikenal ada istilah perulangan. Yaitu suatu perintah yang memungkinkan kita untuk mengeksekusi suatu pernyataan berdasarkan acuan nilai yang mengalami perulangan.

Beberapa contoh perintah coding pengulangan Arduino yang biasa digunakan antara lain:

1. while()

Perintah ini memungkinkanmu untuk membuat perulangan yang tak terbatas selama kondisi dalam while benar. Format penulisannya seperti ini:
while(kondisi){
//pernyataan/perintah
}
Contohnya seperti ini:
while(a<100){
a++;
}
Keterangan:

Program akan terus melakukan perulangan hingga nilai a mencapai angka 100.

2. do ... while()

Perintah ini berfungsi untuk mengeksekusi suatu pernyataan atau perintah lalu melihat kondisi di dalam while.

Apabila kondisinya sesuai maka pernyataan akan dieksekusi kembali. Dan jika tidak maka pernyataan tak akan dieksekusi. Format penulisannya yaitu:
do{
pernyataan/perintah
}
while(kondisi);
Contoh program do while Arduino seperti ini:
do{
a++;
}
while(a<100);
Keterangan:

Perulangan pertambahan nilai a dengan 1 akan terus berlangsung hingga nilai a mencapai angka 100.

3. for()

Fungsi for pada Arduino yaitu untuk melakukan perulangan yang sifatnya terbatas. Dalam perintah for wajib disertakan nilai awal, kondisi, dan penambahan (increment) atau pengurangan (decrement).

Untuk pengulangan yang merubah nilai awal ke angka yang lebih besar, menggunakan operator ++.

Sedangkan untuk mengubah nilainya ke angka yang lebih kecil, maka menggunakan operator --. Berikut format penulisannya yaitu:
for(nilai awal; kondisi; penambahan/pengurangan){
pernyataan/perintah;
}
Contohnya seperti ini :
for(a=0;a<=100;a++){
Serial.println(a);
}
Keterangan:

Hasil program tersebut akan menampilkan nilai a dari 0 sampai 100.

4. goto

Perintah ini biasanya digunakan untuk melompat secara langsung atau menuju perintah yang telah diberi label. Format penulisan perintah yang telah dilabeli seperti ini.
Nama label: perintah/pernyataan
Dan untuk memanggil atau menjalankan perintah di label menggunakan perintah ini.
goto nama label;
Misalkan saya ingin membuat perintah menyalakan lampu di pin 1 dengan nama label “nyala”, maka kamu harus mengetikkan perintah ini.
nyala: digitalWrite(pin 1, HIGH);
Sedangkan untuk pemanggilannya menggunakan perintah ini.
goto nyala;

5. return

Fungsi return pada Arduino adalah untuk memberikan nilai balik dari suatu fungsi. Lihat contohnya di bawah ini:
int data(){
if(analogRead(A0)>100){
return 1;
else
return 0;
}
}

6. continue

Perintah continue umumnya digunakan untuk melewati perulangan yang tersisa dari struktur looping. Baik itu do, for, maupun while.

Berikut ini adalah contoh penggunaan perintah continue pada perulangan for.
for(nilai awal; kondisi; penambahan/pengurangan){
pernyataan/perintah 1
if(kondisi 2){
continue;
}
pernyataan/perintah 2
}
Contoh program bahasa C Arduino tentang continue bisa kamu lihat di bawah ini:
for(b=1,; b<=10; b++){
digitalWrite(pin 1, HIGH);
if(b==5){
continue;
}
digitalWrite(pin 2, HIGH);
delay(100);
}
Keterangan:

Pada saat program dijalankan, maka nilai b yang awalnya 1 akan terus bertambah hingga mencapai angka 10.

Tetapi pada saat nilai b mencapai 5, maka kode program yang ada di bawah continue; akan dilewati dan akhirnya berlanjut ke perulangan 6. Begitu seterusnya.

7. break

Sederhananya, break adalah perintah khusus yang digunakan untuk memaksa sebuah perulangan berhenti sebelum waktunya. Baik itu dalam perulangan for, while, maupun do ... while.

Sehingga dapat dikatakan bahwa penggunaan perintah break adalah salah satu cara menghentikan looping Arduino. Berikut contoh format penulisan perintah break benar.
for(nilai awal; kondisi; penambahan/pengurangan){
pernyataan/perintah
if(kondisi 2){
break;
}
}
Contoh programnya seperti ini:
for(c=1,; c<=10; c++){
digitalWrite(pin 1, HIGH);
if(c==8){
break;
}
}
Keterangan:

Saat program di atas dijalankan, maka nilai c yang awalnya 1 akan terus bertambah hingga mencapai angka 10.

Tetapi pada saat nilai c mencapai 8, program akan berhenti secara otomatis.

Jadi kalau ada yang bertanya bagaimana cara stop program Arduino? maka inilah caranya. Yaitu menggunakan perintah break.

Format Ekspresi Bilangan Arduino

Dalam pemrograman Arduino, suatu bilangan dapat diekspresikan dalam beberapa format, yaitu sebagai berikut:

1. Biner

Biasanya ditulis dengan awalan huruf ‘0b’. Contoh: 0b11110010

2. Desimal

Biasa ditulis tanpa awalan. Contoh: 435

3. Oktal

Umumnya ditulis dengan awalan ‘0’. Contoh: 0753

4. Heksadesimal

Biasanya diawali dengan ‘0x’. Contoh: 0x5A


Pengaturan Waktu (Time) Arduino

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

1. millis()

Perintah ini digunakan untuk 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 kamu mendefinisikan variabel yang ingin kamu gunakan sebagai penampung nilai milis() dengan tipe data unsigned long. Format penulisannya seperti berikut ini:
variabel = millis();
Contoh programnya 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()

Apa fungsi delay pada Arduino IDE? Yaitu 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 poin sebelumnya, perintah ini 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.

Operator Aritmetika Arduino

Bagi orang yang masih pemula, kadang kesulitan untuk memasukkan rumus ke dalam program Arduino.

Padahal memasukkan rumus tak sesulit yang dibayangkan. Karena operator yang digunakan hampir sama dengan operator yang sering kita gunakan pada rumus matematika pada umumnya.

Berikut ini adalah tabel tentang jenis operator yang sering digunakan dalam penulisan rumus pada program Arduino.

Operator Keterangan
= Pemberian nilai
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Sisa Bagian

Sekarang muncul pertanyaan. Bagaimana cara menuliskan rumus di program Arduino? Caranya simpel kok.

Kamu hanya harus paham operator aritmetika dan fungsi variabel.

Dalam pemrograman Arduino, suatu rumus yang dituliskan harus mempunyai variabel penampung. Gunanya untuk menampung nilai hasil perhitungan rumus tadi. Cara penulisannya yaitu:
Variabel penampung = rumus dan variabel bernilai/nilai konstan;
Misalkan kamu ingin menuliskan rumus luas persegi panjang di program Arduino, maka bentuk perintahnya sebagai berikut:
luasPersegiPanjang = panjang*lebar;
Keterangan:

luasPersegiPanjang  = nama variabel penampung
panjang                     = variabel yang memiliki nilai panjang
luas                           = variabel yang memiliki nilai luas

Akar di Arduino

Untuk mencari nilai akar kuadrat dari suatu bilangan, kamu bisa menggunakan perintah sqrt(). Bentuk format penulisannya yaitu:
variabel penampung hasil= sqrt(bilangan); 

Pangkat di Arduino

Dalam pemrograman Arduino, kamu juga bisa mencari nilai pangkat dari suatu bilangan. Dalam hal ini kamu bisa menggunakan fungsi pow(). Bentuk penulisannya yaitu:
variabel penampung hasil = pow(bilangan, pangkat);

Operator Perbandingan Arduino

Dalam pemrograman Arduino juga terdapat operator perbandingan. Yaitu operator yang fungsinya membandingkan dua variabel dan akan bernilai 1 atau TRUE jika kondisinya terpenuhi.

Beberapa operator perbandingan yang biasa digunakan antara lain:

Operator Keterangan
== Persamaan. Jike kedua nilai yang dibandingkan sama maka hasilnya TRUE
!= Pertidaksamaan. Jika kedua nilai yang dibandingkan tidak sama maka hasilnya FALSE
> Lebih Besar
< Lebih Kecil
>= Lebih Besar atau Sama Dengan
<= Lebih Kecil atau Sama Dengan

Operator Boolean di Arduino

Untuk kamu yang belum paham apa itu boolean, jadi boolean itu adalah sejenis tipe data yang hanya memiliki dua nilai. Yaitu benar atau salah, 1 atau 0, serta TRUE atau FALSE.

Tergantung jenis nilai mana yang digunakan.

Namun kadang juga operator boolean ini digunakan untuk membandingkan atau memanipulasi nilai dalam suatu variabel.

Beberapa operator boolean yang sering digunakan yaitu:

Operator Keterangan
&& AND
|| OR
! NOT

Operator Bitwise di Arduino

Operator bitwise adalah operator yang digunakan untuk memanipulasi data bertipe bit dari tipe data integer atau byte. Macam-macam operator bitwise yang umum digunakan yaitu:

Operator Keterangan
<< Geser Kiri
>> Geser Kanan
& AND
| OR
^ XOR
~ NOT


Perintah Gabungan Dalam Pemrograman Arduino

Dalam pemrograman Arduino ada juga yang disebut perintah gabungan. Yaitu perintah yang penulisannya dipersingkat agar bisa lebih simpel dalam penulisannya.

Berikut ini adalah beberapa contoh perintah gabungan tersebut:

Operator Fungsi Contoh Penulisan Keterangan
++ Pertambahan 1/increment a++ a=a+1
-- Pengurangan 1/decrement a-- a=a-1
+= Mempersingkat Penulisan Program a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
|= a|=b a=a OR b
&= a&=b a= a AND b
^= a^=b a=a^b

Komunikasi Serial Arduino

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.

Apa itu 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()

Mungkin kamu pernah mendengar pertanyaan apa itu serial begin 9600?

Sebenarnya ini adalah suatu perintah untuk mengaktifkan komunikasi serial dengan nilai baudrate atau kecepatan transmisi sebesar 9600 bps .Untuk penulisan perintahnya seperti ini:
Serial.begin(9600);

2. Serial.print()

Apa itu 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 tak berada dalam satu baris saja.

Ini 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.

Eksternal Interrupt Arduino

Salah satu jenis pin yang dimiliki oleh Arduino adalah pin Interrupt. Pin ini berfungsi sebagai pemicu untuk meminta perhatian dari prosesor sebagai tanggapan bahwa adanya kekeliruan di dalam program yang dijalankan.

Kira-kira prinsip kerjanya sama seperti melakukan interupsi pada saat rapat berlangsung.

Jadi saat pin ini bernilai HIGH, maka perintah yang sedang berjalan akan dihentikan sementara dan perintah pada pin Interrupt akan dijalankan.

Jumlah pin interrupt pada beberapa jenis Arduino berbeda. Kamu bisa lihat pada tabel berikut ini.

Jenis Papan Nama Pin Untuk Interrupt
Uno, Nano, Mini, dan seri Atmega328 lainnya 2, 3
Mega, Mega2560, MegaADK 2, 3, 18, 19, 20, 21
Mikro, Leonardo, dan seri 32u4 lainnya 0, 1, 2, 3, 7
Zero Semua pin digital kecuali pin 4
MKR1000 Rev 1 0, 1, 4, 5, 6, 7, 8, 9, A1, A2
Due Semua pin digital
101 Semua pin digital

Adapun untuk format perintahnya sebagai berikut:
attachInterrupt (digitalPinToInterrupt (pin), fungsi, mode);
Keterangan:

Pin       = nomor pin interrupt yang digunakan
Fungsi  = fungsi yang akan dieksekusi
Mode   = mode deteksi pin apa yang digunakan

Mode yang bisa digunakan ada empat, yaitu:
  • LOW, yaitu interrrupt akan dieksekusi terus menerus selama pin membaca logika LOW
  • RISING, yaitu interrupt akan dieksekusi jika terjadi perubahan nilai pembacaan dari LOW ke HIGH (dieksekusi satu kali saat terjadi perubahan)
  • CHANGE, yaitu interrupt akan dieksekusi bila terjadi perubahan pada nilai yang dibaca. Baik dari HIGH ke LOW maupun dari LOW ke HIGH. (dieksekusi satu kali saat terjadi perubahan).
  • FALLING, yaitu interrupt akan dieksekusi jika terjadi perubahan nilai pembacaan dari HIGH ke LOW. (dieksekusi satu kali saat terjadi perubahan).
Contoh source code Arduino tentang interupsi eksternal bisa kamu lihat di bawah ini:
void setup(){
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), sisip, FALLING);
}

void sisip(){
Serial.println("Tombol Ditekan");
delay(1000);
}

void loop(){
Serial.println("Tes kode 1");
delay(1000);
Serial.println("Tes kode 2");
delay(1000);
Serial.println("Tes kode 3");
delay(1000);
Serial.println("Tes kode 4");
delay(1000);
}
Keterangan :

Jika kode di atas dijalankan, maka di serial monitor akan muncul tulisan “Tes Kode 1” sampai “Tes Kode 4” secara berurutan dengan jeda 1 detik.

Namun ketika button yang terhubung dengan pin 2 ditekan maka di serial monitor akan muncul kata “Tombol Ditekan”.


Nilai Maksimum dan Minimum Pada Arduino

1. min(x, y)

Fungsi perintah ini adalah untuk membandingkan dua variabel dan akan mengembalikan nilai yang paling kecil lalu menyimpannya dalam suatu variabel. Format penulisannya yaitu:
baca = min(x, y);
Keterangan:

baca = variabel penampung
x      = variabel 1
y      = variabel 2

2. max(x, y)

Perintah ini berfungsi untuk membandingkan dua nilai variabel lalu mengembalikan nilai terbesar. Bisa dikatakan bahwa perintah ini adalah kebalikan dari perintah min(x, y). Format penulisannya yaitu:
baca = max(x, y);
Keterangan:

baca = variabel penampung
x      = variabel 1
y      = variabel 2


Penutup

Demikianlah materi dari saya tentang panduan belajar bahasa pemrograman Arduino untuk pemula.

Bilamana ada yang ingin dikoreksi atau ditambahkan, saya sangat menanti komentar dari tema-teman. Karena sejatinya kita hanyalah manusia biasa yang sama-sama belajar.

Posting Komentar untuk "Belajar Bahasa Pemrograman Arduino Dasar Untuk Pemula"