coding Arduino berpusat pada bahasa pemrograman yang mirip dengan C/C++ dan menggunakan dua fungsi inti untuk menjalankan program
- Official Download Page:
https://www.arduino.cc/en/software - Windows (App Store):
https://apps.microsoft.com/detail/9nblggh4rsd8
🧠 Struktur Program Dasar Arduino (Sketch)
Program Arduino disebut Sketch. Setiap Sketch harus memiliki struktur minimal dua fungsi utama yang wajib ada:
1. void setup()
Ini adalah fungsi yang dieksekusi satu kali ketika board Arduino dinyalakan atau di-reset.
Fungsi: Digunakan untuk inisialisasi awal. Anda menentukan mode pin (sebagai input atau output), memulai komunikasi serial, atau menginisialisasi library atau modul yang terhubung.
Contoh:
C++void setup() { // Menentukan Pin 13 sebagai OUTPUT untuk menyalakan LED pinMode(13, OUTPUT); // Memulai komunikasi serial untuk menampilkan data ke komputer Serial.begin(9600); }
2. void loop()
Ini adalah fungsi yang dieksekusi berulang-ulang tanpa henti setelah setup() selesai.
Fungsi: Berisi logika utama program, yaitu membaca input (dari sensor), memproses data, dan memberikan output (mengontrol aktuator).
Contoh:
C++void loop() { // Logika utama di sini. Contoh: // Baca sensor, cek kondisi, dan nyalakan/matikan LED }
🔠 Elemen Dasar Coding
1. Komentar
Digunakan untuk memberikan catatan dalam kode. Komentar akan diabaikan oleh Arduino.
Satu Baris:
// Ini adalah komentar satu barisMulti-Baris:
C++/* Ini adalah komentar yang bisa terdiri dari beberapa baris. */
2. Variabel
Digunakan untuk menyimpan data. Anda harus menentukan tipe data saat mendeklarasikan variabel.
| Tipe Data | Deskripsi | Contoh Deklarasi |
| int | Bilangan bulat (integer) | int nilaiSensor = 0; |
| float | Bilangan pecahan/desimal | float suhu = 25.5; |
| bool | Nilai Boolean (True atau False) | bool lampuMenyala = false; |
| const | Variabel yang nilainya tidak akan berubah | const int pinLed = 13; |
3. Fungsi Kontrol Input/Output (I/O)
Ini adalah fungsi dasar Arduino untuk berinteraksi dengan pin.
| Fungsi | Tipe Pin | Kegunaan | Contoh |
pinMode(pin, mode) | Digital | Menentukan apakah pin berfungsi sebagai INPUT atau OUTPUT. | pinMode(2, INPUT); |
digitalWrite(pin, value) | Digital Output | Mengatur pin ke HIGH (5V) atau LOW (0V). | digitalWrite(13, HIGH); |
digitalRead(pin) | Digital Input | Membaca nilai dari pin digital (hasilnya HIGH atau LOW). | int tombol = digitalRead(2); |
analogRead(pin) | Analog Input | Membaca tegangan analog dan mengonversinya menjadi nilai 0 hingga 1023. | int cahaya = analogRead(A0); |
delay(ms) | Utilitas | Memberhentikan program selama waktu tertentu (dalam milidetik). | delay(1000); (Berhenti 1 detik) |
📝 Contoh Program Dasar (Blink LED)
Ini adalah program "Hello World" di Arduino, yang menyalakan dan mematikan LED internal pada Pin 13 secara bergantian.
// Menentukan pin LED yang akan digunakan
const int pinLed = 13;
void setup() {
// Mengatur pinLed (13) sebagai OUTPUT
pinMode(pinLed, OUTPUT);
}
void loop() {
// 1. Nyalakan LED
digitalWrite(pinLed, HIGH);
// Tunggu 1 detik (1000 milidetik)
delay(1000);
// 2. Matikan LED
digitalWrite(pinLed, LOW);
// Tunggu 1 detik
delay(1000);
}
❓ Struktur Kontrol (Logika)
Anda dapat menambahkan logika ke program menggunakan pernyataan kontrol:
A. Kondisional (if/else)
Digunakan untuk menjalankan kode tertentu berdasarkan suatu kondisi.
if (nilaiSensor > 500) {
// Lakukan ini jika kondisi Benar (True)
digitalWrite(pinLed, HIGH);
} else {
// Lakukan ini jika kondisi Salah (False)
digitalWrite(pinLed, LOW);
}
B. Perulangan (for)
Digunakan untuk mengulangi blok kode sebanyak jumlah tertentu.
for (int i = 0; i < 5; i++) {
// Kode di dalam blok ini akan diulang 5 kali
Serial.println(i);
}
berikut adalah contoh sketch lengkap untuk menghubungkan dan membaca data dari sensor analog, yaitu LDR (Light Dependent Resistor) atau sensor cahaya.
💡 Contoh Sketch Arduino: Membaca Sensor LDR
Project ini akan membaca intensitas cahaya menggunakan LDR dan menampilkan nilainya di Serial Monitor pada komputer Anda.
⚙️ Komponen yang Dibutuhkan
Arduino Uno
LDR (Light Dependent Resistor)
Resistor (misalnya $10 \text{k} \Omega$)
Kabel Jumper
🔗 Skema Rangkaian Dasar
Hubungkan satu kaki LDR ke pin 5V Arduino.
Hubungkan kaki LDR yang lain ke pin Analog A0 Arduino.
Hubungkan kaki Resistor ($10 \text{k} \Omega$) yang terpisah ke pin Analog A0 (kaki yang sama dengan LDR).
Hubungkan kaki Resistor yang tersisa ke pin GND Arduino.
Rangkaian ini membentuk pembagi tegangan, di mana nilai tegangan yang masuk ke A0 akan berubah seubah intensitas cahaya yang diterima LDR.
📝 Kode Program (Sketch)
Berikut adalah kode yang akan Anda tulis di Arduino IDE:
C++// -----------------------------------------------------
// 1. Deklarasi Variabel (Global)
// -----------------------------------------------------
// Tentukan pin analog tempat LDR terhubung
const int pinLDR = A0;
// Variabel untuk menyimpan nilai yang dibaca dari sensor
int nilaiCahaya = 0;
// -----------------------------------------------------
// 2. Fungsi Setup: Dijalankan SATU KALI
// -----------------------------------------------------
void setup() {
// Inisialisasi komunikasi Serial Monitor
// pada kecepatan 9600 baud
Serial.begin(9600);
// Pin A0 secara default adalah input, tidak perlu diatur pinMode
// Namun, jika menggunakan pin digital sebagai input/output, gunakan pinMode()
}
// -----------------------------------------------------
// 3. Fungsi Loop: Dijalankan Berulang-ulang
// -----------------------------------------------------
void loop() {
// 1. Baca nilai analog dari pin A0.
// Hasil berupa angka antara 0 (gelap) hingga 1023 (terang)
nilaiCahaya = analogRead(pinLDR);
// 2. Tampilkan hasil bacaan ke Serial Monitor
Serial.print("Nilai Sensor LDR: ");
Serial.println(nilaiCahaya); // println akan membuat baris baru setelah nilai
// 3. Tambahkan jeda waktu agar pembacaan tidak terlalu cepat
delay(500); // Jeda 500 milidetik (0.5 detik)
}
Hasil dan Interpretasi
Setelah Anda mengunggah kode ini ke Arduino dan membuka Serial Monitor di IDE:
Anda akan melihat deretan angka yang terus diperbarui setiap 0.5 detik.
Jika Anda menutup LDR dengan jari (gelap), nilai angka akan menurun (mendekati 0).
Jika Anda mengarahkan cahaya ke LDR (terang), nilai angka akan meningkat (mendekati 1023).
Dengan kode dasar ini, Anda dapat melanjutkan untuk membuat logika kontrol, misalnya:
C++// Tambahkan ini di dalam loop() setelah membaca sensor:
if (nilaiCahaya < 300) {
// Jika gelap (nilai di bawah 300), nyalakan lampu (misalnya LED di pin 13)
digitalWrite(13, HIGH);
} else {
// Jika terang, matikan lampu
digitalWrite(13, LOW);
}



1:39 PM
Ar1f54
Posted in:
0 comments:
Post a Comment