Benim videodan gördüğüm kadarı ile sıkıntılı bir durum yok. Durum şöyle:
1 - Bu kod, son derece basit bir flaş devresi. 1. pozisyonda 200 milisaniyede bir yanıp sönüyor. 2. pozisyonda 80, 3.pozisyonda ise 30 milisaniyede bir yanıp sönüyor. Alıcı takilı iken hızlı ve sabit bir şekilde yanıp sönmesi, bu kodda yazılmış, tamamen normal durum.
2 - Eğer alıcı takılı değilse;
void loop() {
duration = pulseIn(sensePin, HIGH);
if (duration > 1600) {
patternLed(200);
} else if (duration > 1400) {
patternLed(80);
} else {
patternLed(30);
}
}
pulseIn komutu TIMEOUT alana kadar yani 1 saniye botunca loop'u bekletir. Ve de daha sonra timout nedeni ile "0" değerini alan "duration", 30 milisaniye boyunca ledi yakar ve döngü baştan başlar.
1000milisaniye bekle -> 30 milisaniye yan -> 1000milisaniye bekle -> 30 milisaniye yan -> ...
Yani aslında kod, sadece USB'den takılı iken yanlış çalışıyor
.
Düzenleme : Türkçe'ye "dömgü" diye bir kelime kazandırdığımı farkettim. "dömgü" nedir yahu. "döngü" işte
.