
Potansiyometre ile LED yürüme hızını gerçek zamanlı olarak ayarlayabilen proje. analogRead ile potansiyometre değerini okuyarak delay süresini dinamik kontrol etmeyi öğretir.
Video
Devre Şeması

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}Sıkça Sorulanlar
analogRead hangi değerleri döndürür?▾
Uno'nun analog girişleri 0–5 V'u 10 bit çözünürlükle okur ve 0–1023 arası bir sayı döndürür. Potansiyometre bir uçtan diğerine çevrildikçe değer 0'dan 1023'e değişir.
Potansiyometre değerini hıza nasıl çeviriyoruz?▾
map() fonksiyonu ile 0–1023 aralığını istediğin gecikme aralığına (ör. 20–500 ms) dönüştürürsün: map(deger, 0, 1023, 20, 500). Bu değer delay() içinde kullanılınca hız anında değişir.
Potansiyometrenin bacakları nasıl bağlanır?▾
Dış iki bacak 5 V ve GND'ye, orta bacak (silecek) bir analog girişe (ör. A0) bağlanır. Dış bacakları ters bağlarsan sadece çevirme yönü tersine döner, devre bozulmaz.
Hız değişikliği gecikmeli algılanıyor, neden?▾
Potansiyometre yalnızca döngünün başında okunuyorsa tüm LED'ler yürüyene kadar yeni değer uygulanmaz. Okumayı her LED adımının içine alırsan hız anında değişir.
