Menu
CoddyTech

Değerleri Aralıkta Tut

Coddy'nin Arduino Journey'sinin Girişler bölümünün bir parçası. Ders 11 / 22.

Bazen aralığın yalnızca bir kısmı hesaba katılmalıdır. Diyelim ki düğmenin hareket aralığının yalnızca ortası önemli, yani 200 ile 800 arasındaki okumalar ve bu da yüzde 0 ile 100 olmalıdır:

int percent = map(reading, 200, 800, 0, 100);

Bu, 200'de 0 ve 800'de 100 verir, ancak map() aralığın uçlarında durmaz. 0 okuması -33, 1023 okuması ise 137 verir. Yüzdenin 0'ın altında veya 100'ün üstünde olması anlamlı değildir.

constrain(x, low, high) bir sayıyı bir aralığın içinde tutar: low'dan küçük her şey low olur, high'dan büyük her şey high olur ve aradaki her şey olduğu gibi kalır.

percent = constrain(percent, 0, 100);
challenge icon

Görev

Kolay

Düğme A0'a bağlı. Okuma değerlerinin 200 ile 800 arasını 0 ile 100 olarak sayan bir yüzde yazdır:

  • okuma değerini 200 ile 800 aralığından 0 ile 100 aralığına eşle
  • constrain() ile 0 ile 100 arasında tut
  • yazdır, ardından 100 ms bekle

Run'a bas, düğmeyi iki yönde de sonuna kadar çevir, ardından Check'e bas.

Kendin dene

void setup() {
  Serial.begin(9600);
}

void loop() {
  int reading = analogRead(A0);
  // 200..800 aralığını 0..100 aralığına eşle, değeri 0..100 aralığında tut, yazdır, 100 ms bekle
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Girişler bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground