Anda di halaman 1dari 15

Belajar Pemrograman Dasar Arduino!

Seperti yang saya bilang pada postingan sebelumnya, bahasa pemrograman Arduino mirip
bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk
dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa
processing.

Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman
Arduino ;) hehe

Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya.
Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program.
Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok!

Baiklah kita akan mulai dari:

void setup() {
// semua kode yang disini akan dibaca sekali oleh Arduino
}

void loop() {
//semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino
}

Semua kode program yang ada dalam void setup akan dibaca sekali oleh Arduino. Biasanya
isinya berupa kode perintah untuk menentukan fungsi pada sebuah pin. Contoh kodenya
seperti:

pinMode(13, OUTPUT); // menentukan pin 13 sebagai OUTPUT


pinMode(3, INPUT); // menentukan pin 3 sebagai INPUT

Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan:

Serial.begin(9600); // untuk komunikasi Arduino dengan komputer

Semua kode program yang ada di void loop akan dibaca setelah void setup dan akan dibaca
terus menerus oleh Arduino. Isinya berupa kode-kode perintah kepada pin INPUT dan
OUTPUT pada Arduino. Contoh kodenya seperti:

digitalWrite(13, HIGH); //untuk memberikan 5V (nyala) kepada pin 13.


digitalWrite(13, LOW); //untuk memberikan 0V (mati) kepada pin 13.
analogWrite(3, 225); //untuk memberikan nilai 225 (setara dengan 5V) kepada pin
3.

Adapun untuk menampilkan nilai pada sebuah sensor di Serial Monitor, bisa menggunakan:

Serial.print(namasensor); //menampilkan nilai sensor yang disimpan di variabel nama sensor

Untuk menampilkan teks, bis menggunakan:

Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada Serial Monitor

Dan untuk membuka Serial Monitor sendiri pada Arduino, bisa dengan memilih menu Tools
kemudian pilih Serial Monitor. Atau dengan menekan kombinasi CTRL+SHIFT+M di
keyboard. Atau bisa juga dengan meng-klik ikon Kaca Pembesar di Arduino, seperti gambar
dibawah ini:

-------------------------------------------------------

MARI BAHAS LEBIH DETAIL LAGI!

CATATAN PADA PROGRAM


Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino, dengan cara
mengetikan // kemudian mengetikan catatannya, seperti:

void loop() {

// catatan pada baris ini tidak akan dibaca oleh program


}

Tapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja, jika kamu ingin
membuat catatan yang panjang yaitu berupa paragraf. Maka pertama kamu ketikan /* lalu
ketikan catatan kamu, dan jika sudah selesai tutup dengan kode */ . Contohnya seperti:

void loop() {

/* apapun yang kamu mau ketikan disini tidak


akan dibaca oleh program
sepanjang apapun kamu mengetiknya
*/
}

KURUNG KURAWAL {}
Digunakan untuk menentukan awal dan akhir dari program. Karena seperti bahasa
pemrograman pada umumnya, Arduino membaca mulai dari atas hingga kebawah.

void loop()
{
....program
....program
....program
}

TITIK KOMA ;
Setiap baris kode pada Arduino harus diakhiri dengan tanda ;

void setup(){
pinMode(13, OUTPUT);
}

void loop(){
digitalWrite(13, HIGH);
}

VARIABLES
Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada sebuah
nama. Yang biasa digunakan diantaranya adalah Integer, Long, Boolean, Float, Character.

int (integer)
Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16 bits).

long (long)
Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32 bits).

boolean (boolean)
Variabel yang hanya menyimpan nila TRUE dan FALSE saja. Hanya menggunakan 1 bit
saja ;)

float(float)
Digunakan untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32
bits).

char(character)
Menyimpan character berdasarkan ASCII kode (contoh: 'A'=65). Menggunakan 1 byte (8
bits).
OPERATOR MATEMATIKA
Digunakan untuk memanipulasi nilai dengan perhitungan matematika sederhana seperti:
penjumlahan, pengurangan, sama dengan, dan sebagainya.

= (sama dengan) (contoh x=10*2 (x sekarang jadi 20))


% (persentase) (contoh 12%10 (hasilnya yaitu 2))
+ (penambahan)
- (pengurangan)
* (perkalian)
/ (pembagian)

OPERATOR PERBANDINGAN
Digunakan untuk melakukan perbandingan secara logika.

== (sama dengan) contoh: 15 == 10 FALSE atau 15 == 15 TRUE


