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

Tuesday, September 2, 2025

project board



Project Board
(lebih umum dikenal sebagai Breadboard di kalangan elektronika) adalah sebuah papan prototipe yang berfungsi sebagai dasar untuk merakit rangkaian elektronik sementara tanpa perlu melakukan penyolderan.

 🛠️ Fungsi Utama Project Board

Fungsi utama project board adalah:

  • Prototipe Cepat: Memungkinkan para pelajar, hobiis, atau insinyur untuk membuat dan menguji ide rangkaian dengan cepat.

  • Fleksibel dan Dapat Digunakan Kembali: Komponen elektronik (seperti resistor, kapasitor, IC, dan kabel jumper) dapat ditancapkan dan dicabut berkali-kali tanpa merusak komponen.

  • Pengujian dan Debugging: Memudahkan proses pelacakan kesalahan (debugging) karena koneksi bersifat sementara dan mudah diubah.




🏗️ Struktur Internal

Meskipun terlihat seperti papan dengan banyak lubang, lubang-lubang pada project board terhubung secara internal dengan pola spesifik:

  1. Jalur Komponen (Area Tengah)

    • Lubang-lubang terhubung secara horizontal (satu baris, dari kiri ke kanan).

    • Terdapat alur pemisah di tengah yang membagi area ini, biasanya digunakan untuk menempatkan Integrated Circuit (IC) atau chip lainnya.

  2. Jalur Daya (Power Rails)

    • Lubang-lubang terhubung secara vertikal (satu kolom, dari atas ke bawah).

    • Jalur ini biasanya terletak di pinggir papan dan ditandai dengan merah (positif/VCC) dan biru/hitam (negatif/Ground). Ini memudahkan distribusi daya ke seluruh rangkaian.

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