attachInterrupt Fonksiyonu Nedir?
Arduino’da attachInterrupt() fonksiyonu, belirli bir donanım kesmesi (interrupt) meydana geldiğinde, önceden tanımlanmış bir fonksiyonun otomatik olarak çalışmasını sağlar. Bu sayede, programın ana döngüsünü (loop) beklemeden, belirli olaylar anında yakalanabilir ve işlem yapılabilir.
attachInterrupt(KesmePinNumarası, KesmeFonksiyonu, MOD);
KesmePinNumarası: Kullanacagımız kesme pininin numarasını belirten bir değerdir. Bu değer Arduino’ya bağlı olarak değişebilir. Arduıno Uno modelinde ise bu değer INT0 ve INT1’dir. INT0 Digital Pin 2, INT1 Digital Pin 3 olarak kullanılır.
Arduino Modeli | Kesme Pin Sayısı | Kesme Pinleri |
---|---|---|
Arduino Uno | 2 adet | Pin 2, Pin 3 |
Arduino Nano | 2 adet | Pin 2, Pin 3 |
Arduino Mega | 6 adet | Pin 2, 3, 18, 19, 20, 21 |
Arduino Leonardo | 5 adet | Pin 0, 1, 2, 3, 7 |
void setup() {
attachInterrupt(0, KesmeFonksiyonu, MOD);
/* Pin olarak INT0 yani Digital Pin 2'yi kullandık. */
}


KesmeFonksiyonu parametresi, kesme fonksiyonunun adını belirten bir değerdir. İstediğimiz ismi verebiliriz (örnek: Ömer
, Kesme
, Kocaeli
).
attachInterrupt(0, kesme, MOD);
(KesmeFonksiyonu olarak kesme
yazdık.)
void kesme() {
/* Interrupt burada gerçekleşecek */
}
MOD parametresi, kesme modunu belirten bir değerdir. 4 farklı mod vardır:
CHANGE
: Pinin sinyal seviyesi değiştiğinde (LOW → HIGH veya HIGH → LOW) kesme oluşurRISING
: Yükselen KenarFALLING
: Düşen KenarLOW
: Pin LOW seviyesinde olduğu sürece
attachInterrupt(0, kesme, FALLING);
(MOD olarak FALLING
yazdık - Düşen kenar)
Örnek Kullanım
/* Bu örnekte INT0 Kesme pinimiz ile Led'i Yakıcağız,
INT1 Kesme pinimiz ile Led'i Söndüreceğiz. */
void setup()
{
attachInterrupt(0, led_yak, FALLING);
attachInterrupt(1, led_sondur, FALLING);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// Ana döngü boş
}
void led_yak()
{
digitalWrite(13, 1);
Serial.print("Led Yandı!\n");
}
void led_sondur()
{
digitalWrite(13, 0);
Serial.print("Led Söndü!\n");
}
Bağlantı Şeması
İlgili Konular: