analogRead()
[Analog I/O]
Açıklama
Belirlenen analog pinin değerini okur arduino kartları çoklu bağlantıyı destekler ve analogdan dijitale 10-bit lik dönüştürücü içerir. 0 ile çalışma voltajı(5V veya 3.3V) arasındaki giriş voltajlarını 0 ile 1023 arasındaki tam sayı değerlerine eşitleyeceği anlamına gelir. Örneğin,bir Arduino UNO'da bu, okumalar için bir değer verir: 5 volt / 1024 birim veya, birim başına 0,0049 volt (4.9mV.) Bazı Arduino kartları için kullanılabilir pinler, çalışma voltajı ve maksimum çözünürlük için aşağıdaki tabloya bakın.
Giriş aralığı analogReferance() kullanılarak değiştirilebilir, çözünürlük ise analogReadResolution() kullanılarak değiştirilebilir.(yalnızca Zero, Due ve MKR kartları için geçerlidir)
ATmega tabanlı kartlarda (UNO, Nano, Mini,Mega) bir analog girişi okumak yaklaşık 100 mikrosanyie (0.0001 s) sürer, bu nedenle maksimum okuma hızı saniyede yaklaşık 10.000 defadır.
KART | ÇALIŞMA VOLTAJI | KULLANILABİLİR PİNLER | MAX ÇÖZÜNÜRLÜK |
---|---|---|---|
Uno | 5 Volt | A0 ve A5 aralığı | 10 bit |
Mini,Nano | 5 Volt | A0 ve A7 aralığı | 10 Bit |
Mega, Mega2560, MegaADK | 5 Volt | A0 ve A14 aralığı | 10 Bit |
Micro | 5 Volt | A0 ve A11* aralığı | 10 bit |
Leonardo | 5 Volt | A0 ve A11* aralığı | 10 Bit |
Zero | 3,3 Volt | A0 ve A5 aralığı | 12 Bit** |
Due | 3.3 Volt | A0 ve A11 aralığı | 12 Bit** |
MKR Ailesi Kartları | 3.3 Volt | A0 ve A6 aralığı | 12 Bit** |
*A0 ile A5 kart üzerinde etiketlidir. A6 ile A11 sırasıyla 4, 6, 8, 9, 10 vee 12 pinlerinde mevcuttur
**analogRead() Bu Kartlar için varsayılan çözünürlük, 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 karrta A0 ile A5, MKR kartlarında A0 ila A6, Mini ve Nano'da A0 ile A7, Mega'da A0 ile A15)
Geri Dönüş
Pin üzerindeki analog okuma. Analogdan dijitale dönüştürücünün çözünürlüğü sınırlı olmasına rağmen (0-1023 10 bit için 0-4095 12bir için ) Veri türü ise int(integer) dır.
Örnek Kod
Bu kod analogPin() üzerindeki voltajı okur ve görüntüler
int analogPin = A3; // potansiyometre sileceğindeki (orta terminal) 3 numaralı pine bağlı // toprak hattı ve +5V için yol açar int val = 0; // okunan değeri kullanmak için saklanan değişken void setup() { Serial.begin(9600); // kurulum dizesi } void loop() { val = analogRead(analogPin); // giriş pinini okur Serial.println(val); // hata ayıklama değeri }
Notlar ve Uyarılar
Analog giriş pininin herhangi bir bağlantısı yoksa döndürülen analogRead() değeri bir dizi faktöre(örn. diğer analog girişlerinin değerleri elinizdeki karta ne kadar yakın olduğu vb. ) bağlı olarak dalgalanacaktır.