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