}
const int nilBit[] = {0, 1, 2, 3, 4, 5, 6, 7}; // pin led
const int bitCount = sizeof(nilBit) / sizeof(int); //
jumlah bit
Program ini adalah deklarasi dua variabel konstan bertipe integer. Variabel pertama
bernama nilBit berisi larik (array) dengan 8 elemen bertipe integer yang nilainya adalah 0, 1,
2, 3, 4, 5, 6, dan 7.
Variabel kedua bernama bitCount adalah variabel konstan yang nilainya dihitung
berdasarkan jumlah elemen pada larik nilBit. Nilai variabel bitCount akan dihasilkan dengan
membagi ukuran total larik nilBit dengan ukuran (jumlah byte) dari tipe data integer. Dalam
hal ini, karena tipe data integer membutuhkan 2 byte atau 16 bit, dan jumlah elemen pada nilBit
Dalam konteks tertentu, variabel nilBit dan bitCount mungkin digunakan untuk mengontrol
LED yang terhubung ke pin-pin tertentu pada mikrokontroler. Nilai pada nilBit dapat
digunakan sebagai nomor pin output untuk mengontrol LED, sedangkan bitCount dapat
digunakan sebagai jumlah LED yang perlu diatur. Namun, tanpa melihat bagian program
lainnya, tidak dapat dipastikan penggunaan yang tepat dari kedua variabel konstan ini.
int Inp = A0;
int dtInp = 0;
void setup() {
Program tersebut merupakan kode untuk platform mikrokontroler Arduino, dimana terdapat
secara utuh.Pada baris pertama, terdapat deklarasi variabel Inp yang diinisialisasi dengan nilai
A0. Variabel Inp akan digunakan untuk menentukan pin input yang akan digunakan pada board
Arduino.
Selanjutnya pada baris kedua, variabel dtInp diinisialisasi dengan nilai 0. Variabel ini akan
digunakan untuk menyimpan nilai bacaan analog dari pin input yang telah
untuk melakukan inisialisasi terhadap board Arduino sebelum program utama dijalankan.
Fungsi setup() merupakan fungsi bawaan yang dimiliki oleh platform mikrokontroler
Arduino dan akan dijalankan secara otomatis pada saat board Arduino dinyalakan atau di-reset.
Pada program ini, fungsi setup() kosong tanpa adanya instruksi apapun. Artinya, tidak ada
kode program yang dijalankan di dalam fungsi setup(). Namun, fungsi setup() harus selalu ada
pada setiap program Arduino sebagai bagian dari aturan dasar yang harus dipatuhi.
for (int i = 0; i < bitCount; i++) { // loop untuk setiap led
pinMode(nilBit[i], OUTPUT); // konfigurasi pin sebagai output
}
Program tersebut merupakan kode untuk platform mikrokontroler Arduino, dimana terdapat
secara utuh.
Pada program tersebut, terdapat sebuah perulangan for yang digunakan untuk mengatur pin
LED. Perulangan tersebut berjalan sebanyak bitCount, dimana nilai bitCount diinisialisasi
dengan nilai jumlah elemen dalam array nilBit dibagi dengan ukuran tipe data int.
Dalam setiap iterasi perulangan, dilakukan konfigurasi pin sebagai output dengan
mengatur mode sebuah pin pada board Arduino, apakah digunakan sebagai input atau output.
Pada program ini, semua pin pada array nilBit diatur sebagai output karena akan digunakan
Program tersebut merupakan kode untuk platform mikrokontroler Arduino, dimana terdapat
fungsi-fungsi untuk mengakses dan mengontrol board secara interaktif melalui komunikasi
serial.
Pada baris pertama program, terdapat fungsi Serial.begin(9600) yang digunakan untuk
membuka koneksi serial antara board Arduino dengan perangkat luar (misalnya komputer).
Fungsi ini dijalankan hanya sekali di dalam fungsi setup() dan digunakan untuk mengatur
Selanjutnya, pada baris kedua program, terdapat fungsi loop(). Fungsi ini merupakan fungsi
bawaan pada platform mikrokontroler Arduino yang akan dijalankan secara terus-menerus
Isi dari fungsi loop() tergantung pada kebutuhan pengguna, dimana di dalam fungsi loop()
Pada program ini, fungsi loop() kosong tanpa adanya instruksi apapun. Namun, fungsi loop()
harus selalu ada pada setiap program Arduino sebagai bagian dari aturan dasar yang harus
dipatuhi.
for (int i = 0; i < bitCount; i++) { // loop untuk setiap
bit
digitalWrite(nilBit[i], HIGH); // hidupkan pin logika
Program tersebut merupakan kode untuk platform mikrokontroler Arduino, dimana terdapat
fungsi-fungsi untuk mengakses dan mengontrol board secara interaktif.
Pada program tersebut, terdapat perulangan `for` yang berjalan sebanyak `bitCount` kali.
Variabel `i` akan berjalan dari 0 hingga kurang dari `bitCount`, dan akan melakukan instruksi
yang ada di dalam blok perulangan.
Dengan melakukan perulangan tersebut, setiap pin digital yang ada di dalam array `nilBit`
akan diaktifkan (dinyalakan) secara bergantian. Hal ini dapat digunakan sebagai contoh
penggunaan LED pada board Arduino, dimana setiap LED yang terhubung pada pin digital
akan menyala secara bergantian.
dtInp = analogRead(Inp);
dtInp = map(dtInp, 0, 1018, 0, 256);
Program tersebut merupakan kode untuk platform mikrokontroler Arduino, dimana terdapat
Pada program tersebut, terdapat dua instruksi yaitu `analogRead` dan `map`.
Instruksi `analogRead(Inp)`
Berfungsi untuk membaca nilai analog dari pin yang ditentukan (dalam hal ini adalah `Inp`).
Nilai yang dibaca oleh fungsi ini berkisar antara 0 hingga 1023, sesuai dengan resolusi ADC
(analog to digital converter) pada board Arduino.
berfungsi untuk memetakan nilai yang dibaca oleh `analogRead` ke dalam rentang nilai
yang diinginkan. Pada kasus ini, nilai yang dibaca oleh `analogRead` yang awalnya berkisar
antara 0 hingga 1023 akan diubah menjadi nilai antara 0 hingga 256.
Untuk melakukan hal tersebut, fungsi `map` akan melakukan konversi linier dengan
menghitung persentase dari nilai yang dibaca, kemudian memetakan persentase tersebut ke
dalam rentang nilai yang diinginkan. Sebagai contoh, jika nilai yang dibaca oleh `analogRead`
adalah 511, maka nilai yang dihasilkan oleh `map` akan menjadi sekitar 127 (karena 511
merupakan persentase 50% dari 1023, dan 127 merupakan persentase 50% dari 256).
Serial.println(dtInp);
delay (1000);
}
Program tersebut merupakan implementasi dari pembacaan nilai analog dari sensor yang
terhubung ke pin A0 pada mikrokontroler Arduino. Setelah nilai sensor dibaca menggunakan
fungsi `analogRead()`, nilai tersebut akan diubah dengan menggunakan fungsi `map()` untuk
disesuaikan dengan rentang nilai yang dibutuhkan dalam program. Selanjutnya, nilai yang telah
diubah tersebut akan diprint pada monitor serial menggunakan `Serial.println()`. Setelah itu,
terdapat delay selama 1 detik sebelum program kembali ke awal loop untuk membaca nilai
sensor kembali. Dengan demikian, program tersebut akan terus membaca dan menampilkan