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.
Görev
Orta13 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ı
waitiç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);
}
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