0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan18 halaman

Dasar Program

Dokumen ini menjelaskan struktur dasar pemrograman Arduino, termasuk fungsi void setup dan void loop yang wajib ada dalam setiap program. Selain itu, dokumen ini juga membahas berbagai jenis data, variabel, konstanta, operator, dan struktur pengendali yang digunakan dalam pemrograman Arduino. Contoh proyek sederhana, seperti program Blink, juga disertakan untuk memberikan pemahaman praktis tentang penggunaan Arduino.

Diunggah oleh

Elfrando Vincen
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan18 halaman

Dasar Program

Dokumen ini menjelaskan struktur dasar pemrograman Arduino, termasuk fungsi void setup dan void loop yang wajib ada dalam setiap program. Selain itu, dokumen ini juga membahas berbagai jenis data, variabel, konstanta, operator, dan struktur pengendali yang digunakan dalam pemrograman Arduino. Contoh proyek sederhana, seperti program Blink, juga disertakan untuk memberikan pemahaman praktis tentang penggunaan Arduino.

Diunggah oleh

Elfrando Vincen
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Program Arduino Dasar

STRUKTUR PROGRAM MINIMUM


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

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

WARNING: Bare Minimum adalah koding paling minimum yang harus ada pada Arduino. Jadi
jika void setup dan void loop tidak ada, maka koding akan error.

***

void setup
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:

[Link](9600); // untuk komunikasi Arduino dengan komputer

9600 adalah Baudrate yang menentukan kecepatan pengiriman data.

void loop
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.
Untuk menampilkan nilai pada sebuah sensor di Serial Monitor, bisa menggunakan:

[Link](namasensor);
//menampilkan nilai sensor yang disimpan di variabel nama sensor

Untuk menampilkan teks, bisa menggunakan:

[Link]("Selamat Datang");
//menampilkan teks Selamat Datang pada Serial Monitor

Dan untuk membuka Serial Monitor 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:

–– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

CATATAN PADA PROGRAM


Catatan pada program tidak akan dibaca oleh Arduino. Cara menuliskan catatan diawali dengan:
// . Contoh:

void loop() {

// catatan pada baris ini tidak akan dibaca oleh program


}

Tanda // hanya berfungsi untuk catatan satu baris saja. Catatan yang panjang, lebih dari 1 baris,
menggunakan (diapit oleh) tanda : /* catatan */ . Contoh:

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

JENIS DATA

Berikut ini adalah tabel jenis data pada Arduino yang sering digunakan.

Jenis 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


Beberapa tambahan jenis data:

1. boolean

Tipe data boolean hanya memiliki 2 data yaitu benar (true) dan salah (false). Tipe data boolean
hanya membutuhkan 1 byte memori. Contoh penulisan deklarasi tipe data boolean.

boolean running = false;

Artinya: variabel “running” ditentukan mempunyai tipe data boolean dengan nilai awal “false”.

[Link]
Tipe data byte memiliki 8 bit data (0 – 255). Tipe data byte tidak memiliki nilai negatif. Contoh
penulisan deklarasi tipe data byte :

byte b = 128;

atau

byte b = B10000000;

Artinya variabel “b” ditentukan sebagai tipe daya byte dengan nilai awal 128 (decan) atau
B10000000.

3. char
char atau karakter adalah tipe data untuk menyatakan suatu karakter seperti “A”, “B”, “C” , “+” ,
“.” dan sebagainya. Karakter ini disimpan dalam bentuk angka. Untuk mengkonversikan bentuk
angka ke bentuk karakter dapat menggunakan tabel ASCII berikut ini.
Contoh penulisan deklarasi variabel tipe char:

char karakterku = 68;

artinya mendeklarasikan suatu variabel dengan nama “karakterku” dengan nilai awal 68 atau
karakter “D”.

4. unsigned char
unsigned char serupa dengan tipe char tetapi tanpa nilai negatif sehingga unsigned char memiliki
nilai dari 0 hingga 255 atau sama dengan tipe data byte.

5. int
int digunakan untuk menyatakan tipe data integer (bilangan bulat). Tipe data integer berkisar
antara -32768 sampai 32768 (-215 hingga (215-1)). Nilai bilangan ini membutuhkan 2 byte
memori mikrokontroller. Contoh penulisan deklarasi tipe integer :

int bilangan = 0;

artinya mendeklarasikan suatu variabel dengan nama “bilangan” dengan nilai awal 0.
6. unsigned int
unsigned int digunakan untuk mendeklarasikan tipe data bilangan bulat positif atau bernilai 0
hingga 65535. Sama dengan integer, tipe data ini juga membutuhkan 2 byte memori
mikrokontroller. Contoh penulisannya:

unsigned int angka = 12;

artinya mendeklarasikan suatu variabel dengan nama “angka” dengan nilai awal 12.

