6 Ekim 2026 Salı


Program Kodları

//AÇIKLAMA
//Bu uygulamada AIN0 ve AIN1 pinlerindeki karşılaştırma sonucu kesmeye gidilerek LED'in
//yakılması ve söndürülmesi sağlandı. Kesme modu yükselen kenar olarak ayarlandı. Ancak;
//fiziksel Arduino'da deneme yapılırken kullanılan potansiyometrede dalgalanmalar yada
//lineer olmayan voltaj değişimleri olması nedeniyle LED'de yanıp sönme ve düşen
//kenarda da kesmeye gidilme durumu oluştu. Proteus'ta yapılan simülasyon doğru bir biçimde
//çalıştı.

#define LED 2
bool ACO_biti;
void setup()
{
  Serial.begin(9600);
  pinMode(6, INPUT);    //AIN0 pini. Karşılaştırıcının + ucu.
  pinMode(7, INPUT);    //AIN1 pini. Karşılaştırıcının - ucu. Referans giriş ucu.
  pinMode(LED, OUTPUT);
  digitalWrite(LED, LOW);


  cli();    //Tüm kesmeleri kapat

  ACSR |= (1 << ACIE);     //karşılaştırıcı kesmesi açıldı.
  ACSR |= (1 << ACIS1) | (1 << ACIS0); //Çıkışın yükselen kenarında karşılaştırma kesmesi olsun
  ACSR |= (1 << ACI);      //kesme bayrak biti sıfırlandı

  ACSR |= (0 << ACBG);     //Bandgap Referance Voltajı kapatıldı.
  ACSR |= (0 << ACD);      //Analog Karşılaştırıcıya güç verildi.
  ACSR |= (0 << ACIC);     //Timer1'deki giriş yakalama işlevi kapatıldı.
  DIDR1 |= (1 << AIN1D) | (1 << AIN0D);  //AIN1 ve AIN0 pinleri digital girişe kapatıldı
  ADCSRB |= (0 << ACME);   //ADC açıldı
  ADCSRA |= (1 << ADEN);   //Multiplex Input kapatıldı

  sei();    //Tüm kesmeleri aç
}

void loop()
{

  ACO_biti = bitRead(ACSR, 5);  //ACSR kayıtçısının 5. biti olan ACO bitinin durumu(1 yada 0) değişkene atandı
  if (ACO_biti == 1)
  {
    Serial.println("ACO Biti = 1");
    delay(1000);
  }
  else if (ACO_biti == 0)
  {
    Serial.println("ACO Biti = 0");
    Serial.println(ACSR, BIN);
    delay(1000);
  }
}

ISR(ANALOG_COMP_vect)
{
  digitalWrite(LED, !digitalRead(LED)); //2 nolu pine bağlı ledin durumunu değiştir. Yanıyorsa söndür, sönükse yak.
  Serial.println("Kesme oluştu.");
}



Devre Şeması




0 comments:

Yorum Gönder

Arduino Eğitimi Konu - 7

Toplam Sayfa Görüntüleme Sayısı

Sensörlerin Arduino İle Kullanımı

Popular Posts

Yararlanılan Kaynaklar

İletişim

gokdag17@gmail.com