Memahami Perintah IF, IF-ELSE atau Struktur Kontrol Keputusan pada Arduino


Membuat Keputusan Pintar: Penggunaan Pernyataan If dan If-Else pada Arduino dengan 1 LED


Arduino adalah platform mikrokontroler yang populer, digunakan untuk mengembangkan berbagai proyek elektronik. Salah satu aspek penting dalam pemrograman Arduino adalah penggunaan pernyataan kondisional, seperti if dan if-else, yang memungkinkan kita untuk membuat keputusan berdasarkan kondisi tertentu. Dalam artikel ini, kita akan menjelaskan secara mendetail tentang penggunaan pernyataan if dan if-else pada Arduino dengan contoh yang sangat sederhana, yaitu mengendalikan satu LED.

Mengapa Percabangan If-Else Penting?

Sebelum kita membahas penggunaan if dan if-else pada Arduino, mari kita pahami mengapa percabangan (branching) dalam pemrograman sangat penting. Saat Anda merancang proyek Arduino, seringkali Anda perlu membuat keputusan berdasarkan kondisi tertentu. Misalnya, Anda ingin menyalakan LED jika suhu ruangan melebihi batas tertentu, atau Anda ingin menggerakkan motor jika sensor mendeteksi gerakan.


Pernyataan if dan if-else memungkinkan Anda untuk mengontrol alur program Anda berdasarkan kondisi. Jika kondisi tertentu terpenuhi, program akan menjalankan satu set tindakan, dan jika tidak, program akan menjalankan tindakan lain. Dengan kata lain, ini adalah cara untuk membuat keputusan otomatis dalam program Anda.

Konsep Dasar If dan If-Else

Pernyataan If

Pernyataan if digunakan untuk menjalankan sebuah blok kode jika suatu kondisi tertentu benar (true). Bentuk dasar pernyataan if adalah sebagai berikut:

if (kondisi) {

  // Blok kode yang akan dijalankan jika kondisi benar (true)

}


Misalnya, jika Anda ingin menyalakan LED jika suhu ruangan melebihi 25°C, Anda dapat menggunakan pernyataan if sebagai berikut:

if (suhu > 25) {

  digitalWrite(ledPin, HIGH); // Nyalakan LED

}


Dalam contoh di atas, jika variabel `suhu` lebih dari 25, maka LED akan dinyalakan.

$ads={1}

Pernyataan If-Else

Pernyataan if-else memberikan dua opsi tindakan yang berbeda, satu untuk kondisi yang benar (if) dan satu untuk kondisi yang salah (else). Bentuk dasar pernyataan if-else adalah sebagai berikut:

if (kondisi) {

  // Blok kode yang akan dijalankan jika kondisi benar (true)

} else {

  // Blok kode yang akan dijalankan jika kondisi salah (false)

}


Misalnya, jika Anda ingin menyalakan LED jika suhu ruangan melebihi 25°C, dan jika tidak, matikan LED, Anda dapat menggunakan pernyataan if-else seperti ini:

if (suhu > 25) {

  digitalWrite(ledPin, HIGH); // Nyalakan LED

} else {

  digitalWrite(ledPin, LOW); // Matikan LED

}


Dalam contoh di atas, jika suhu lebih dari 25, LED akan dinyalakan, dan jika tidak, LED akan dimatikan.

Contoh Praktis: Mengendalikan LED dengan If dan If-Else

Untuk mendemonstrasikan penggunaan pernyataan if dan if-else pada Arduino, mari kita lihat contoh praktis sederhana: mengendalikan satu LED berdasarkan kondisi tertentu. Anda akan memerlukan peralatan berikut:


1. Arduino Uno atau board Arduino lainnya.

2. LED (Light Emitting Diode).

3. Resistor 220-330 Ohm.

4. Kabel jumper.

5. Breadboard (opsional).

Langkah 1: Rangkai LED dengan Resistor

Pertama-tama, kita akan merangkai LED dengan resistor. Ini diperlukan untuk melindungi LED dari arus yang terlalu tinggi dan memastikan LED tidak rusak. Ikuti langkah-langkah ini:


1. Hubungkan kaki panjang LED (anoda) ke pin digital 13 pada Arduino.

2. Sambungkan kaki pendek LED (katoda) ke salah satu ujung resistor (220-330 Ohm).

