GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ 7.HAFTA Yrd. Doç. Dr. Fecir DURAN Arş. Gör. Esra SÖĞÜT
İÇİNDEKİLER AREF AREF SEÇENEKLERİ AREF UYGULAMASI
AREF Analog Reference PIN (AREF) Analog Referans pini analog ölçümlerin doğruluğunu arttırmak için koyulmuş bir pindir. Arduino’yu USB girişinden besleniyorsa kart 4.8 Volt ile çalışıyor olacaktır. Analog Referans Pini boş bırakılırsa analog girişlerden alınan değerler kartın çalışma gerilimi referans alınarak dijitale dönüştürülecektir.
AREF Örneğin 4.8 volt çıkış veren bir devre elemanı Arduino’nun analog girişine bağlandığında arduino 4.8 Volt a karşılık 1024 değerini üretecektir. Bu da ölçümlerde hataya neden olacaktır. Bu nedenle daha doğru ölçümler gerçekleştirmek için Arduino Referans Pinine 5 Volt gerilim uygulanmalıdır. Arduino regülatörü 1023 adıma sahiptir. Örneğin; 3 voltluk bir gerilim için 3V/1023 = 0.00293V hassasiyetine sahip gerilim adımı elde edebiliriz. Hassas uygulamalarda işimize yarayacak bir pindir.
AREF Referans pinin bir diğer kullanım alanı ise belirli voltaj aralığında ölçümler yaptığımız durumlarda hassasiyeti arttırmaktır. Örneğin en fazla 2.5 Volt a kadar ölçümler gerçekleştirecek olursak Analog Referans (AREF) pinine 2.5 voltluk bir gerilim uygulamamız bizim ölçüm hassasiyetimizin 2 kat artmasını sağlayacaktır. AREF pinine 2.5 volt uyguladığımızda arduino’nun analog girişinin hassasiyeti 2.5/1024 olacaktır.
AREF Arduino AREF Pin Kullanımı
AREF Seçenekleri Analog giriş için kullanılan referans gerilimini ayarlar. Seçenekler şunlardır: DEFAULT: varsayılan 5 volt analog referans veya 3.3 volt INTERNAL: ATmega168 veya ATmega328'de 1,1 volt'a ve ATmega8'de 2.56 volta eşit (Arduino Mega'da) yerleşik bir referans INTERNAL1V1: dahili bir 1.1V referans (yalnızca Arduino Mega) INTERNAL2V56: dahili 2.56V referans (sadece Arduino Mega) EXTERNAL: AREF pinine uygulanan voltaj (sadece 0 - 5V) referans olarak kullanılır.
AREF UYGULAMASI 3.3V AREF kullanarak, A0'dan geçen gerilimi ölçen ve toplam AREF yüzdesini ve hesaplanan gerilimi görüntüleyen programı yazınız.
Kodlar #include <LiquidCrystal.h> LiquidCrystal lcd(8,9,4,5,6,7); int analoginput = 0; // our analog pin int analogamount = 0; // stores incoming value float percentage = 0; // used to store our percentage value float voltage =0; // used to store voltage value void setup() { lcd.begin(16, 2); analogReference(EXTERNAL); // use AREF for reference voltage } void loop() lcd.clear(); analogamount=analogRead(analoginput); percentage=(analogamount/1024.00)*100; voltage=analogamount*3.222; // in millivolts lcd.setCursor(0,0); lcd.print("% of AREF: "); lcd.print(percentage,2); lcd.setCursor(0,1); lcd.print("A0 (mV): "); lcd.println(voltage,2); delay(250);