Bir önceki rehberimizde dizileri ve for döngüsünü kullanarak sabit hızlı bir yürüyen ışık devresi kurmuştuk. Bu rehberde ise projeyi bir adım öteye taşıyor ve sisteme fiziksel bir kontrol düğmesi ekliyoruz! Potansiyometre kullanarak, LED'lerin akış hızını anlık olarak tamamen bizim belirleyeceğimiz hız ayarlı bir yürüyen ışık devresi tasarlayacağız.
LED bağlantılarımız bir önceki projeyle tamamen aynı kalıyor. Ek olarak potansiyometreyi devreye dahil ediyoruz. Potansiyometrenin dıştaki iki bacağından birini 5V'a, diğerini GND'ye, ortadaki sinyal bacağını ise Arduino'nun A0 analog pinine bağlıyoruz.
| Bileşen ve Pini | Arduino Uno Pini |
|---|---|
| 6 Adet LED (Artı Uçları) | Sırasıyla Pin 2, 3, 4, 5, 6, 7 |
| Potansiyometre 1. Kenar Bacak | 5V (Güç Hattı) |
| Potansiyometre Orta (Sinyal) Bacak | A0 (Analog Giriş) |
| Potansiyometre 3. Kenar Bacak | GND (Toprak Hattı) |

Aşağıdaki kodu doğrudan kopyalayıp Arduino'nuza yükleyebilirsiniz. Potansiyometreyi çevirdikçe delay() süresi dinamik olarak değişecektir.
int Ledler[] = {2, 3, 4, 5, 6, 7};
int potDeger;
void setup() {
for(int i = 0; i < 6; i++){
pinMode(Ledler[i], OUTPUT);
} // Led Pinlerini Çıkış Olarak Tanımladık
}
void loop() {
for(int i = 0; i < 6; i++){
potDeger = analogRead(A0); // Değeri okuduk (0-1023 arası)
digitalWrite(Ledler[i], HIGH);
delay(potDeger); // Potansiyometreden gelen değer kadar milisaniye bekle
digitalWrite(Ledler[i], LOW);
} // Sırayla Ledleri Yaktık ve Kapattık
}
Arduino, analogRead(A0) komutuyla potansiyometrenin döndürülme açısına göre 0 ile 1023 arasında dijital bir değer okur. Biz bu değeri doğrudan delay(potDeger); fonksiyonunun içerisine yazdık. Dolayısıyla potansiyometreyi bir yöne çevirip değeri 50'ye yaklaştırdığımızda LED'ler göz kırpma hızında çok hızlı akacak; diğer yöne çevirip 1000'e (yani yaklaşık 1 saniyeye) yaklaştırdığımızda ise yürüyen ışık oldukça yavaşlayacaktır.
Çözüm: Potansiyometrenin ortadaki bacağının kesinlikle A0 pinine takıldığından emin olun. Kenar bacakların yer değiştirmesi sadece yönü etkiler (sağa çevirince hızlanacağına sola çevirince hızlanır), ancak orta bacağın yanlış yere takılması analog okumayı tamamen engeller.
Çözüm: Kod yapımız gereği potansiyometrenin değeri for döngüsünün içindeki her bir LED geçişinde (yani her adımda) yeniden okunur. Eğer potansiyometreyi çok yüksek bir değere (Örn: 1023) getirdiyseniz, her bir LED'in sönmesi için 1 saniye geçmesi gerekecektir. Akışı tamamen sıfırlamak veya hızlandırmak için potu tekrar ters yöne çevirip bir tur döngünün tamamlanmasını beklemeniz yeterlidir.
Henüz yorum yapılmamış. İlk yorumu siz yapın!