Arduino telah merevolusi dunia elektronik hobi dan prototipe cepat. Inti dari kemudahan penggunaan Arduino terletak pada lingkungan pengembangan terintegrasinya (IDE) dan, yang paling penting, bahasa program Arduino. Meskipun sering disebut sebagai bahasa tersendiri, sebenarnya bahasa pemrograman Arduino merupakan implementasi yang disederhanakan dari bahasa C/C++ standar.
Setiap skrip atau program yang dijalankan oleh mikrokontroler Arduino, yang dikenal sebagai sketch, memiliki struktur dasar yang wajib dipatuhi. Struktur ini membagi kode menjadi dua fungsi utama yang harus didefinisikan:
setup(): Fungsi ini hanya akan dieksekusi sekali saat papan Arduino pertama kali dinyalakan atau tombol reset ditekan. Biasanya digunakan untuk inisialisasi, seperti menentukan mode pin (input atau output) atau memulai komunikasi serial.loop(): Fungsi ini adalah inti dari program. Setelah setup() selesai, kode di dalam loop() akan diulang secara terus menerus (looping) selama daya masih terhubung ke papan. Di sinilah logika utama aplikasi Anda berada.Berikut adalah contoh kerangka dasar sebuah sketch Arduino:
// Definisi variabel global di sini (opsional)
void setup() {
// Inisialisasi pin, serial monitor, dll.
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
// Perintah yang akan diulang terus menerus
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Tunggu 1 detik
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
Bahasa program Arduino mewarisi berbagai tipe data dasar dari C++. Pemilihan tipe data sangat penting untuk efisiensi memori mikrokontroler yang terbatas. Beberapa tipe data yang paling umum digunakan meliputi:
int: Untuk menyimpan bilangan bulat (biasanya dari -32,768 hingga 32,767).float: Untuk bilangan desimal atau pecahan.boolean: Menyimpan nilai true (1) atau false (0).char: Untuk menyimpan satu karakter.void: Digunakan untuk fungsi yang tidak mengembalikan nilai, seperti setup() dan loop().Salah satu kekuatan terbesar bahasa Arduino adalah adanya pustaka (library) fungsi bawaan yang sangat mempermudah interaksi dengan perangkat keras. Fungsi-fungsi ini menghilangkan kebutuhan untuk menulis kode register yang kompleks.
Untuk mengontrol pin digital, kita menggunakan:
pinMode(pin, mode): Menetapkan pin sebagai INPUT atau OUTPUT.digitalWrite(pin, value): Memberikan tegangan HIGH (5V) atau LOW (0V) ke pin output.digitalRead(pin): Membaca status tegangan dari pin input.Untuk sensor atau aktuator yang bekerja dengan rentang nilai (seperti potensiometer atau servo):
analogRead(pin): Membaca nilai tegangan analog pada pin input (biasanya menghasilkan nilai 0 hingga 1023).analogWrite(pin, value): Mengirimkan sinyal Pulse Width Modulation (PWM) ke pin yang mendukungnya (nilai 0 hingga 255).Sama seperti C++, Arduino mendukung struktur kontrol aliran untuk membuat keputusan dan pengulangan:
if, else if, else untuk menjalankan kode berdasarkan kondisi tertentu.for dan while untuk mengulangi blok kode beberapa kali atau sampai kondisi tertentu terpenuhi.Pemahaman yang kuat mengenai dasar-dasar C++ yang diterapkan dalam lingkungan Arduino ini adalah kunci untuk membangun proyek elektronik yang kompleks dan inovatif. Dengan sintaks yang ringkas dan dukungan komunitas yang besar, bahasa program Arduino menjadi pintu gerbang yang ideal bagi siapa saja yang ingin terjun ke dunia pemrograman mikrokontroler.