Sabtu, 22 Oktober 2022

Menggabungkan Dua atau Lebih Program Arduino

Untuk menggabungkan program sebenarnya bukan hal yang sulit bagi kalian yang sudah menguasai bahasa pemrograman. Ketika logika program sudah berjalan, bahasa pemrograman hanya cara pengucapan saja. Langsung saja kita menuju contoh yang sederhana terlebih dahulu.

Misal memiliki program untuk menyalakan LED berkedip-kedip setiap satu detik. Seperti inilah programnya.

01

//Program Button oleh titl smkn 5 jkt

02

 

 

03

  #define LED 2

04

  #define button 3

 

05

void setup() {

06

  pinMode(LED, OUTPUT);

 

07

  pinMode(button, INPUT);

08

}

 

09

 

10

void loop() {

 

11

  int kondisiB = digitalRead(button);

12

  if (kondisiB == HIGH) {

 

13

    digitalWrite(LED, HIGH);

14

  }

 

15

  else {

16

    digitalWrite(LED, LOW);

 

17

  }

18

}

 

Selanjutnya kita  ingin menggabungkan program di atas dengan program saya yang lainnya, yaitu program button. Di program ini, kita dapat menyalakan LED dengan memencet tombol button. Seperti inilah programnya.

01

//Program Button oleh titl smkn5 jkt

02

 

 

03

  #define LED 2

04

  #define button 3

 

05

void setup() {

06

  pinMode(LED, OUTPUT);

 

07

  pinMode(button, INPUT);

08

}

 

09

 

10

void loop() {

 

11

  int kondisiB = digitalRead(button);

12

  if (kondisiB == HIGH) {

 

13

    digitalWrite(LED, HIGH);

14

  }

 

15

  else {

16

    digitalWrite(LED, LOW);

 

17

  }

18

}

Tujuan program gabungannya adalah menjadikan tombol button ini menjadi tombol untuk LED berkedip. Maka hal yang perlu kita perhatikan bagian per bagiannya. Dalam program di atas, kita bisa membaginya menjadi 3 sebagai berikut.

Inisialisasi variabel

Jadi yang pertama kita lakukan adalah menentukan variabel selanjutnya untuk program kita. Dalam contoh di atas, variabel yang digunakan untuk program pertama adalah

01

#define LED_merah 2

Sedangkan untuk program kedua, variabel yang digunakan adalah

01

#define LED 2

02

#define button 3

Jika kedua variabel tersebut digabungkan, variabel yang memiliki fungsi yang sama harus diberi nama yang sama. Dalam hal ini, LED_merah pada program berkedip, dapat kita samakan nama variabelnya dengan LED pada program button. Sehingga program selanjutnya adalah sebagai berikut.

01

#define LED_merah 2 //boleh menggunakan nama lainnya

02

#define button 3

Void setup()

Bagian selanjutnya ada pada bagian void setup().

Bagian ini merupakan salah satu function yang hanya menjalankan satu kali sebagai pembuka awal. Pada program pertama, void setup() berisi

01

void setup() {

02

  pinMode(LED_merah, OUTPUT);

 

03

}

Sedangkan pada program kedua, void setup () berisi

01

void setup() {

02

  pinMode(LED, OUTPUT);

 

03

  pinMode(button, INPUT);

04

}

Pada bagian ini, kita dapat langsung menyesuaikan dengan program pada inisialisasi variabel. LED_merah ini kita samakan dengan LED, sehingga hasilnya menjadi

01

void setup() {

02

  pinMode(LED_merah, OUTPUT); // boleh menggunakan nama lainnya

 

03

  pinMode(button, INPUT);

04

}

Void loop()

Bagian sebelumnya terlihat kita hanya mengganti nama di program kedua saja. Hal ini dikarenakan pada program kedu memang sudah memiliki variabel yang dibutuhkan untuk membuat penggabungan. Untuk selanjutnya pada void loop() kita akan melihat cara memasukkan program sesuai dengan tujuan kita yaitu LED menyala berkedip ketika tombol button ditekan dan mati ketika button dilepas. Program void loop() pada program pertama adalah sebagai berikut.

01

void loop() {

02

  digitalWrite(LED_merah, HIGH); 

 

03

  delay(1000);                     

04

  digitalWrite(LED_merah, LOW);   

 

05

  delay(1000);                     

06

}

Program ini akan membuat LED_merah berkedip dengan menyala dan mati (HIGH dan LOW). Pada program void loop di program kedua adalah sebagai berikut.

01

void loop() {

02

  int kondisiB = digitalRead(button);

 

03

  if (kondisiB == HIGH) {

04

    digitalWrite(LED, HIGH);

 

05

  }

06

  else {

 

07

    digitalWrite(LED, LOW);

08

  }

 

09

}

Program di atas digunakan untuk menyalakan LED dengan menekan button. Dan ketika tidak ditekan, LED akan mati. Jika diuraikan maka artinya menjadi

If (kondisiB==HIGH) artinya jika button high (menyala atau ditekan)

digitalWrite(LED, HIGH); artinya LED akan high atau menyala.

else artinya jika tidak

digitalWrite(LED, LOW) artinya LED akan low atau mati.

 

Maka jika kita gabungkan antara keduanya, program yang dihasilkan adalah sebagai berikut.

01

void loop() {

02

  int kondisiB = digitalRead(button); //ini bagian membaca button jangan diubah ya

 

03

  if (kondisiB == HIGH) { //jika button ditekan

04

    digitalWrite(LED_merah, HIGH);  //LED merah menyala

 

05

  delay(1000);                      //jalankan LED merah menyala 1000ms

06

  digitalWrite(LED_merah, LOW);    //LED merah mati

 

07

  delay(1000);                      //jalankan LED merah mati 1000ms

08

  }

 

09

//program di atas akan terus berulang hingga button tidak ditekan

10

  else {  //jika tidak (button tidak ditekan

 

11

  digitalWrite(LED_merah, LOW);    //LED merah mati

12

  }

 

13

//program ini juga akan terus berjalan hingga button ditekan lagi.

14

}

Jika masih ada function tambahan, maka perhatikan fungsi function tersebut khususnya di mana letak function tersebut dipanggil . Ketika setiap bagian sudah digabungkan, maka sisanya hanya perlu menghubungkan semuanya menjadi satu program.

Begitulah cara menggabungkan dua program arduino. Sudah jelas? Jika teman-teman ingin coba menggabungkan program lainnya, coba komen di bawah.

Tidak ada komentar:

Posting Komentar