Arduino - Analog Voltaj Okuma

Bu örnek, analog pin 0 üzerindeki bir analog girişi nasıl okuyacağınızı gösterecektir. Giriş, analogRead () 'den voltaja dönüştürülür ve Arduino Yazılımının (IDE) seri monitörüne yazdırılır.

Gerekli Bileşenler

Aşağıdaki bileşenlere ihtiyacınız olacak -

  • 1 × Breadboard
  • 1 × Arduino Uno R3
  • 1 × 5K değişken direnç (potansiyometre)
  • 2 × Jumper

Prosedür

Devre şemasını izleyin ve bileşenleri aşağıda verilen görüntüde gösterildiği gibi devre tahtasına bağlayın.

Potansiyometre

Potansiyometre (veya pot) basit bir elektro-mekanik dönüştürücüdür. Giriş operatöründen dönen veya doğrusal hareketi direnç değişimine dönüştürür. Bu değişiklik, bir hi-fi sisteminin hacminden büyük bir konteyner gemisinin yönüne kadar her şeyi kontrol etmek için kullanılır (veya kullanılabilir).

Bildiğimiz haliyle pot, aslında bir reostat (esasen değişken bir tel sarımlı direnç) olarak biliniyordu. Mevcut kapların çeşitliliği artık oldukça şaşırtıcı ve yeni başlayanlar için (özellikle) belirli bir görev için hangi türün uygun olduğunu bulmak çok zor olabilir. Hepsi aynı görev için kullanılabilen birkaç farklı tencere türü işi zorlaştırır.

Soldaki resim, bir tencerenin standart şematik sembolünü göstermektedir. Sağdaki resim potansiyometredir.

Eskiz

Bilgisayarınızda Arduino IDE yazılımını açın. Arduino dilinde kodlama devrenizi kontrol edecektir. Yeni'ye tıklayarak yeni bir çizim Dosyası açın.

Arduino Kodu

/*
   ReadAnalogVoltage
   Reads an analog input on pin 0, converts it to voltage, 
   and prints the result to the serial monitor.
   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/

// the setup routine runs once when you press reset:

void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}

// the loop routine runs over and over again forever:

void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0 / 1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

Dikkat Edilecek Kod

Aşağıda verilen program veya taslakta, kurulum işlevinde yaptığınız ilk şey, kartınız ile bilgisayarınız arasında saniyede 9600 bit hızla seri iletişime başlamaktır -

Serial.begin(9600);

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) depolamak için bir değişken oluşturmanız gerekir -

int sensorValue = analogRead(A0);

Değerleri 0-1023'ten voltaja karşılık gelen bir aralığa değiştirmek için pin okuyor, başka bir değişken, bir şamandıra oluşturmanız ve küçük bir hesaplama yapmanız gerekir. Sayıları 0.0 ile 5.0 arasında ölçeklemek için 5.0'ı 1023.0'a bölün ve bunu sensorValue ile çarpın -

float voltage= sensorValue * (5.0 / 1023.0);

Son olarak, bu bilgileri seri pencerenize yazdırmanız gerekir. Bunu son kod satırınızdaki Serial.println () komutuyla yapabilirsiniz -

Serial.println(voltage)

Şimdi, üstteki yeşil çubuğun sağ tarafındaki simgeye tıklayarak veya Ctrl + Shift + M tuşlarına basarak Arduino IDE'de Seri Monitörü açın.

Sonuç

0,0 - 5,0 arasında değişen sabit bir sayı akışı göreceksiniz. Tencereyi döndürdüğünüzde, değerler A0 pinindeki voltaja göre değişecektir.