3. Sambungkan ujung lain dari resistor ke ground (GND) pada Arduino.


Rangkaian ini akan memungkinkan kita mengendalikan LED dari pin digital 13 Arduino.

Untuk lebih jelasnya silahkan perhatikan gambar berikut:


 

Langkah 2: Program Arduino

Sekarang, mari buat program Arduino yang akan mengendalikan LED berdasarkan kondisi tertentu. Program ini akan membaca nilai dari sensor analog (dalam hal ini, kita akan menggunakan potensiometer sebagai contoh) dan menyalakan LED jika nilai sensor melebihi batas tertentu. Kode programnya adalah sebagai berikut:

int ledPin = 13; // Definisikan pin yang akan digunakan untuk LED

void setup() {

  pinMode(ledPin, OUTPUT); // Atur pin sebagai OUTPUT

}

void loop() {

  int sensorValue = analogRead(A0); // Baca nilai dari sensor analog (misalnya, potensiometer)

  if (sensorValue > 512) {

    digitalWrite(ledPin, HIGH); // Nyalakan LED jika nilai sensor lebih dari 512

  } else {

    digitalWrite(ledPin, LOW); // Matikan LED jika nilai sensor kurang dari atau sama dengan 512

  }

}

Mari kita jelaskan bagian-bagian utama dari kode di atas:

  • int ledPin = 13; menginisialisasi variabel ledPin untuk menyimpan nomor pin yang akan digunakan untuk mengontrol LED.
  • void setup() adalah fungsi yang dijalankan sekali pada awal program. Di dalamnya, kita mengatur ledPin sebagai OUTPUT menggunakan pinMode().
  • void loop() adalah fungsi yang akan terus berulang. Di dalamnya, kita membaca nilai dari sensor analog yang terhubung ke pin A0 menggunakan analogRead(). Kemudian, kita menggunakan pernyataan if-else untuk membuat keputusan: jika nilai sensor lebih dari 512, LED akan dinyalakan; jika tidak, LED akan dimatikan.

Langkah 3: Unggah Program dan Amati Hasilnya

Setelah Anda telah membuat rangkaian dan memasukkan kode program ke Arduino IDE, hubungkan Arduino ke komputer Anda menggunakan kabel USB dan unggah program ke Arduino. 

Setelah unggahan selesai, amati LED yang terhubung ke pin 13. Saat Anda memutar potensiometer (atau mengganti nilai analog yang masuk), Anda akan melihat LED menyala saat nilai sensor melebihi 512 dan mati saat nilai sensor kurang dari atau sama dengan 512.

Pengayaan

Agar lebih memperkaya pengalaman praktik kita silahkan buat kode program seperti berikut lalu amati apa yang terjadi pada LED tersebut.



const int pinLED = 13;
void setup() {

 pinMode(pinLED, OUTPUT); // pin LED sebagai output

}


int timeDelay = 1000; // awal time delay 1000 | 1 detik

void loop() {
  
  timeDelay = timeDelay - 100; // Setiap looping, nilai timeDelay dikurangi 100 

  /* Jika timeDelay bernilai 0 atau negatif
    maka nilai timeDelay direset ke 1000
  */
  if (timeDelay <= 0) {
    timeDelay = 1000;
  }

  //Nyalakan dan matikan LED selama timeDelay
  digitalWrite(pinLED, HIGH);
  delay(timeDelay);
  digitalWrite(pinLED, LOW);
  delay(timeDelay);

}


Kesimpulan

Percabangan if dan if-else adalah konsep dasar dalam pemrograman yang memungkinkan kita membuat keputusan berdasarkan kondisi tertentu. Pada Arduino, pernyataan if dan if-else sangat penting untuk mengontrol perangkat elektronik berdasarkan input atau sensor tertentu. Dalam contoh yang kita bahas di atas, kita telah berhasil mengendalikan satu LED dengan pernyataan if dan if-else, tetapi konsep ini dapat digunakan dalam proyek-proyek yang lebih kompleks dengan lebih banyak kondisi dan tindakan yang berbeda. Semoga artikel ini membantu Anda memahami penggunaan dasar pernyataan if dan if-else pada Arduino. Dengan pemahaman ini, Anda dapat mulai merancang proyek-proyek Arduino yang lebih menarik dan bermanfaat. Selamat berkreativitas!

Apa Komentarmu?

Lebih baru Lebih lama