analogRead()



Açıklama

Belirtilen analog pimden değeri okur. Arduino anakartlarında çok kanallı, 10 bit analogdan dijitale dönüştürücü bulunur. Bu, 0 ile çalışma voltajı (5V veya 3.3V) arasındaki giriş voltajlarını 0 ile 1023 arasındaki tamsayı değerlere eşleyeceği anlamına gelir. Örneğin bir Arduino UNO'da, bu, 5 volt / 1024 birim veya Birim başına 0.0049 volt (4.9 mV). Bazı Arduino kartlarında kullanılabilir pimler, çalışma voltajı ve maksimum çözünürlük için aşağıdaki tabloya bakın.

Giriş aralığı analogReference () kullanılarak değiştirilebilir, çözünürlük ise analogReadResolution () kullanılarak değiştirilebilir (yalnızca Zero, Due ve MKR panoları için ) .

ATmega tabanlı kartlarda (UNO, Nano, Mini, Mega), analog girişi okumak yaklaşık 100 mikrosaniye (0.0001 s) sürer, bu nedenle maksimum okuma hızı saniyede yaklaşık 10.000 kattır.

Yazı tahtası Çalışma gerilimi Kullanılabilir pimler Maksimum çözünürlük

Uno

5 Volt

A0 - A5

10 bit

Mini, Nano

5 Volt

A0 - A7

10 bit

Mega, Mega2560, MegaADK

5 Volt

A0 - A14

10 bit

Mikro

5 Volt

A0 - A11 *

10 bit

Leonardo

5 Volt

A0 - A11 *

10 bit

Sıfır

3.3 Volt

A0 - A5

12 bit **

nedeniyle

3.3 Volt

A0 - A11

12 bit **

MKR Aile panoları

3.3 Volt

A0 - A6

12 bit **

* A0 ila A5 tahtada etiketlenir, A6 ila A11 sırasıyla 4, 6, 8, 9, 10 ve 12 pimlerinde bulunur
** Bu kartlar için varsayılan analogRead() çözünürlüğü uyumluluk için 10 bittir. 12 bit olarak değiştirmek için analogReadResolution () kullanmanız gerekir.

Sözdizimi

analogRead(pin)

Parametreler

pin : okunacak analog giriş pininin adı (çoğu kartta A0 ila A5, MKR kartlarında A0 ila A6, Mini ve Nano'da A0 ila A7, Mega'da A0 ila A15).

İadeler

Pimdeki analog okuma. Analog-dijital dönüştürücünün çözünürlüğü ile sınırlı olmasına rağmen (10 bit için 0-1023 veya 12 bit için 0-4095). Veri türü: int .

Örnek Kod

Kod, analogPin'deki voltajı okur ve gösterir.

int analogPin = A3; // potentiometer wiper (middle terminal) connected to analog pin 3
                    // outside leads to ground and +5V
int val = 0;  // variable to store the value read

void setup() {
  Serial.begin(9600);           //  setup serial
}

void loop() {
  val = analogRead(analogPin);  // read the input pin
  Serial.println(val);          // debug value
}

Notlar ve Uyarılar

Analog giriş pimi hiçbir şeye bağlı değilse, analogRead() tarafından döndürülen değer bir dizi faktöre bağlı olarak dalgalanır (örneğin, diğer analog girişlerin değerleri, elinizin panoya ne kadar yakın olduğu vb.).