// LED bağlantıları (Arduino'nun dijital pinleri)
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // PB0-PB7 pinleri
const int numLeds = 8; // LED sayısı
// Potansiyometre bağlantısı (A0 pinine bağlanmış)
const int potPin = A0;
void setup() {
// LED pinlerini çıkış olarak ayarla
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
// Seri haberleşmeyi başlat
Serial.begin(9600);
}
void loop() {
// Potansiyometreden değer oku (0-1023 arası)
int potValue = analogRead(potPin);
// Potansiyometre değerini hızla ilişkilendir
// Düşük ADC değeri ile LED'ler yavaş, yüksek ADC değeri ile LED'ler hızlı yanacak
// ADC değeri 0-1023 arası, map() ile bu değeri 300ms-30ms aralığına dönüştür
int delayTime = map(potValue, 0, 1023, 300, 30); // Potansiyometre değeri 0'dan 1023'e kadar, 300ms-30ms aralığında gecikme
// Seri monitöre potansiyometre değeri ve gecikme süresini yazdır
Serial.print("Potansiyometre Değeri: ");
Serial.print(potValue);
Serial.print(" Gecikme Süresi: ");
Serial.println(delayTime);
// LED'leri sağdan sola doğru yak
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH); // LED'leri yak
delay(delayTime); // Potansiyometre değerine göre bekleme
}
// LED'leri soldan sağa doğru söndür
for (int i = numLeds - 1; i >= 0; i--) {
digitalWrite(ledPins[i], LOW); // LED'leri söndür
delay(delayTime); // Potansiyometre değerine göre bekleme
}
}