!= (tidak sama dengan) contoh: 15 != 10 TRUE atau 15 != 15 FALSE
< (lebih kecil dari) contoh: 15 < 10 FALSE atau 12 < 14 TRUE
> (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE

STRUKTUR PENGENDALI
Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah
terpenuhi maka akan melaksanakan perintah yang sudah ditentukan. Dan saat tidak
memenuhi kondisinya juga ada perintah yang dilaksanakan oleh Arduino.

if(kondisi A)
{
Kode Perintah A
}
else if(kondisi B)
{
Kode Perintah B
}
else
{
Kode Perintah C
}

Pertama Arduino akan lihat Kondisi A. Jika terpenuhi, maka akan melaksanakan Kode
Perintah A.
Tapi jika TIDAK, Arduino akan lihat Kondisi B. Jika terpenuhi, maka akan melaksanakan
Kode Perintah B.
Tapi jika TIDAK juga, maka Arduino akan melaksanakan Kode Perintah C.

for(int i = 0; i < #repeats; i++)


{
Kode Perintah
}
Kode diatas digunakan saat kita ingin mengulangi kode atau nilai dalam beberapa kali.
Penjelasan detailnya nanti akan dibahas ketika mencoba membuat projek, biar lebih mudah
dipahami, OK. ;)

KODE DIGITAL
Digunakan untuk pemrograman yang menggunakan Pin Digital pada Arduino.

pinMode( pin, mode);

Kode diatas digunakan untuk seting mode pin. Pin adalah nomer pin yang akan digunakan,
kalo kamu pake Arduino Uno, pin Digitalnya dari 0-13. dan mode sendiri bisa berupa INPUT
atau OUTPUT.

Contoh:

pinMode(13, OUTPUT); // artinya pin 13 digunakan sebagai OUTPUT


pinMode(7, INPUT); // artinya pin 7 digunakan sebagai INPUT

Dan seperti yang sudah saya bilang untuk kode pinMode itu ada didalam void setup.

digitalRead(pin);

Kode diatas digunakan pin INPUT, untuk membaca nilai sensor yang ada pada pin. Dan
nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE).

Contoh:
digitalRead(13); // artinya kode akan membaca nilai sensor pada pin 13

Kode digitalRead kita masukan dalam void loop.

digitalWrite(pin, nilai);

Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan diberikan
HIGH (+5V), atau LOW (Ground).

Contoh:

digitalWrite(13, HIGH); // artinya pin 13 kita diberi tegangan +5V


digitalWrite(13, LOW); // artinya pin 13 kita diberi tegangan 0 / Ground

Dan untuk kode digitalWrite tentu saja kita masukan dalam void loop.

analogWrite(pin, nilai);

Meskipun Arduino adalah perangkat digital, tapi kita masih bisa menggunakan fungsi
Analognya pada pin Digital Arduino. Tapi hanya beberap pin saja, yang biasa kita sebut
PWM (Pulse With Modulation). Pada Arduino Uno memiliki 6 pin PWM, yaitu: 3,5,6,9, 10,
dan 11.
Dengan begini nilai yang dihasilkan menjadi bervariasi dari 0-225, itu setara dengan 0-5V.

Contoh:

analogWrite(3, 150); // artinya pin 3 diberikan nilai sebesar 150

Dan untuk kode analogWrite juga kita masukan dalam void loop.

KODE ANALOG
Kode analog ini digunakan ketika ingin menggunakan pin Analog pada Arduino. Untuk
Arduino Uno pin Analog dari A0-A5. Dan karena ini pin Analog maka hanya bisa kita
gunakan sebagai INPUT saja. Dan juga tidak perlu menulis pinMode pada void setup.

analogRead(pin);

Kode diatas digunakan untuk membaca nilai pada sensor Analog. Yaitu antara 0-1024.

Contoh:

analogRead(A0); // artinya kode akan membaca nilai sensor pada pin AO.

CATATAN: Kode dalam Arduino adalah Case Sensitive. Maksudnya penggunaan huruf kecil
atau huruf besar sangat berpengaruh.
Dasar C Arduino

Pendahuluan

Untuk installasi software dan board arduino bisa baca disini atau disumbernya langsung
disini.

Semua bahasa perograman terdiri dari

1. ekspresi,

2. statemen,

3. blok statemen

4. blok fungsi

