#8Orta

Hız Ayarlı Karaşimşek Led

4.5(59)
115 tamamlandı
Hız Ayarlı Karaşimşek Led
Potansiyometre ile karaşimşek LED animasyonunun hızını gerçek zamanlı olarak ayarlayabilen proje. Analog giriş ve çift yönlü döngü kontrolünü birleştirir.

Video

Devre Şeması

Hız Ayarlı Karaşimşek Led - Circuit

Kaynak Kodu

Arduino (C++)
1int ledPins[] = {2, 3, 4, 5, 6, 7};
2int potValue;
3
4void setup() {
5  for(int i = 0; i < 6; i++) {
6    pinMode(ledPins[i], OUTPUT);
7  }
8}
9
10void loop() {
11  for(int i = 0; i < 6; i++) {
12    potValue = analogRead(A0);
13    digitalWrite(ledPins[i], HIGH);
14    delay(potValue);
15    digitalWrite(ledPins[i], LOW);
16  }
17
18  for(int i = 4; i > 0; i--) {
19    potValue = analogRead(A0);
20    digitalWrite(ledPins[i], HIGH);
21    delay(potValue);
22    digitalWrite(ledPins[i], LOW);
23  }
24}

Sıkça Sorulanlar

Bu proje öncekilerden neyi farklı öğretiyor?▾

Analog girişi (potansiyometre) çift yönlü döngüyle birleştirir: ışık ileri-geri giderken her adımda potansiyometre okunur ve gecikme anında güncellenir. Sensör değerine göre davranışı değiştirmenin temelidir.

Okunan değer titriyor, nasıl sabitlerim?▾

Analog okumalarda küçük oynamalar normaldir. Birkaç okumanın ortalamasını almak ya da değeri map() ile daha kaba adımlara bölmek (ör. 10 ms'lik adımlar) titremeyi gizler.

Potansiyometre yerine başka bir sensör kullanabilir miyim?▾

Evet. LDR gibi analog çıkış veren her sensör aynı A0 girişine bağlanabilir; örneğin ortam karardıkça ışık daha hızlı yürüyebilir. Sadece okuma aralığını map() ile yeniden ayarlaman gerekir.

Hangi analog pini kullanmalıyım?▾

Uno'da A0–A5 arası pinlerin hepsi analog okuma yapabilir. Kodda kullandığın pin ile devredeki bağlantının aynı olduğundan emin ol; A4 ve A5 I2C için de kullanıldığından ileride ekran eklemeyi düşünüyorsan A0'ı tercih et.

Hız Ayarlı Karaşimşek Led | BlueGrays