Berikut adalah konsep dalam memprogram modul mikrokontroler arduino uno :
2.3.3.1 Variabel
int pin = 13;
Perintah ini menciptakan variabel yang namanya pin, yang nilainya adalah 13, dan bertipe int. apabila user membutuhkan variable ini, maka akan dapat menunjuk ke variabel ini dengan memanggil namanya. pada saat itu variable ini nilainya akan dicari dan digunakan. seperti dalam pernyataan ini:
pinMode(pin, OUTPUT);
Nilai dari pin (13) ini akan diteruskan ke perintah pinMode (). Dalam hal ini, sebenarnya user tidak perlu menggunakan variabel, pernyataan ini akan bekerja dengan baik sama seperti :
pinMode(13, OUTPUT);
Keuntungan dari penggunaan variabel dalam hal ini adalah bahwa
user hanya perlu menentukan jumlah pin yang digunakan sekali, akan
tetapi user dapat menggunakannya berkali-kali. sehingga jika user kemudian memutuskan untuk mengubah penggunaan dari pin 13 menjadi pin 12, user hanya perlu mengubah sedikit kode. user juga dapat menggunakan nama pengenal untuk membuat pentingnya variabel yang jelas (misalnya program mengendalikan LED RGB memungkinkan penamaan variabel redPin, greenPin, dan bluePin. Sebuah variabel memiliki kelebihan lain atas nilai seperti mengubah nilai dari variabel menggunakan perintah Sebagai contoh:
Perintah ini akan mengubah nilai dari variabel menjadi 12. Perhatikan bahwa user tidak menentukan jenis variable, hal tersebut tidak diubah oleh perintah tersebut. Artinya, nama variabel secara permanen diasosiasikan dengan jenis, user hanya melakukan perubahan nilainya. user harus mendeklarasikan variabel sebelum user memberikan nilai untuk itu. Jika tidak maka pesan error ini akan muncul "error: pin was
not declared in this scope".
Bila user menetapkan satu variabel yang lain, user membuat salinan nilai variable tersebut dan menyimpan salinannya pada lokasi di memori yang terkait dengan variabel lain. Hanya variable pin yang memiliki nilai 12, sedangkan untuk variable PIN2 memiliki nilai 13. Hal ini mengacu pada bagian dari listing program user di mana variabel tersebut digunakan. Sebagai contoh, jika user ingin dapat menggunakan variabel mana saja dalam programnya, maka user dapat menyatakan di bagian atas listing programnya. Ini disebut variabel global, berikut adalah contohnya: int pin = 13; void setup() { pinMode(pin, OUTPUT); }
{
digitalWrite(pin, HIGH);
}
Seperti yang terlihat, pin yang digunakan di kedua setup () dan loop () fungsi. Kedua fungsi mengacu pada variabel yang sama, sehingga perubahan itu satu akan mempengaruhi nilai yang telah di yang lain, seperti di bawah ini :
int pin = 13; void setup() { pin = 12; pinMode(pin, OUTPUT); } void loop() { digitalWrite(pin, HIGH); }
Di sini, digitalWrite () fungsi yang dipanggil dari loop () akan melewati nilai 12, karena itu nilai yang ditugaskan ke variabel di setup () fungsi. Jika user hanya perlu menggunakan variabel dalam sebuah
perintah tunggal, user dapat menyatakan variable tersebut di Setup (), sehingga ruang lingkup variable tersebut akan terbatas pada perintah tersebut. Sebagai contoh :
void setup() { int pin = 13; pinMode(pin, OUTPUT); digitalWrite(pin, HIGH); }
Dalam perintah ini, pin variabel hanya dapat digunakan dalam setup () fungsi. Jika user mencoba untuk melakukan sesuatu seperti ini:
void loop() {
digitalWrite(pin, LOW); // wrong: pin is not in scope here.
}
User akan mendapatkan pesan yang sama seperti
sebelumnya"error: pin was not declared in this scope". Hal ini berarti meskipun user telah menyatakan variable pin dalam program, user mencoba untuk menggunakan suatu variabel di luar jangkauannya. Hal ini berarti jika sebuah variabel bersifat global, nilainya bisa diubah di
memahami keseluruhan program untuk mengetahui apa yang akan terjadi pada variabel. Misalnya, jika variabel user memiliki nilai yang tidak Anda harapkan, akan lebih mudah untuk mencari tahu di mana nilai tersebut berasal dari jika variabel memiliki ruang lingkup terbatas.
2.3.3.2 Fungsi-Fungsi
Segmentasi program ke fungsi memungkinkan programmer untuk membuat potongan-potongan program yang melakukan tugas yang telah didefinisikan sebelumnya dan kemudian kembali ke awal program dimana fungsi itu dipanggil. Menciptakan sebuah fungsi sangat berguna ketika salah satu kebutuhan untuk melakukan tindakan yang sama beberapa kali dalam sebuah program.
Untuk programer yang terbiasa menggunakan BASIC, fungsi dalam Arduino memberikan (dan memperluas) kegunaan menggunakan subrutin (gosub dalam BASIC). Menstandarisasikan program ke fungsi memiliki beberapa keuntungan yaitu membantu programmer tetap terorganisir yang seringkali hal ini membantu pada awal konsep program. Fungsi juga mengelompokan satu tindakan dalam satu tempat sehingga fungsi hanya harus dipikirkan dan debugged sekali. Hal ini juga mengurangi kemungkinan untuk kesalahan dalam modifikasi, jika ada listing program yang perlu diubah. Fungsi juga membuat sketsa keseluruhan menjadi lebih kecil dan lebih kompak karena hanya bagian
kode tertentu saja yang digunakan kembali berkali-kali. Fungsi membuat lebih mudah untuk menggunakan kembali kode dalam program lain dengan membuatnya lebih modular, dan sebagai efek sampingnya, menggunakan fungsi juga sering membuat program lebih mudah dibaca.
Ada dua fungsi yang diperlukan dalam sketsa Arduino, setup () dan
loop (). Fungsi lainnya harus dibuat di luar kurung dari dua fungsi.
Sebagai contoh, dibawah ini adalah fungsi sederhana untuk mengalikan dua angka. void setup(){ Serial.begin(9600); } void loop() { int i = 2; int j = 3; int k;
k = myMultiplyFunction(i, j); // k now contains 6 Serial.println(k);
delay(500); }
int result; result = x * y; return result;
}
2.3.3.3 Library-Library
Sebuah Kelas hanyalah sebuah kumpulan fungsi dan variabel yang semua berada di satu tempat. Fungsi-fungsi dan variabel dapat bersifat publik, yang berarti bahwa mereka dapat diakses oleh orang yang menggunakan library user, atau Private yang berarti mereka hanya dapat diakses dari dalam kelas itu sendiri. Setiap kelas memiliki fungsi khusus yang dikenal sebagai konstruktor, yang digunakan untuk membuat sebuah instance dari kelas. Konstruktor ini memiliki nama yang sama dengan kelas, dan tidak ada jenis kembali.
Library menyediakan fungsionalitas tambahan untuk digunakan
dalam sketch, misalnya menggunakan perangkat keras atau memanipulasi data. Untuk menggunakan perpustakaan di sketch, pilih Sketch> Impor
Library Menu. Hal ini akan memasukkan satu atau lebih pernyataan #
include di bagian atas sketch dan akan mengcompile sketch user dengan
Library. Karena library masuk ke sketch user hal ini menyebabkan
tidak lagi membutuhkan library, cukup hapus pernyataannya # include dari atas sketch.
Ada banyak library yang sudah ada di dalam perangkat lunak arduino, Dan beberapa dapat diunduh dari berbagai sumber. Library dapat ditemukan dalam folder khusus, dan biasanya akan berisi sedikitnya dua file dengan akhiran h dan satu dengan akhiran cpp.