Ekspresi adalah kombinasi operand dan operator contoh 2+3 , X > Y dst… 2,3,X dan Y
adalah operand sedangkan + dan > adalah operator .

Statemen adalah instruksi lengkap dalam bahasa C diakhiri dgn tanda ; (titik koma) contoh
: A= 2+3;

Statemen dan ekspresi C arduino indentik dengan ANSI-C , Struktur Program C Arduino
minimal terdiri dari dua fungsi yaitu setup() dan loop().

Fungsi setup() dijalankan pertama kali setiap board arduino dihidupkan sedangkan fungsi
loop() dijalankan terus menerus selama board arduino hidup. Pada program standar C ANSI
fungsi yg pertama dijalankan adalah fungsi main() pada C arduino adalah fungsi setup().

berikut ini struktur minimal C Arduino :


//setup digunakan untuk inisialisasi variable, mode pin dll
void setup()
{
statement
}

void loop()
{
statement
}
contoh program

// Pin 13 dihubungkan ke LED pada kebanyakan Arduino board.


// pin 13 diberi nama led:
int led = 13;

// setup routine dijalankan sekali saat arduino direset :


void setup() {
// inisialisasi pin digital 13 sbg output.
pinMode(led, OUTPUT);
}

// loop melakukan elsekusi berulang:


void loop() {
digitalWrite(led, HIGH); //LED on
delay(1000);
digitalWrite(led, LOW); // LED off
delay(1000);
}

VARIABLE DAN KONSTANTA


Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. variable
disimpan di RAM
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah setelah
program di compile. Konstanta disimpan di memory program.

VARIABLE SCOPE
Variable dan konstanta global dapat diakses di seluruh bagian program.
Variable dan konstanta lokal hanya dapat diakses didalam fungsi tempat dideklarasikannya.

Type Data

Arduino C mendukung sebagian besar tipe data ANSI C dengan beberapa


pengecualian. Variabel adalah sebuah atau beberapa lokasi memori yang diberi nama.
Ketika anda mendefinisikan variabel Anda juga harus memberitahu compiler jenis data
variable tsb.
Tipe data dari variabel penting karena untuk menentukan berapa banyak byte
memori yg disediakan untuk variabel itu, dan jenis data yang dapat disimpan dalam variabel.

CONTROL STATEMENT

 While Loop

while (expression) //selama expresi bernilai true laksanakan perulangan blok statemen
dibawahnya.
{
statement1;
statement2;
…..
}

atau jika satement hanya 1 baris statement tdk perlu di berikurung { }


while(expression)
statement;

 Do/While Loop

do //jalankan statement dibawah ( minimal 1 kali perulangan dilaksanakan) ,


{
statement1;
statement2;

}
while (expression); // jika ekspresi true , jalankan kembali perulangan.

atau jika satement hanya 1 baris

do
statement;
while (expression);

 For Loop

for (expr1; expr2; expr3) //laksanakan perulangan sebanyak expr2 dimulai dari expr1.
{
statement1;
statement2;

}

atau jika satement hanya 1 baris

for(expr1; expr2; expr3)


statement;

 If/Else

if (expression) //jika ekspresi bernilai true laksanakan blok statemen dibawahnya


{
statement1;
statement2;

}

atau jika satement hanya 1 baris

if(expression)
statement;
 SWITCH/CASE

switch (expression)
{
case const1: // jika expression = const1 eksekusi staement2 dibawahnya
statement1;
statement2;

case const2: // jika expression = const2 eksekusi statemenibawahnya


statement3;
statement4;
case constX: // jika espression=constX eksekusi statemen dibawahnya
statement5;
statement6;

default:
statement7; // jika ekspression tdk sama dgn const1,cons2, dan constX
statement8;
}

 BREAK, CONTINUE,AND GOTO

break, continue, & goto statements digunakan untuk merubah alur eksekusi untuk statement
pengulangan for, while, do/while, and switch .

Break
break statement digunakan untuk keluar dari pengulangan for, while, do/while, atau switch .
break keluar dari blok pengulangan dimana dia berada saja.

Continue
continue akan menyebabkan program memulai iterasi berikutnya dari statemen pengulangan
while,
do/while, atau for loop. continue sama seperti break pengulangan akan berhenti pada point yg
dituju (di skip), bedanya continue akan memulai loop lagi, dari atas, sedangkan break
memaksa keluar dari loop / pengulangan .

