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