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);Görev
KolayDüğ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
}
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
2Analog Girişler
Bir Potansiyometreyi OkuPotansiyometre Değerini Volta DönüştürYüzdeye DönüştürDeğerleri Aralıkta TutPotansiyometre EşiğiOtomatik Gece LambasıIşık Sensörü Anahtarlama PiniKendi başına pratik yap: Arduino playground