3. Rangkaian Percobaan dan Prinsip Kerja [Kembali]
Pada rangkaian diatas push button sebagai input dan LCD, LED, Buzzer sebagai output. Ketika tidak ada interupsi, LED terus menyala, dan layar LCD menampilkan nilai hitungan yang terus bertambah. Nilai hitungan ini ditambah +1 setiap kali melalui lingkaran loop. Namun, ketika terjadi perubahan posisi switch maka akan dijalankan interupt dimana LED dimatikan, buzzer dinyalakan, dan nilai hitungan direset menjadi nol untuk digit pertama. Ini terjadi karena interupsi hanya terjadi ketika sinyal pada pin 2 berubah dari logika 1 ke logika 0 (falling) atau sebaliknya. Setelah itu, program menunggu selama 100 detik sebelum melanjutkan eksekusi lagi.
5. Kondisi [Kembali]
6. Video Demo [Kembali]
1. Bagaimana switch pada percobaan dapat mengaktifkan suatu instruksi baru? Bandingkan rangkaian tugas pendahuluan dengan rangkaian saat praktikum!
Jawab:
Switch terhubung ke pin 2 Arduino sebagai sumber interrupt eksternal. Ketika switch tersebut ditekan atau perubahan posisi atau kaki interrupt pada Arduino aktif (pin 2), fungsi tombol_ditekan() akan dieksekusi sebagai interrupt service routine (ISR) melalui fungsi attachInterrupt(digitalPinToInterrupt(2), tombol_ditekan, FALLING), di mana interrupt akan dieksekusi setiap terjadi perubahan pada switch (hal ini diatur oleh fungsi FALLING). Ketika interrupt terjadi, Arduino akan menjalankan void interupt-nya, yaitu tombol_ditekan(), di mana dalam program, LED akan menyala dan buzzer akan diaktifkan, sementara variabel count akan direset menjadi 0, namun dikarena tidak ada lcd.clear() sehingga hanya digit pertama yang terreset ke nol.
2. Jelaskan proses diagram dari Interrupt!