BerandaArduinoBelajar Arduino! Apa Itu Fungsi (Void Setup, Loop)

Belajar Arduino! Apa Itu Fungsi (Void Setup, Loop)

Fungsi pada arduino sudah disiapkan diawal secara default yakni void setup() dan void loop(). Fungsi setup(), akan menjalankan program sekali setelah Arduino pertama kali hudup atau restart. Sedangkan Fungsi loop(), akan dijalankan berulang (looping) terus menerus selama Arduino menyala.

Apa itu void? merupakan type data yang yang digunakan untuk mendeklarasikan sebuah fungsi tanpa mengembalikan sebuah nilai. Kita juga dapat membuat sebuah fungsi baru dengan type data lain, misalnya int, byte, boolean, String, char, char* (array). Untuk mengembalikan nilai data ke dalam fungsi dapat menggunakan perintah return.

Manfaat fungsi apa sih? tentu saja dengan menggunakan fungsi, apa bila kalian memiliki sebuah perintah yang sering digunakan berulang-ulang, menggunakan fungsi jauh lebih baik karena dapat menghemat waktu penulisan kita dalam membuat sebuah program.

Nah pada artikel ini akan Belajar Arduino! Apa Itu Fungsi (Void Setup, Loop). Langsung aja kita masuk ke materinya.

Contoh Fungsi LCD

Dengan menggunakan fungsi, kita dapat menggunakan perintah dalam satu baris saja untuk melakukan print lcd. Berikut contoh program fungsi LCD dalam satu baris.

#include "LiquidCrystal_I2C.h"

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.begin();

  // Print LCD tanpa Fungsi
  lcd.setCursor(0, 0);
  lcd.print("BELAJAR ARDUINO");

  // Print LCD dengan FUngsi
  lcdPrint(0, 1, "FansElectronics");
}

void loop() {
}

// Print LCD dengan type msg char*
void lcdPrint(uint8_t x, uint8_t y, char* msg) {
  lcd.setCursor(x, y);
  lcd.print(msg);
}
// Print LCD dengan type msg char
void lcdPrint(uint8_t x, uint8_t y, char msg) {
  lcd.setCursor(x, y);
  lcd.print(msg);
}
// Print LCD dengan type msg String
void lcdPrint(uint8_t x, uint8_t y, String msg) {
  lcd.setCursor(x, y);
  lcd.print(msg);
}
// Print LCD dengan type msg int
void lcdPrint(uint8_t x, uint8_t y, int msg) {
  lcd.setCursor(x, y);
  lcd.print(msg);
}
// Print LCD dengan type msg uint8_t
void lcdPrint(uint8_t x, uint8_t y, uint8_t msg) {
  lcd.setCursor(x, y);
  lcd.print(msg);
}
// Print LCD dengan type msg float
void lcdPrint(uint8_t x, uint8_t y, float msg) {
  lcd.setCursor(x, y);
  lcd.print(msg);
}
// bisa tambahkan type data lain dengan nama fungsi sama tidak masalah

Contoh Fungsi Matematika

Untuk melakukan kalkulasi yang terperinci, misal perhitungan sensor, perhitungan matematika lainnya. Kalian dapat gunakan sebuah fungsi untuk mempermudahnya. Berikut contohnya.

void setup() {
  Serial.begin(9600);

  Serial.println(penjumlahan(1, 1));  // 1 + 1
  Serial.println(pengurangan(5, 1));  // 5 - 1
  Serial.println(perkalian(5, 2));    // 5 x 2
  Serial.println(pembagian(10, 2));   // 10 / 2
}

void loop() {
}

// penjumlahan
int penjumlahan(int val1, int val2) {
  return val1 + val2; // kembalikan nilai
}
// pengurangan
int pengurangan(int val1, int val2) {
  return val1 - val2; // kembalikan nilai
}
// perkalian
int perkalian(int val1, int val2) {
  return val1 * val2; // kembalikan nilai
}
// pembagian
float pembagian(int val1, int val2) {
  return val1 / val2; // kembalikan nilai
}

Fungsi Baca Tombol

Fungsi untuk menyederhankan bahasa pada tombol agar mudah dipahami. Kalian juga dapat memanfaatkan fungsi untuk memudahkan bahasa dalam sebuah perintah agar lebih berbahasa manusia.

// PIN
#define BTN A0
#define LED 13

// Logika
#define ON HIGH
#define OFF LOW

void setup() {

  pinMode(BTN, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
}

void loop() {
  if (bacaTombol()) {
    // Program lain ketika tombol ditekan
    // Misal nyalakan LED
    digitalWrite(LED, ON);
  }
}

// baca tombol, agak mudah dipahami
bool bacaTombol(uint8_t pin) {
  // Jika ditekan = LOW, karena pullup
  if (digitalRead(pin) == LOW) {
    return true;  // jika ditekan = true
  }
  return false;  // jika tidak = false
}

Gimana menurut kalian mudah kan? Nah sekian dulu pembahasan Belajar Arduino! Apa Itu Fungsi (Void Setup, Loop) semoga bermanfaat untuk kalian. Apabila ada pertanyaan mari berdiskusi di kolom komentar di bawah. Bye Bye dan Salam Elektronik

Irfan Indra Kurniawan
Irfan Indra Kurniawanhttps://fanselectronics.com/
Tukang Solder Yang Penuh Cerita :D

Topic Populer

Tag Populer

Artikel Terkait