8 Ekim 2026 Perşembe


Programlama Kodları

//AÇIKLAMA
//Bu uygulamada analog karşılaştırma gerçekleşip ACO biti 1 olduğunda, giriş yakalama gerçekleşti. 
//Ardından kesmeye gidilmesi sağlandı. Uygulama fiziksel Arduino’da yapıldı. Fakat fiziksel Arduino'da 
//deneme yapılırken kullanılan potansiyometrede, dalgalanmalar ya da lineer olmayan voltaj değişimleri 
//olması nedeniyle karşılaştırma esnasında birden çok kesmeye gidildiği görüldü.
bool deger;
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 gerilim ucu

  cli();
  //.........bu kısım analog karşılaştırıcı ayarları..............................
  ACSR |= (0 << ACIE);    //Anaog karşılaştırıcı kesmesi kapatıldı
  ACSR |= (0 << ACBG);    //Bandgap Referance Voltajı kapatıldı
  ACSR |= (0 << ACD);     //Analog Karşılaştırıcıya güç verildi
  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ı

  //.........bu kısım Timer1 giriş yakalama için ACO pini kullanım ayarları........
  TCCR1A = 0;
  TCCR1B = 0;
  TCCR1B |= (1 << CS12) | (0 << CS11) | (1 << CS10);  //prescaler 1024 yapılıyor
  TCCR1B |= (1 << ICES1);   //ICES1=0 ise; düşen kenar. ICES1=1 ise yükselen kenar
  ACSR |= (1 << ACIC);      //giriş yakalama tetik kaynağı olarak analog karşılaştırıcı çıkışı ACO seçildi
  TIFR1 |= (1 << ICF1);     //giriş yakalama bayrağı temizlendi
  TIMSK1 |= (1 << ICIE1);   //Timer1 giriş yakalama kesmesi aktif edildi
  TCCR1B |= (1 << ICNC1);   //Gürültü önleyici aktif edildi
  TCNT1 = 0;                //Timer1 sayaç başlangıç değeri
  sei();
}

void loop()
{
  Serial.println("Kesme oluşması bekleniyor... ");
  delay(500);
}

ISR(TIMER1_CAPT_vect)
{
  Serial.println("DİKKAT!!! Kesme Oluştu");
  deger = bitRead(ACSR, 5);
  Serial.print("ACO Biti= "); Serial.println(deger);
}


Devre Şeması




0 comments:

Yorum Gönder

Arduino Eğitimi Konu - 7

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

Popular Posts

Yararlanılan Kaynaklar

İletişim

gokdag17@gmail.com