Menu
CoddyTech

Düğmeli ışık ayarı

Coddy'nin Arduino Journey'sinin Çıkışlar bölümünün bir parçası. Ders 5 / 24.

Bir düğme, analogRead() işlevine 0 ile 1023 arasında bir sayı verir; analogWrite() ise 0 ile 255 arasında bir değer ister. İki aralık eşleşmediğinden, map() ile birini diğerine dönüştürün:

int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);

Düğme en aşağıdayken değer 0 olur ve LED söner; düğme en yukarıdayken değer 1023 olur ve bu, LED'in tamamen yanması için 255'e dönüşür. Aradaki her konum, arada bir parlaklık değeri verir.

Okuma değerini doğrudan LED'e yazmak işe yaramaz: analogWrite() yalnızca 0 ile 255 arasındaki değerleri kabul eder; bu nedenle 600 gibi bir okuma değeri yanlış parlaklıkla sonuçlanır.

challenge icon

Görev

Kolay

Potansiyometre A0'da, LED ise 9 numaralı pinde. Potansiyometrenin parlaklığı ayarlamasını sağla:

  • potansiyometrenin değerini oku
  • map() ile okunan değeri 0 ile 255 arasına dönüştür
  • değeri LED'e yaz, ardından 10 ms bekle

Run'a bas ve potansiyometreyi çevir, ardından Check'e bas.

Kendin dene

const int knobPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // potansiyometreyi oku, değerini 0..255 aralığına eşle ve LED'e yaz
}
quiz iconKendini test et

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

Çıkışlar bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground