Thursday, September 4, 2025

Dasar Program Ardiuno


 coding Arduino berpusat pada bahasa pemrograman yang mirip dengan C/C++ dan menggunakan dua fungsi inti untuk menjalankan program



Arduino IDE download links:


🧠 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 baris

  • Multi-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 DataDeskripsiContoh Deklarasi
intBilangan bulat (integer)int nilaiSensor = 0;
floatBilangan pecahan/desimalfloat suhu = 25.5;
boolNilai Boolean (True atau False)bool lampuMenyala = false;
constVariabel yang nilainya tidak akan berubahconst int pinLed = 13;

3. Fungsi Kontrol Input/Output (I/O)

Ini adalah fungsi dasar Arduino untuk berinteraksi dengan pin.

FungsiTipe PinKegunaanContoh
pinMode(pin, mode)DigitalMenentukan apakah pin berfungsi sebagai INPUT atau OUTPUT.pinMode(2, INPUT);
digitalWrite(pin, value)Digital OutputMengatur pin ke HIGH (5V) atau LOW (0V).digitalWrite(13, HIGH);
digitalRead(pin)Digital InputMembaca nilai dari pin digital (hasilnya HIGH atau LOW).int tombol = digitalRead(2);
analogRead(pin)Analog InputMembaca tegangan analog dan mengonversinya menjadi nilai 0 hingga 1023.int cahaya = analogRead(A0);
delay(ms)UtilitasMemberhentikan 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.

C++
// 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.

C++
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.

C++
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

  1. Arduino Uno

  2. LDR (Light Dependent Resistor)

  3. Resistor (misalnya $10 \text{k} \Omega$)

  4. Kabel Jumper

🔗 Skema Rangkaian Dasar

  1. Hubungkan satu kaki LDR ke pin 5V Arduino.

  2. Hubungkan kaki LDR yang lain ke pin Analog A0 Arduino.

  3. Hubungkan kaki Resistor ($10 \text{k} \Omega$) yang terpisah ke pin Analog A0 (kaki yang sama dengan LDR).

  4. 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);
}

0 comments:

Post a Comment

MENU MATERI PRAKARYA DAN KERAJINAN

MATERI KERAJINAN

DAFTAR MATERI:


-

lMATERI REKAYASA


PKWU

DAFTAR MATERI:


DATA LIST VIDEO SISWA


- DATA MENU DAN TUGAS -

Klik Menu untuk masuk kedalam Menu:

LINK ULANGAN