Site icon elektromanyetix

Arduino Seri Monitör Analog Giriş / Çıkış

Analog Giriş Çıkış

Arduino Seri Monitör Analog Giriş / Çıkış

Analog Giriş Çıkış. Bu örnek, bir analog giriş pimini nasıl okuyacağınızı, sonucu 0 ile 255 arasında bir aralıkta nasıl eşleyeceğinizi gösterir, bu sonucu kullanarak LED’i karartmak veya parlaklaştırmak ve değerleri yazdırmak için bir çıkış piminin darbe genişliği modülasyonunu (PWM) ayarlayın. Arduino Yazılımının (IDE) seri monitörü.

Gerekli Donanım

  • Arduino veya Genuino
  • Potansiyometre
  • Kırmızı LED
  • 220 ohm direnç

Devre

Kartınızdan bir pimi 5V’a, orta pini “analog pime 0” ve kalan pimi toprağa(-) bağlayın. Ardından, seri halinde bir LED ile, dijital pin 9’a bir 220 ohm akım sınırlayıcı direnç bağlayın. LED’in uzun, pozitif bacağı (anot) direncin çıkışına, kısa, negatif bacak (katot) zemine(-) bağlanmalıdır.

Analog Giriş Çıkış Kod

Aşağıdaki çizimde, iki pin atamasını (potansiyometreniz için analog 0 ve outputValue için dijital 9) ve iki değişken, sensorValue ve outputValue sonra, setup() işlevinde yaptığınız tek şey, seri iletişime başlamaktır.

Daha sonra, ana döngüde, sensorValue potansiyometreden okunan ham analog değeri depolamak üzere atanır. analogRead kadar bir analogWrite menzil mesafesi ve sadece 0’dan 255’e kadar bir analogWrite aralığı vardır, bu nedenle potansiyometreden gelen verilere LED’in sönmesi için kullanılmadan önce daha küçük aralığa sığdırılması gerekir.

Bu değeri dönüştürmek için map() adında bir işlev kullanın:

outputValue = map(sensorValue, 0, 1023, 0, 255);

outputValue , potansiyometre ile ölçeklenen değere eşit olarak atanır. map() , beş argümanı kabul eder: Eşlenecek değer, giriş verisinin düşük aralığı ve yüksek değerleri ile bu verilere yeniden yüklenecek düşük ve yüksek değerler. Bu durumda, sensör verileri, 0 ila 1023 ila 0 ila 255 arasındaki orijinal aralıklarından eşlenir.

Yeni eşleştirilen sensör verileri daha sonra potansiyometre çevrildiğinde LED’i karartmak veya aydınlatmak için analogOutPin . Son olarak, hem ham hem de ölçeklenmiş sensör değerleri, sürekli bir veri akışı içinde Arduino Software (IDE) seri monitör penceresine gönderilir.

/*
Analog giriş, analog çıkış, seri çıkış

Bir analog giriş pini okur, sonucu 0 ile 255 arasında bir değerle eşler ve kullanır.
sonuç, bir çıkış piminin darbe genişlik modülasyonunu (PWM) ayarlama.
Ayrıca sonuçları Seri Monitöre yazdırır.

Devre:
- Analog pin 0'a bağlı potansiyometre.
Potansiyometrenin orta pini analog pime gider.
Potansiyometrenin yan pimleri + 5V ve toprağa gider
- Dijital pin 9'dan toprağa bağlı LED

oluşturuldu 29 Ara 2008
değiştirilme tarihi 9 Nis 2012
Tom Igoe tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/AnalogInOutSerial
*/

// Bu sabitler değişmeyecek. Kullanılan pinlere isim vermek için kullanılırlar:
const int analogInPin = A0;   // Potansiyometrenin takılı olduğu analog giriş pimi
const int analogOutPin = 9; // LED'in bağlı olduğu analog çıkış pimi

int sensorValue = 0;        // değer pottan okunur
int outputValue = 0;        // PWM'ye çıkış değeri (analog çıkış)

void setup() {
  // seri haberleşmeyi 9600 bps'de başlat:
  Serial.begin(9600);
}

void loop() {
 // değeri analog olarak oku:
  sensorValue = analogRead(analogInPin);
  // bunu analog çıkış aralığına eşleyin:
  outputValue = map(sensorValue, 0, 1023, 0, 255);
  // analog çıkış değerini değiştirin:
  analogWrite(analogOutPin, outputValue);

  // sonuçları Seri Monitöre yazdır:
  Serial.print("sensör = ");
  Serial.print(sensorValue);
  Serial.print("\t Çıkış = ");
  Serial.println(outputValue);

  // analogdan dijitale geçiş için bir sonraki döngüden 2 milisaniye bekleyin
// son okumadan sonra yerleşecek çevirici:
  delay(2);

Kaynak:arduino.cc

Exit mobile version