Arduino Analog Voltaj Okuma Uygulaması

3
6515
Okunma

Arduino Analog Voltaj Okuma

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

3 YORUMLAR

  1. olm siz ****zekalı mısınız ? kod paylaştığın sitede sağ tık ve kopyalama koruması nedir ? böyle malca bir sistem olur mu ?

    • Bunun açıklamasını daha önce yapmıştık. Kodlamayı öğrenmek için önce kod yazmalısın. Kopyala-yapıştır değil. Ve buradaki amaç da öğretmektir. Paylaşılan kodlar zaten Arduino örneklerinin içinde yer almaktadır. İsteyen bir tıklama ile Arduino IDE içerisinde bu kodlara ulaşabilir, ama bunun için bile yine de biraz zekanız olması gerekir. 🙂

CEVAP VER

Please enter your comment!
Please enter your name here

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.