Arduino: Membaca Pin Gangguan Luaran

Jika anda memerlukan sesuatu tugasan itu dilakukan segera selepas menerima isyarat, anda boleh gunakan gangguan luaran (external interrupt). Pada Arduino Uno atau Maker UNO, terdapat 2 pin yang boleh melaksanakan tugas ini iaitu pin 2 dan 3. Memandangkan di Maker UNO sudah terdapat butang tekan yang disambung pada pin 2, maka kita boleh belajar membaca pin gangguan luaran tanpa memerlukan komponen tambahan.

💡 Tahukah Anda? Walaupun pin yang boleh kita gunakan untuk gangguan luaran adalah pin 2 dan 3, tetapi apabila kita menggunakan fungsi attachInterrupt yang disediakan, ia merujuk nombor gangguan luaran yang berbeza daripada nombor pin. Pin 2 adalah nombor gangguan 0 manakala pin 3 adalah nombor gangguan 1. Untuk mengurangkan kekeliruan ini, kita boleh gunakan fungsi digitalPinToInterrupt.

Ulangkaji:
  1. Membaca Pin Masukan Digital
  2. Mengawal Pin Keluaran Analog
  3. Menghasilkan Corak Cahaya LED

Contoh Kod Pengaturcaraan

1. Mengawal LED Lain Serta Merta

Pada fungsi berulang utama, kita lakukan tugasan LED berkelip pada pin 13. Apabila butang ditekan, LED pada pin 12 serta merta bertindak balas.

2. Mengubah Kelajuan Corak Cahaya LED Digital

Pada fungsi berulang utama, ia menjalankan tugasan daripada contoh corak cahaya LED 2 arah. Apabila butang ditekan atau dilepaskan, kelajuan cahaya bergerak serta merta berubah.

3. Mengubah Kelajuan Corak Cahaya LED Analog

Pada fungsi berulang utama, ia menjalankan tugasan daripada contoh corak cahaya LED pada pin keluaran analog. Apabila butang ditekan atau dilepaskan, kelajuan cahaya bergerak serta merta berubah.

Ubah Kod Pengaturcaraan

Anda boleh cuba mengubah pin pada LED lain daripada contoh 1. Kemudian cuba ubah kelajuan pada contoh corak cahaya LED. Perlu diingat, tugasan pada fungsi kejadian gangguan luaran sebaiknya perlulah dibuat ringkas. Kerana jika ia meninggalkan fungsi berulang utama terlalu lama, perjalanan keseluruhan pengaturcaraan akan menjadi kurang cekap.

Walaupun cadangan yang diberikan untuk mengubah kod adalah sedikit, tetapi dari situ anda akan lebih berani dan kreatif untuk cuba mengubah kod lebih banyak.


Semoga perkongsian ini bermanfaat. Bagi membolehkan saya terus mengusahakan blog ini, amatlah berbesar hati sekiranya tuan/puan dapat memberi sumbangan ikhlas bagi menampung kos (hosting, domain, masa, barang, dll). Terima kasih. Maybank Idris Zainal Abidin 162731011315

Leave a Reply