Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF atau baca online di Scribd
Anda di halaman 1/ 15
Belajar Pemograman Arduino
Diposkan oleh AF HERU
di 06.33 -
3 komentar
Tampilan awal software arduino
Pemrograman arduino
Baiklah kita akan bahas bahasa pemrogramannya, seperti bahasa pemrograman tingkat
menegah pada umumnya arduino pun sama memiliki alur algoritma yang mirip yang beda
adalah cara penulisan
ntaknya.
structure pemrograman
structure
Structure dasar dari bahasa pemrograman arduino itu sederhana hanya terdiri dari dua
bagian.void setup( }
{
}
/ Statement;
void loop( )
{
// Statement;
Dimana setup( ) bagian untuk inisialisasi yang hanya dijalankan sekali di awal program,
sedangkan loop() untuk mengeksekusi bagian program yang akan dijalankan berulang-
ulang untuk selamanya.
setup()
Fungsi setup() hanya di panggil satu kali ketika program pertama kali di jalankan. Ini
digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup()
haus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan.
void setup ()
{
pinMode (13, OUTPUT); // mengset ‘pin’ 13 sebagai output
loop
Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop()
secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop().\digitalwrite(13, HIGH); // ayalakan ‘pin’ 13
delay(1000); — // pause selama 1 detik
digitalwrite(13, LOW); // matikan ‘pin’ 13
delay(1000); /// pause selama 1 detik
po--
Function (fungsi) adalah blok pemrograman yang mempunyai nama dan mempunyai
statement yang akan di eksekusi ketika function di panggil. Fungsi void setup() dan void
loop() telah di bahas di atas dan pembuatan fungsi yang lain akan di bahas selanjutnya.
Cara pendeklarasian function
Contoh:
int delayval()
{
int v; // membuat variable ‘v’ bertipe integer
v = analogRead (pot); // baca harga potentiometer
v /= 4; // konversi 0-1023 ke 0-255
return vj // return nilai v
Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena kalau tidak
menghendaki adanya nilai balik maka type function harus void.4
{} curly braces
Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila ketika
memprogram dan progremer lupa member curly brace tutup maka ketika di compile akan
terdapat laporan error.
; semicolon
‘Semicolon harus di berikan pada setiap statement program yang kita buat ini merupakan
pembatas setiap statement program yang di buat.
/*...*/ blok comment
‘Semua statement yang di tulis dalam block comments tidak akan di eksekusi dan tidak akan
di compile sehingga tidak mempengaruhi besar program yang di buat untuk di masukan
dalam board arduino.
//ine comment
‘Sama halnya dengan block comments, line coments pun sama hanya saja yang di jadikan
komen adalh perbaris.
Variable
Variable adalah sebuah penyimpan nilai yang dapat di gunakan dalam program. Variable
dapat di rubah sesuai dengan instruksi yang kita buat. Ketika mendeklarisikan variable harus
di ikut sertakan type variable serta nilai awal variable.
Type variableName = 0Contoh
Int inputVariable = 0;
// mendefinisikan sebuah variable bernama
inputVariable
dengan nilai awal 0
inputVariable = analogRead(2);
// menyimpan nilai yang ada di analog pin 2 ke
inputVariable
variable scope
sebuah variable dapat di deklarasikan pada awal program sebelum void setup(), secara
local di dalam sebuah function, dan terkadang di dalam sebuah block statement
pengulangan.
‘Sebuah variable global hanya satu dan dapat di gunakan pada semua block function dan
statement di dalam program. V:
fungstion setup()
‘Sebuah variable local di deklarasikan di setiap block function atau di setiap block statement
le global di deklarasikan pada awal program sebelum
pengulangan dan hanya dapat di gunakan pada block yang bersangkutan saja
Contoh penggunaan:
int value;
// ‘value’ adalah variable global dan dapat di
gunakan
pada semua block funtion
void setup (// no setup needed
}
void loop (
{ for (int i=0; i<20;)
// ‘i' hanya dapat di gunakan dalam pengulangan
saja
{
itt;
}
float f;
| // '£" sebagai variable local
|}
\
Data type
Biasanya tipe data ini di gunakan untuk komunikasi wireless.
byte
type byte dapat menyimpan 8-bit nilai angka bilangan asli tanapa koma. Byte memiliki range
0-255.
Byte biteVariable = 180;
|
\
| // mendeklarasikan ‘biteVariable’ sebagai type byte
l
integer
Integer adalah tipe data yang utama untuk menyimpan nilai bilangan bulat tanpa koma.
Penyimpanan integer sebesar 16-bit dengan range 32.767 sampai -32.768// mendeklarasikan ‘integerVariable’ sebagai type
Fe
Perluasan ukuran untuk long integer, penyimpanan long integer sebesar 32-bit dengan
range 2.147.483.647 sampai -2.147.483.648
Long longVariable = 500000;
// mendeklarasikan ‘longVariable’ sebagai type long
Float adalah tipe data yang dapat menampung nilai decimal, float merupakan penyimpan
yang lebih besar dari integer dan dapat menyimpan sebesar 32-bit dengan range
3,4028235E+38 sampai -3.4028235E+38
Float floatVariable = 3.14; |
// mendeklarasikan ‘floatVariable’ sebagai type }
float '
Array adalah kumpulan nilai yang dapat di akses dengan index number, nilai yang terdapat
dalam array dapat di panggil dengan cara menuliskan nama array dan index number. Array
dengan index 0 merupakan nilai pertama dari array. Array perlu di deklarasikan dan kalau
perlu di beri nilai sebelum di gunakan.Int arraySayal] = {2,4,6,8,10}
| X= arraySayal5];
| ix sekarang sama dengan 10
Operator aritmetic
aritmetic
operator aritmatik terdi
dan pemba
dari penjumlahan, pengurangan, pengkalian,
dalam menggunakan operan aritmatik harus hati-hati dalam menentukan tipe data yang
digunakan jangan sampai terjadi overflow range data.
compound assignments
Compound assignments merupakan kombinasi dari aritmatic dengan sebuah variable. Ini
biasanya dipakai pada pengulangan.
x ++; // sama seperti x = x + 1 atau menaikan nilai x sebesar 1
// sama seperti x = x - 1 atau mengurangi nilai x sebesar 1
x += y; // sama sepertix=x+y
y; Il sama seperti x = x-y
y; // sama seperti x =
‘comparison
Statement ini membadingkan dua variable dan apabila terpenuhi akan bernilai 1 atau true
Statement ini banyak digunakan dalam operator bersyarat.//x sama dengan y
x != y; / x tidak sama dengan y
xy; // x lebih besar dari y
| x <= y; // x lebih kecil dari sama dengan y |
| x >= y; // x lebih besar dari sama dengan y ;
“Togic ‘operator
operator logical digunakan untuk membandingkan 2 expresi dan mengembalikan nilai balik
benar atau salah tergantung dari operator yang di gunakan. Terdapat 3 operator logical
AND,OR, dan NOT, yang biasanya di gunakan pada if statement
Contoh penggunaan:
Logical AND
If (x > 0 && x < 5) // bernilai benar apabila kedua operator
pembanding terpenuhi
If (x > 0 || y > 0) // bernilai benar apabila salah satu dari operator
pembanding terpenuhi
Logical NOT
r
i
i
L
caa4
konstanta‘Arduino mempunyai beberapa variable yang sudah di kenal yang kita sebut konstanta. Ini
membuat memprogram lebih mudah untuk di baca. Konstanta di kelasifikasi berdasarkan
group.
true/false
Merupakan konstanta Boolean yang mendifinisikan logic level. False men
True mendifinisikan 1
high/low
Konstanta ini men
ikan aktifitas pin HIGH atau LOW dan di gunakan ketika membaca
dan menulis ke digital pin. HIGH di definisikan sebagai 1 sedangkan LOW sebagai 0.
input/output
Konstanta ini digunakan dengan fungsi pinMode() untuk mendifinisikam mode pin
sebagai input atau output
Flow controlif
If Operator if mengtest sebuah kondisi seperti nilai analog sudah berada di bawah nilai yang
kita kehendaki atau belum, apabila terpenuhi maka akan mengeksekusi baris program yang
ada dalam brackets kalau tidak terpenuhi maka akan mengabaikan baris program yang ada
dalam brackets.
If (someVariable ?? value )
{
| //DoSomething;
I
I
else
Operator if...else mengtest sebuah kondisi apabila tidak sesuai dengan kondisi yang
pertama maka akan mengeksekusi baris program yang ada di else.
If (inputPin
{
//Laksanakan rencana A;
}
Else
{
//Laksanakan rencana B;Operator while akan terus mengulang baris perintah yang ada dalam bracket sampai
ekspresi sebagai kondisi pengulangan benilai salah,
While ( someVariable ?? value )
{
/IdoSomething;
‘Sama halnya dengan while() hanya saja pada operator Do....while tidak melakukan
pengecekan pada awal tapi di akhir, sehingga otomatis akan melakukan satu kali baris
perintah walaupun pada awalnya sudah terpenuhi
/IdoSomething;
}
\
\
| While ( someVariable ?? value );
Digital /O
Input / Output Digital pada breadboard arduino ada 14, pengalamatnya 0 - 13, ada saat
tertentu VO 0 dan 4 tidak bisa di gunakan karena di pakai untuk komunikasi serial, sehingga
harus hati-hati dalam pengalokasian I/O.pinMode(pin, mode)
digunakan dalam void setup() untuk mengkonfigurasi pin apakah sebagai Input atau Output.
Arduino digital pins secara default di konfigurasi sebagai input sehingga untuk merubahnya
harus menggunakan operator pinMode(pin, mode)
pinMode (pin, OUTPUT); // mengset pin sebagai output |
digitalWrite(pin, HIGH); // pin sebagai source voltage }
‘digitalRead(pin)
membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.
Value = digitalRead(pin); // mengset ‘value’ sama dengan pin I
digitalWrite(pin, value)
digunakan untuk mengset pin digital. Pin digital arduino mempunyai 14 ( 0 - 13 ).
Analog /O
Input / Ouput analog pada breadboard arduino ada 6 pengalamatnya 0 - 5
analogRead(pin)
membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya dapat bekerja pada
analog pin (0-5). Hasil dari pembacaan berupa nilai integer dengan range 0 sampai 1023.Value = analogRead(pin); // mengset ‘value’ sama dengan nilai analog
7
1
1
pin |
ccc
ife(pin,
‘mengirimkan nilai analog pada pin analog.
analogWrite(pin, value); // menulis ke pin analog
Time
delay(ms)
Menghentikan program untuk sesaat sesuai dengan yang di kehendaki, satuanya dalam
millisecond.
Mengembalikan nilai dalam millisecond dihitung sejak arduino board menyala, Penapungnya
harus long integer.min(@xy)
Membadingkan 2 variable dan akan mengembalikan nilai yang paling kecil.
value = min(value, 100); // set ‘value’ sebagai nilai yang paling kecil
I
I
| dari kedua nilai
value = max(value, 100); //set ‘value’ sebagai nilai yang paling besar
dari kedua nilai
Serial.begin(rate)
Statement ini di gunakan untuk mengaktifkan komunikasi serial dan mengset baudrate.
void setup()
{
Serial.begin(9600); //open serial port and set baudrate 9600 bps
Serial.prinin(data)
Mengirimkan data ke serial port.