Arduino Analog Voltaj Okuma
Arduino Analog Voltaj Okuma. Bu örnek analog pin 0’daki bir analog girişin nasıl okunacağını, analogRead () ‘den gelen değerlerin voltaja nasıl dönüştürüleceğini ve Arduino Yazılımının (IDE) seri monitörüne nasıl yazdırılacağını gösterir.
Gerekli Donanımlar
- Arduino veya Genuino
- 10k ohm potansiyometre
Devre
Potansiyometreden üç kabloyu kartınıza bağlayın. İlk önce potansiyometrenin dış pimlerinden biri (-)’ye gider. İkincisi, potansiyometrenin diğer dış piminden 5 volta geçer. Üçüncüsü, potansiyometrenin orta piminden 0 analog girişine gider.
Potansiyometrenin milini çevirerek, dairenin her iki tarafındaki direnç miktarını, potansiyometrenin merkez pimine bağlı olarak değiştirirsiniz. Bu, merkez pimindeki voltajı değiştirir. Merkez ile 5 volta bağlanan taraf arasındaki direnç sıfıra yakın olduğunda (ve diğer taraftaki direnç 10 kilohma yakınsa), merkez pimdeki voltaj 5 volt’a yaklaşır. Rezistanslar tersine çevrildiğinde, merkez pimdeki voltaj 0 volta veya (-)’ye yakındır. Bu voltaj, giriş olarak okuduğunuz analog voltajdır .
Kartın mikrokontrolöründe, bu değişen voltajı okuyan ve 0 ile 1023 arasında bir sayıya dönüştüren analog-dijital dönüştürücü veya ADC olarak adlandırılan bir devre vardır. Şaft bir yönde tamamen çevrildiğinde, 0 vardır. pime giden voltlar ve giriş değeri 0’dır. Şaft tam ters yönde döndüğünde, pime giden 5 volt vardır ve giriş değeri 1023’tür. AnalogRead () arasında bir sayı döndürülür. 0 ve 1023 arasında, pime uygulanan voltajın miktarı ile orantılıdır.
Kod
Aşağıdaki programda, yaptığınız ilk şey, kurulum işlevinde, seri iletişimi başlatmak için, saniyenizde 9600 bit veriyle, kartınız ile bilgisayarınız arasında:
Serial.begin(9600);
Ardından, kodunuzun ana döngüsünde, potansiyometrenizden gelen direnç değerini (0 ile 1023 arasında, bir int
veri türü için mükemmel olacaktır) saklamak için bir değişken oluşturmanız gerekir:
int sensorValue = analogRead(A0);
0-1023 arasındaki değerleri, pimin okuduğu voltaja karşılık gelen bir aralıkta değiştirmek için, başka bir değişken, bir float
yaratmanız ve biraz matematik yapmanız gerekir. Sayıları 0,0 ve 5,0 arasında ölçeklendirmek için, 5.0’u 1023.0’a bölün ve bunu sensörDeğeri ile çarpın:
float voltage= sensorValue * (5.0 / 1023.0);
Son olarak, bu bilgiyi seri pencerenize yazdırmanız gerekir. Son kod satırınızda Serial.println () komutu ile bunu yapabilirsiniz:
Serial.println(voltage)
Şimdi, Seri Monitörünüzü Arduino IDE’de açtığınızda (üstteki yeşil çubuğun sağ tarafındaki simgeye tıklayarak veya Ctrl + Shift + M tuşlarına basarak), 0,0 – 5,0 arasında değişen sabit bir sayı akışı görmelisiniz. Tencereyi döndürdüğünüzde, değerler A0 pinine gelen voltaja göre değişecektir.
/* ReadAnalogVoltage(Analog Voltaj Okuma) Pim 0'da bir analog giriş okur, voltajı dönüştürür ve sonucu Seri Monitör'e yazdırır. Grafik gösterimi Seri Plotter (Araçlar> Seri Plotter menüsü) kullanılarak kullanılabilir. Bir potansiyometrenin merkez pimini A0 pimine ve dış pimleri + 5V ve (-)'ye takın. Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/ReadAnalogVoltage */ // sıfırlama düğmesine bastığınızda kurulum rutini bir kez çalışır: void setup() { // saniyede 9600 bit hızında seri iletişim başlatır: Serial.begin(9600); } // döngü rutini sonsuza kadar tekrar tekrar çalışır: void loop() { // analog pin 0'daki girişi oku: int sensorValue = analogRead(A0); // Analog okumayı (0 - 1023'ten başlayarak) bir voltaja (0 - 5V) dönüştürün: float voltage = sensorValue * (5.0 / 1023.0); // okuduğunuz değeri yazdırın: Serial.println(voltage); }
Kaynak:arduino.cc