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:
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.
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
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
- 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
Post a Comment