setup()
{

loop()
{
int i;
for(i; i<7; i++)
{
if(i==3)
continue;
printf(%d, i )
}
}

OPERATOR DAN EXPRESSI

Operator Penugasan ( “=” )


Setelah variabel telah dideklarasikan, operasi dapat dilakukan pada variable menggunakan
operator penugasan (=). Sebuah nilai yang diberikan untuk variabel dapat berupa sebuah
konstanta, variabel, atau ekspresi. Sebuah ekspresi dalam bahasa C adalah kombinasi dari
operan (pengidentifikasi) dan operator. operaor penugasan antara lain sebagai berikut:

Variable = nilai ,
contoh nilai_max = 10;

Operator Arithmetic :
Perkalian *
Pembagian /
Modulo %
Penjumlahan +
Pengurangan atau Negasi –

Operator Logika
AND &&
OR ||

Operator relasional
sama dengan ==
tdk sama dengan !=
lebih kecil <
lebih kecil atau sama dengan <=
lebih besar >
lebih besar atau sama dengan >=

increment
++variable atau variable++ artinya variable=variable+1 ,

misal ++X atau X++ artinya X = X+1

perbedaaanya adalah untuk ++X , tambahkan dulu nilai X dgn 1 baru di proses baris kode tsb,
sedangkan X++ , proses dulu baris code baru tambahkan nilai X dgn 1
deccrement
–variable atau variable– artinya variable=variable-1 ,

misal –Y atau Y– artinya Y = X-1

perbedaaanya adalah untuk –Y , kurangi dulu nilai Y dgn 1 baru di proses baris kode tsb,
sedangkan Y– , proses dulu baris code tsb baru kurangi nilai Y dgn 1

Compound
compound digunakan hanya untuk menyingkat baris expresi saja contoh nya sbb

a += 3; artinya a = a + 3
b -= 3; artinya b = b – 3
c *= 3; artinya c = c * 3
d /= a; artinya d = d / a
a |= 3; artinya a = a OR 3
b &= 3; artinya b = b AND 3
c ^= 3; artinya c = c ^ 3
PORTD &= 3; artinya PORTD = PORTD & 3

kondisonal Expressi
if(expression_A)
expression_B;
else
expression_C;

baris kode diatas bisa digantikan oleh kondisional expressi:

expression_A ? expression_B : expression_C;

contoh : (A > 10) ? x = 5 : x =22;


kondisional expresi diatas artinya sama dengan :
IF(A>10)
{
x=5;
}
Else
{
x= 22
}

..

FUNGSI
yang dimaksud fungsi adalah sebuah blok statement yg melaksanakan tugas tertentu dan bisa
dipakai lebih dari 1 kali di dlm program.
program bahasa C terdiri dari fungsi fungsi dan sebuah program c minimal terdiri dari 1
fungsi .
fungsi setup() dijalankan pertama kali saat program dijalankan.
fungsi terdiri dari dua bagian utama yaitu kepala fungsi dan blok fungsi
berikut ini bentuk umum sebuah fungsi adalah :

type name_fungsi (type paramameter)


{

statement

kepala fungsi terdiri dari type return value, nama fungsi , types dan nama parameter(jika
ada) .
Statement di block fungsi menyatakan apa yg fungsi harus lakukan.
jika return value atau parameter tdk ada maka typennya ditulis void seperti dibawah ini
void namefungsi (void)
{

statement

Structures, Union, dan Data Storage

Arduino Library

Digital Input

void pinMode (int pin, int mode)


memerintahkan Arduino apakah pin akan diset sbg digital input atau output. Mode dapat
berupa Input atau OUTPUT.

int digitalRead (int pin)


Membaca nilai dari pin digital. Nilai yg didapat dapat berupa 1 atau 0.

void digitalWrite (int pin, int value)


Menulis nilai ke pin digital. Nilai yg ditulis dapat berupa 1 atau 0.

Analog Input
int analogRead (int pin)
Membaca nilai dari pin analog. Nilai yg didapat adalah antara 0 dan 1023.

void analogWrite (int pin, int value)


Menulis nilai analog ke pin. nilai yg ditulis antara 0 dan 255.

Serial communication

https://pccontrol.wordpress.com/2014/06/28/pengetahuan-dasar-serial-komunikasi-pada-
arduino/

Networking

https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-
network-dan-ethernet-pada-arduino/

waktu dan tanggal

I2C

SPI

Wireless

LCD Display

Anda mungkin juga menyukai