Pemanfaatan fungsi modulo di Arduino



Modulo adalah sebuah fungsi yang digunakan untuk mengetahui sisa pembagian dari bilangan, penulisan modulo secara umum adalah a mod b = ....., contoh real-nya misal kita ingin mengetahui sisa pembagian dari 5/2, maka penulisannya adalah 5 mod 2, hasil yang akan didapatkan adalah 1, karena 5 tidak bisa habis jika dibagi 2. kenapa?, karena hasil dari pembagian tersebut akan menghasilkan koma (bukan bilangan bulat), sedangkan  yang habis dibagi dengan 2 adalah 2 dan kelipatannya, seperti 4,6,8 dan seterusnya. sedangkan jika 5/2 maka maka hasilnya adalah 2,5. Begitu juga jika 5/3, maka hasilnya adalah 2.

Untuk beberapa hal kita akan membutuhkan fungsi modulo ini, terutama dalam hal otomatisasi. Dalam Artikel ini saya akan membahas mengenai pemanfaatan modulo dengan menggunakan push-button dan LED yang hanya akan menyala  jika kita menekan pushbutton sebanyak 2 dan kelipatannya (4,6,8,9,10 ........n), 

langkah – langkah perancangan alatnya adalah sebagai berikut:
- hubungkan pin sebelah kiri button dihubungkan dengan Ground,
- hubungkan pin sebelah kanan button pin digital 3, pin ini akan kita jadikan sebagai input.
- selanjutnya hubungkan Arduino nano dengan komputer dengan menggunakan Kabel USB
- jika sudah, selanjutnya buka Arduino IDE, kemudian buat program sebagai berikut:


kemudian untuk programnya, saya buat sebagai berikut:

1. const int button = 3;
2. const int led= 13;
3. // Variables yang berubah
4. int penghitung = 0;
5. int sekarang = 0;
6. int terakhir = 0;
7. void setup() {
8. pinMode(button, INPUT_PULLUP);
9. pinMode(led, OUTPUT);
10. Serial.begin(9600);}
11. void loop() {
12. sekarang = digitalRead(button);
13. if (sekarang != terakhir) {
14. if (sekarang == LOW) {
15. penghitung++; //sama dengan +1
16. Serial.print("terhitung: ");
17. Serial.println(penghitung); }
18. else { Serial.println("off"); }
19. } terakhir = sekarang;
20. if (penghitung % 2 == 0) { //jika tombol ditekan sebanyak 2 kali (habis dibagi 2
21. digitalWrite(led, HIGH); //maka lampu akan menyala
22. } else {
23. digitalWrite(led, LOW);
24. } }



Selanjutnya upload program yang sudah kita buat, kemudian lihat hasilnya. Jika program yang dibuat benar maka LED akan menyala ketika kita menekan button sebanyak 2 kali. Pembahasan Program untuk input button, saya menggunakan INPUT_PULLUP, dengan menggunakan pullup maka button akan bernilai HIGH dalam keadaan normal, dan bernilai LOW ketika ditekan. Hal itu dapat kita lihat pada bagian program.
IF (sekarang == LOW){

kemudian pada saat ditekan maka akan dilakukan penghitungan, seperti kita lihat pada bagian program

penghitung++;

artinya ketika tombol ditekan maka nilai akan ditambah 1. kemudian jika jumlah tekanan tombol sudah mencapai 2 (atau dapat dibagi dengan 2) maka lampu akan menyala. Perintah untuk melakukan hal tersebut dapat kita lihat pada bagian program

if (penghitung %2 == 0) {
digitalWrite(led, HIGH);
}else {
digitalWrite(led, LOW); }


dalam pemrograman, modulo dilambangkan dengan %, seperti yang dapat kita lihat pada program diatas.
percobaan lain yang pernah saya lakukan adalah tentang otomatisasi lift, dimana jika lift berada diantara 2 lantai, sedangkan kondisi listrik lift padam, maka aktuator untuk pengereman lift akan berfungsi menempatkan lift di lantai yang tepat, dan menahan lift jatuh. Untuk lebih jelasnya dapat dilihat pada link




Comments