Arduino Programlama Dili – Analog Giriş ve Çıkışlar

with Yorum yapılmamış

Analog Giriş ve Çıkışlar


analogReference()

Analog giriş için kullanılan referans voltajını (yani, giriş aralığının üstü olarak kullanılan değer) konfigüre eder.

Seçenekler şunlardır:

  • DEFAULT: Varsayılan 5 voltluk analog referans (5V Arduino kartlarda) veya 3.3 volt (3.3V Arduino kartlarında)
  • INTERNAL: ATmega168 veya ATmega328’de 1,1 volt’a ve ATmega8’de 2,56 volt’a eşit olan dahili bir referans 

(Arduino Mega’da mevcut değildir)

  • INTERNAL1V1: dahili bir 1.1V referans (yalnızca Arduino Mega)
  • INTERNAL2V56: dahili 2.56V referans (yalnızca Arduino Mega)
  • EXTERNAL: AREF pinine uygulanan voltaj (sadece 0 – 5V) referans olarak kullanılır.

Dikkat!

AREF pininde harici referans voltajı için 0V’dan az veya 5V’den fazla kullanmayın!

AREF pininde harici bir referans kullanıyorsanız, analogRead() çağrılmadan önce analog referansı EXTERNAL

olarak ayarlamanız gerekir.

Aksi takdirde aktif referans voltajını (dahili olarak üretilen) ve AREF pinin birlikte kısaltır ve muhtemelenArduino kartındaki

mikro denetleyiciye zarar verirsiniz.

 

 

Alternatif olarak harici referans voltajını, harici ve dahili referans voltajları arasında geçiş yapmanıza izin veren 5K direnç

aracılığıyla AREF pinine bağlayabilirsiniz.

Dirençin referans olarak kullanılan voltajı değiştireceğini unutmayın çünkü AREF piminde dahili bir 32K direnç vardır.

İkisi bir voltaj bölücü olarak görev yaparken, örneğin, direnç aracılığıyla uygulanan;

2,5 V, AREF pininde 2.5×32 / (32 + 5) = ~ 2.2V verir.

analogRead() (analog okuma)

Belirtilen analog pinden değeri okur.

Arduino kartı, 6 kanal (Mini ve Nano’da 8 kanal, Mega’da 16), 10 bitlik analogdan dijitale çeviriciye sahiptir.

Bu, 0 ile 5 volt arasındaki giriş voltajlarını 0 ile 1023 arasında tam sayı değerlerine haritalandırması anlamına gelir.

Bu, 5 volt / 1024 ünite veya birim başına 0,009 volt (4,9 mV) okuma arasında bir çözünürlük verir.

Giriş aralığı ve çözünürlük, analogReference() kullanılarak değiştirilebilir.

Bir analog girişi okumak ~ 100 mikrosaniye (0.0001 s) alır, bu nedenle maks okuma hızı saniyede ~ 10.000 kez olur.

anologWrite() (PWM)

Bir pine bir analog değer (PWM dalgası) yazar.

Değişik parlaklıklarda bir LED’i aydınlatmak veya çeşitli hızlarda bir motor sürmek için kullanılabilir.

analogWrite() çağrısından sonra pin, analogWrite() için sonraki çağrı

(veya aynı pin üzerinde digitalRead() veya digitalWrite() çağrısı) oluncaya kadar belirtilen görev döngüsünün

kararlı bir kare dalga oluşturacaktır. Çoğu pin üzerindeki PWM sinyalinin frekansı yaklaşık 490 Hz‘dir.

Uno ve benzeri kartlarda 5 ve 6 numaralı pinlerin frekansı yaklaşık 980 Hz‘dir.

Leonardo’da 3. ve 11. parmaklar da 980 Hz‘de çalışıyor.

Çoğu Arduino kartı (ATmega168 veya ATmega328 ile olanlar) üzerinde bu işlev 3, 5, 6, 9, 10 ve 11  pinler üzerinde çalışır.

Arduino Mega’da pim 2 – 13 ve 44 – 46‘da çalışır.

Eski Arduino ATmega8’e sahip panolar yalnızca 9, 10 ve 11 numaralı pimlerde analogWrite() desteklemektedir.

Arduino Due, analogWrite() 2 ila 13 pinleri ve ayrıca DAC0 ve DAC1 pinlerini destekler.

PWM pinlerinin aksine DAC0 ve DAC1, Dijital-Analog dönüştürücülerdir ve gerçek analog çıkışlar gibi davranırlar.

analogWrite() çağrılmadan önce pimi çıkış olarak ayarlamak için pinMode() öğesini aramanız gerekmez.

analogWrite işlevinin analog pinler veya analogRead işleviyle ilgisi yoktur.

analogWrite() işlevinde parantez içinde 0 (her zaman kapalı) ile 255 (her zaman açık) değerler kullanılır.

Notlar ve Bilinen Sorunlar:

5 ve 6 numaralı pimlerde üretilen PWM çıkışlarının beklenenden daha yüksek çalışma devreleri olacaktır.

Bunun nedeni, bu PWM çıkışlarını üretmek için kullanılan aynı dahili zamanlayıcıyı paylaşan millis() ve delay()

işlevleri ile olan etkileşimlerdir. Bu, çoğunlukla düşük çalışma devri ayarları (örn., 0-10) üzerinde fark edilir ve 5 ve 6

numaralı pinlerdeki çıkışın tamamını kapatmayan 0 değerine neden olabilir.


NOT: Buradaki bilgiler arduino.cc sitesinden Türkçeye çevrilmiştir.
Türkçe çevirinin tüm hakları saklıdır.
Bu web sayfası sadece link olarak paylaşılabilir.
Sayfada herhangi bir hata, öneri ve yorumlarınız için iletişim kurmanızı bekleriz.


[Toplam:1    Ortalama:5/5]

Bir Cevap Yazın