7. word
Tipe data word sama dengan tipe data unsigned int. Besar data word adalah 16 bit atau
membutuhkan 2 byte memori mikrokontroller. Tipe data ini jarang digunakan. Contoh penulisan
pada program sketch:

word bilangan = 1000;

Artinya mendeklarasikan variabel dengan nama “angka” dengan nilai awal 1000.

8. long
Tipe data long adalah tipe data untuk menampung bilangan bulat yang berkisar antara
-[Link] hingga [Link]. variabel bertipe long ditulis dengan akhiran L atau l.
Contoh 456789980L. Contoh penulisan pada program sketch :

long speedoflight = 298756L

artinya program akan mendeklarasikan variabel dengan nama “speedoflight” dengan nilai
298756.

9. unsigned long
unsigned long adalah tipe data yang sama dengan long, tetapi dihitung dari angka 0 atau
mempunyai nilai berkisar 0 hingga [Link]. Nilai variabel ini ditulis dengan kode UL
diakhir konstanta seperti contoh berikut ini

unsigned long speed = 123345623UL

artinya program mendeklarasikan variabel dengan nama “speed” dengan nilai awal 123345623.

10. float
Tipe ini berguna untuk menyimpan bilangan real. Angka yang bisa disimpan dari -3,4028235 x
1038 hingga 3,4028235 x 1038. Angka dengan tipe float sangat besar sekali, sehingga sangat
jarang digunakan karena akan memperlambat kerja prosessor mikrokontroller dan banyak
memakai memori, kecuali bila memang sangat dibutuhkan dalam program.

11. double
Tipe data double dan float untuk arduino tidak ada bedanya.
Konstanta

Konstanta adalah nilai suatu besaran yang tidak berubah besarnya atau memiliki nilai yang tetap.
Dalam pemograman arduino ditulis dengan kata “const” yang artinya konstanta. Contoh
penulisan konstanta :

const int harga = 12;

artinya variabel “harga” adalah sebuah konstanta bilangan bulat integer yang memiliki nilai tetap
yaitu 12. Nilai ini hanya bisa dibaca dan tidak dapat diubah selama program dijalankan.

Penamaan untuk variabel dan konstanta tidak boleh menggunakan kata-kata yang digunakan
dalam program sketch arduino seperti for, if, while dan sebagainya. Selain itu nama tidak boleh
ada spasi, bila hendak memisahkan 2 buah kata untuk menyatakan variabel atau konstanta harus
dihubungkan dengan tanda garis bawah ( _ ) misalnya : “waktu_tunggu”.

Jenis data Arduino ditempatkan di depan variabel yang ingin dideklarasikan dengan dipisah satu
spasi.

Misalkan 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
Variabel dalam bahasa program Arduino bisa didefinisikan sebagai suatu wadah untuk
menyimpan atau menampung data.

Ketentuan nama variabel:

 Tidak menggunakan spasi

 Maksimal 32 karakter

 Tidak menggunakan istilah baku dalam bahasa C Arduino

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

int saya = 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
jenis 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.

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

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. Saat tidak memenuhi kondisinya ,
maka akan melaksanakan perintah yang lain.

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

Pertama Arduino akan cek Kondisi A. Jika terpenuhi, maka akan melaksanakan Kode Perintah
A.
Tapi jika TIDAK, Arduino akan cek 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 ingin mengulangi kode atau nilai dalam beberapa kali. Penjelasan
detailnya nanti akan dibahas ketika mencoba membuat proyek, biar lebih mudah dipahami.

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

pinMode( pin, mode);

Kode diatas digunakan untuk seting mode pin. Pin adalah nomor pin yang akan digunakan, jika
menggunakan 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
Kode pinMode itu ada di dalam 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 dimasukkan dalam void loop.

digitalWrite(pin, nilai);

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

Contoh:

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


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

Dan untuk kode digitalWrite dimasukkan dalam void loop.

analogWrite(pin, nilai);

Meskipun Arduino adalah perangkat digital, tapi masih bisa menggunakan fungsi Analognya
pada pin Digital Arduino, tapi hanya beberapa pin saja, yaitu PWM (Pulse With Modulation).
Arduino Uno memiliki 6 pin PWM, yaitu: 3,5,6,9, 10, dan 11.

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 dimasukkan 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 digunakan 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, artinya penggunaan huruf kecil
atau huruf besar sangat berpengaruh.

CONTOH PROYEK

PROYEK 1

Blink: program dasar yang biasanya dicoba oleh pemula. Blink ini menggunakan 1 buah
LED yang menyala berkedip. Projek yang akan dibuat adalah menyalakan LED dan
membuat LED berkedip (blink).

Alat yang digunakan:

1x Arduino
1x Breadboard
1x LED
1x Resistor 220 ohm
2x Kabel Jumper

Gambar rangkaian:
NOTES:

 Pin GND Arduino ke Breadboard.


 Pin negatif LED ke GND melalui resistor 220 ohm.
 pin positif LED ke pin 13 Arduino.

