Menu
CoddyTech

Seri Porttan Yanıp Sönme Hızı

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

250 yazın; kart üç karakter, '2', '5' ve '0', ardından da yeni satır karakterini alır. Serial.parseInt() rakamları okur ve bunları 250 sayısına dönüştürür; rakam olmayan ilk karakterde durur.

Ancak bir püf noktası var: Hiç rakam gelmediğinde parseInt() bir rakamın gelmesi için 1 saniyeye kadar bekler, ardından 0 döndürür. Bu, yazdığınız her sayıdan sonra gerçekleşir: Sayıyı bitiren yeni satır karakteri hâlâ beklediğinden Serial.available() yeniden 0'dan büyüktür ve parseInt() hiç rakam bulamaz, bir saniye bekler ve 0 döndürür.

Bu yüzden 0 değerini "işe yarar bir şey yok" olarak kabul edin ve eski değeri koruyun:

if (Serial.available() > 0) {
  int n = Serial.parseInt();
  if (n > 0) {
    wait = n;
  }
}

Yazdığınız her sayıdan sonra LED'in bir saniye durakladığını göreceksiniz: parseInt() bekliyor.

challenge icon

Görev

Orta

13 numaralı pindeki LED, wait ms boyunca açık ve wait ms boyunca kapalı olarak yanıp söner; wait başlangıçta 500'dür. Hızı Seri monitörün değiştirmesini sağlayın:

  • karakterler bekliyorsa Serial.parseInt() ile bir sayı okuyun
  • 0'dan büyükse bu sayıyı wait içine kaydedin

Run düğmesine basın, Seri monitörden 100 gönderin, ardından Check düğmesine basın.

Kendin dene

const int ledPin = 13;

int wait = 500;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // karakterler bekliyorsa, bir sayıyı wait değişkenine oku (0'dan büyükse)
  digitalWrite(ledPin, HIGH);
  delay(wait);
  digitalWrite(ledPin, LOW);
  delay(wait);
}
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