Bab 5 · Arduino Uno R3
Dasar Pemrograman Arduino: setup, loop, dan Variabel
Pahami alur sketch Arduino, tipe data, konstanta, operator, komentar, dan cara membaca hasil program di Serial Monitor.
Baca program dari alurnya
Sketch Arduino memakai C/C++ dengan fungsi yang disediakan Arduino. Kita tidak perlu menghafal semua perintah untuk mulai. Pahami dulu dua tempat utama: setup() untuk persiapan sekali setelah board menyala atau di-reset, dan loop() untuk pekerjaan yang diulang terus.
Program pertama untuk dibaca
const int PIN_LED = LED_BUILTIN;
int jumlahKedip = 0;
void setup() {
pinMode(PIN_LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(PIN_LED, HIGH);
delay(500);
digitalWrite(PIN_LED, LOW);
delay(500);
jumlahKedip = jumlahKedip + 1;
Serial.println(jumlahKedip);
if (jumlahKedip >= 100) {
jumlahKedip = 0;
}
}Pakai LED bawaan, jadi tidak perlu komponen luar. Buka Serial Monitor pada 9600 baud. Setiap satu kali kedip, angka bertambah. Setelah mencetak 100, hitungan diatur ke nol sehingga putaran berikutnya mencetak 1. Reset board juga mengulang hitungan dari awal.
Variabel dan konstanta
Variabel menyimpan nilai yang dapat berubah, seperti jumlahKedip. const menandai nilai yang tidak boleh diubah oleh program, seperti nomor pin. Deklarasi di luar fungsi dapat dipakai oleh setup() dan loop(). Variabel yang dibuat di dalam suatu blok hanya bisa dipakai dalam lingkup blok tersebut.
| Tipe pada Uno R3 | Contoh pemakaian |
|---|---|
| byte: 0 sampai 255 | byte terang = 120; |
| int: −32768 sampai 32767 | int cahaya = 650; |
| unsigned long: bilangan bulat tanpa tanda 32 bit | unsigned long waktu = millis(); |
| float: angka pecahan | float suhu = 27.5; |
| bool: true atau false | bool lampuAktif = true; |
| char: satu karakter | char pilihan = 'A'; |
Rentang int ini berlaku pada Uno R3. Board lain dapat memakai ukuran int berbeda. float juga bukan angka yang selalu tepat sampai digit terakhir; pembulatan merupakan hal biasa.
Tanda yang sering bikin bingung
=mengisi nilai;==membandingkan dua nilai.- Titik koma
;mengakhiri pernyataan. Kurung kurawal{ }membatasi isi fungsi atau percabangan. - Nama membedakan huruf besar dan kecil.
pinLedberbeda denganpinLED. - Komentar
//menjelaskan kode dan tidak dijalankan. - Teks memakai tanda petik ganda, misalnya
"Suhu: "; satu karakter memakai petik tunggal.
Pembagian dua bilangan bulat menghasilkan bilangan bulat: 5 / 2 bernilai 2. Gunakan 5.0 / 2 jika ingin hasil 2.5. Perhatikan hal ini ketika mengolah data sensor.
Coba ubah sendiri
Ubah dua delay menjadi 250. Perhatikan seberapa cepat hitungan bertambah. Tambahkan Serial.print("Kedipan: ") sebelum Serial.println(jumlahKedip). print melanjutkan pada baris yang sama; println mengakhiri baris. Sebelum mengunggah, tekan Verify untuk memeriksa penulisan kode.