6 Ekim 2026 Salı


Programlama Kodları

//AÇIKLAMA
//Bu uygulamada analog karşılaştırıcının pozitif giriş ucuna olan AIN0 pininden gelen voltaj
//yerine Bandgap Referance'den gelen voltaj kullanıldı. Bandgap Referance voltajı sabit 1.1V'dur.
//Bu nedenle analog karşılaştırıcının negatif girişi ve referans voltajı olan AIN1'in voltajı
//değiştirilerek ACO bitinin durumunun değişmesi ve buna bağlı olarak LED'in yanması veya sönmesi sağlandı.
//Uygulama hem fiziksel Arduino'da hem de Proteus'ta çalıştı.
#define LED 2
bool deger;
void setup()
{
  Serial.begin(9600);
  pinMode(7, INPUT); //AIN1 pini. Karşılaştırıcının - ucu.
  pinMode(LED, OUTPUT);

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

}

void loop()
{
  deger = bitRead(ACSR, 5);   //ACSR kayıtçısının 5. biti olan ACO bitinin durumu(1 yada 0) değişkene atandı
  if (deger == 1)
  {
    digitalWrite(LED, HIGH);
    Serial.print("ACO biti = "); Serial.println(deger);
    delay(1000);
  }
  else if (deger == 0)
  {
    digitalWrite(LED, LOW);
    Serial.print("ACO biti = "); Serial.println(deger);
    delay(1000);
  }
}



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