AnalogReadSerial

Bu örnek, bir potansiyometre kullanarak fiziksel dünyadan analog girişin nasıl okunacağını gösterir. Potansiyometre , şaftı döndürüldüğünde değişen miktarda direnç sağlayan basit bir mekanik cihazdır. Gerilimi bir potansiyometreden ve kartınızdaki bir analog girişe geçirerek, bir potansiyometre (veya kısaca pot ) tarafından üretilen direnç miktarını analog bir değer olarak ölçmek mümkündür. Bu örnekte, Arduino veya Genuino'nuz ile Arduino Yazılımını (IDE) çalıştıran bilgisayarınız arasında seri iletişim kurduktan sonra potansiyometrenizin durumunu izleyeceksiniz.

Gerekli Donanım

  • Arduino veya Genuino Kurulu
  • 10k ohm Potansiyometre

Devre

Potansiyometreden üç kabloyu kartınıza bağlayın. Birincisi, potansiyometrenin dış pimlerinden birinden toprağa gider. İkincisi, potansiyometrenin diğer dış piminden 5 volta gider. Üçüncüsü, potansiyometrenin orta piminden A0 analog pimine gider.

büyütmek için resme tıklayın

Potansiyometrenin şaftını çevirerek, potansiyometrenin orta pimine bağlı olan sileceğin her iki tarafındaki direnç miktarını değiştirirsiniz. Bu merkez pimdeki voltajı değiştirir. Merkez ile 5 volta bağlı taraf arasındaki direnç sıfıra yakın olduğunda (ve diğer taraftaki direnç 10k ohm'a yakınsa), merkez pimdeki voltaj 5 volta yakındır. Dirençler ters çevrildiğinde, merkez pimdeki voltaj 0 volt veya toprağa yakındır. Bu voltaj, giriş olarak okuduğunuz analog voltajdır .

Arduino ve Genuino kartlarında, 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 adı verilen bir devre vardır. Mil bir yöne tamamen çevrildiğinde, 0 vardır volt pime gidecek ve giriş değeri 0 olacaktır. Mil ters yönde tamamen çevrildiğinde, pime 5 volt gidecek ve giriş değeri 1023 olacaktır. Arada analogRead () bir sayı döndürür 0 ile 1023 arasında, pime uygulanan voltaj miktarı ile orantılıdır.

Şematik

büyütmek için resme tıklayın

Kod

Aşağıdaki çizimde, kurulum işlevinde yaptığınız tek şey, kartınızla bilgisayarınız arasında komutla saniyede 9600 bit veri ile seri iletişime başlamaktır:

Serial.begin(9600);

Ardından, kodunuzun ana döngüsünde, potansiyometrenizden gelen direnç değerini (0 ile 1023 arasında, int veri tipi için mükemmel) depolamak için bir değişken oluşturmanız gerekir:

int sensorValue = analogRead(A0);

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

Serial.println(sensorValue)

Şimdi, Seri Monitörünüzü Arduino Yazılımında (IDE) açtığınızda (sağ üstte, yeşil üst çubukta mercek gibi görünen simgeyi tıklatarak veya Ctrl + Üst Karakter + M klavye kısayolunu kullanarak), potun konumu ile ilişkili olarak 0-1023 arasında değişen sabit bir sayı akışı. Potansiyometrenizi çevirdiğinizde, bu rakamlar neredeyse anında tepki verecektir.


/*
  AnalogReadSerial

  Reads an analog input on pin 0, 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.

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/AnalogReadSerial
*/

// 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);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}

Ayrıca bakınız