Pembuatan sketch untuk BLINK sangatlah mudah, setelah masuk ke Program ARDUINO
kemudian klik FILE => EXAMPLE => BASIC => BLINK.

Atau salin ulang sketch dibawah ini:

void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

Catatan:

 Semua perintah yang ada didalam void setup() akan dibaca sekali.
 Semua perintah yang ada didalam void loop() akan dibaca berulang kali.
 pinMode digunakan mengatur apakah pin 13 akan menjadi INPUT atau OUTPUT.
 digitalWrite untuk mengatur apakah pin 13 akan dibuat HIGH (hidup) atau LOW
(mati).
 delay untuk memberikan jeda (1000 = 1 detik).

PROYEK 2

Blink 3 LED: merupakan program lanjutan dari program blink. Menggunakan 3 LED
untuk membuat ketiga led tersebut berkedip. Untuk membuat program 3 LED sekaligus,
bisa menggunakan variabel int. Alat yang butuhkan adalah:

1x Arduino
1x Breadboard
3x LED
3x Resistor 220 Ohm
4x Kabel Jumper
Rangkaian seperti gambar di bawah ini:

Sketch program:

int led1= 9;
int led2= 8;
int led3= 7;

void setup(){
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}

void loop(){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
delay(1000);
}

NOTES:
Variabel int digunakan untuk membuat setiap pin menjadi variabel. Pada contoh di atas variabel
led1 untuk pin 9. Cara ini akan memudahkan saat akan mengubah pin 9 menjadi misal 13, cukup
mengubah pada bagian awal: int led1 = 13; menjadi int led1 = 9.
PROYEK 3

Digital Read: program dasar untuk membaca sensor-sensor digital. Sensor digital disini
adalah sensor yang pembacaan datanya hanya 1 dan 0, atau mendeteksi dan tidak
mendeteksi. Proyek ini menggunakan tombol pushbutton. Program ini bisa digunakan
juga untuk sensor digital lainnya. Tapi sensor-sensor tersebut outputnya harus digital,
biasanya di module sensornya ada potensio / trimpot untuk mengatur kepekaan
sensornya.

Cara kerja Push Button: ketika ditekan akan menghubungkan arus listrik, dan terputus apabila
dilepas (tidak ditekan).

Contoh program untuk Push Button dengan logika program, “Jika button ditekan LED
menyala, jika tidak ditekan LED mati.”

Alat yang digunakan:

1. 1x Arduino
2. 1x Breadboard
3. 1x Push button
4. 1x LED
5. 1x Resitor 10k
6. 1x Resistor 220ohm
7. 7x Kabel jumper

Buatlah rangkaian seperti gambar dibawah ini…

Rangkaian Untuk Push Button

NOTES:

 Hubungkan 5V dan GND dari Arduino ke Breadboard.


 Hubungkan kaki pertama Push button ke 5V dan kaki ke-2 Push button ke kaki
pertama resitor 10k.
 Hubungkan kaki ke-2 resistor 10k ke GND.
 Hubungkan pin 2 Arduino ke kaki ke-2 Push button.
 Untuk rangkaian LED sama dengan proyek sebelumnya.

Untuk sketch-nya bisa ambil sampel pada FILE=>EXAMPLES=>DIGITAL=>BUTTON.


Atau salin ulang program dibawah ini:

byte tombol= 2;
byte led= 13;
int nilai;

void setup(){
pinMode(led, OUTPUT);
pinMode(tombol, INPUT);
}

void loop(){
nilai= digitalRead(tombol);

if(nilai == 1){
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}
}

NOTES:

 Variabel int nilai; digunakan untuk membuat variabel nilai untuk menyimpan data nilai
dari tombol.
 Variabel baru nilai = digitalRead(tombol); digunakan untuk menyimpan nilai baca dari
tombol kedalam variabel nilai.
 digitalRead berfungsi untuk membaca nilai sensor secara digital (0=GND, 1=5V).
 if (nilai == 1)  jika nilai dari nilai adalah 1, maka lampu LED akan menyala:
digitalWrite(led, HIGH);
 else jika tidak bernilai 1, maka lampu LED akan mati digitalWrite(led, LOW);

MARI LEBIH KREATIF!!!


Dengan rangkaian yang sama, dapat dibuat sketch program seperti;

1. Jika PushButton ditekan lampu LED mati, jika tidak ditekan lampu LED menyala.
2. Jika PushButton ditekan lampu LED berkedip, jika tidak ditekan lampu LED hanya
menyala.
3. Jika PushButton ditekan lampu LED berkedip cepat, jika tidak ditekan lampu LED
berkedip lambat.

Sumber:
[Link]
[Link]
simulasi program Arduino dapat menggunakan: [Link]

Anda mungkin juga menyukai