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 menggunaka:
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 PENGENDALIProgram 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.