analogReadResolution()

[Zero, Due & MKR Family]

Açıklama

analogReadResolution() Zero, Due, MKR ailesi, Nano 33(BLE ve IoT) ve portenta için Analog API'nin uzantısıdır.

analogRead() tarafından döndürülen değerin boyutunu (bit olarak) ayarlar. AVR tabanlı kartlarla geriye dönük uyumluluk için varsayılan olarak değer 10 bittir (0-1023 arasındaki değerleri döndürür.)

Zero,Due,MKR Ailesi ve Nano 33 (BLE ve IOT) kartları 12-bit ADC kapasitesine sahiptir ve bu kapasiteye çözünürlük 12 olarak değiştirildiğinde erişilebilir. Bu AnalogRead()'den 0 ile 4095 arasında değerler döndürecektir. Portenta H7 16 Bit ADC'ye sahiptir ve bu 0 ile 65535 arasındaki değerlere izin verecektir.

Sözdizimi

analogReadResolution(bits)

Parameters

bits: analogRead() fonksiyonu tarafından döndürülen değerin çözünürlüğünü (bit olarak) belirler. Bunu 1 ile 32 arasında ayarlayabilirsiniz. analogRead() tarafından desteklenen 12 veya 16 bitten daha yüksek çözünürlükler ayaralayabilirsiniz ancak döndürülen değerler yaklaşık olacaktır. Ayrtınılar için aşağıdaki nota bakın.

Geri Dönüş

Yok

Örnek Kod

Kod,ADC'nin farklı çözünürlüklerde nasıl kullanılacağını gösterir.

 
void setup() { // Seri bağlantıyı aktif ediyoruz Serial.begin(9600); } void loop() { // A0 üzerindeki girişi varsayılan çözünürlükte okur.(10 bit) // ve seri bağlantıyı gönderir. analogReadResolution(10); Serial.print("ADC 10-bit (default) : "); Serial.print(analogRead(A0)); // çözünürlüğü 12 bit olarak değiştirir ve A0'ı okur. analogReadResolution(12); Serial.print(", 12-bit : "); Serial.print(analogRead(A0)); //çözünürlüğü 16 bit olarak değiştirir ve A0'ı okur. analogReadResolution(16); Serial.print(", 16-bit : "); Serial.print(analogRead(A0)); // çözünürlüğü 12 bit olarak değiştirir ve A0'ı okur. analogReadResolution(8); Serial.print(", 8-bit : "); Serial.println(analogRead(A0)); // Seri monitör için gecikme süresi delay(100); }

Notlar ve Uyarılar

analogReadResolution() değerini, kartınızın yeterliliğinden daha yüksek bir değere ayarlarsınız, Arduino yalnızca kendi en yüksek çözünürlüğünde rapor verecek ve ekstra birleri sıfırla dolduracaktır.

Örneğin Due with'ı analogReadResolution(16) olarak kullanmak gerçek olan ADC okumasını içeren ilk 12 biti verir ve son 4 biti sıfırla doldurulmuş olan bir sayı verecektir.

analogReadResolution() Değerini, kartınızın yeteneklerinden daha düşük bir değere ayarlarsanız, ADC'den okunan değer iiçin en az ekstra anlamlı bitler atılır.

16 bit çözünürlük(veya gerçek donanım özelliklerinden daha yüksek herhangi bir çözünürlük) kullanmak, daha yüksek çözünürlüklü ADC'ye sahip cihazları kullanırsanız ilerde bir kod satırını bile değişmeden gelecekteki kartlarda kullanılabilir hale geldiğinde otomatik olarak işleyen eskizler yazmanıza olanak tanır.