Arduino UNO – Potansiyometre ile 10 LED’li Seviye Göstergesi

Bu çalışmamızda potansiyometrenin değerini 0’dan 5 Volta kadar değiştireceğiz ve bu değişimi 10 LED ile göstereceğiz.

Yukarıdaki devrede yerden kazanmak için LED’lerin bacaklarının boylarını değiştirdim. Uzun bacak ‘Anot’ kısa bacak ‘Katot’ olarak kullanılmıştır.

Arduino IDE kodları

void setup() {
  for (int i = 2; i <= 11; i++) {
    pinMode(i, OUTPUT);
  }

  /*  Yukarıdaki döngü ile 2 numaralı pinden
      11 numaralı pine kadar hepsini
      çıkış pini olarak ayarladık.
  */

  for (int i = 2; i <= 11; i++) {
    digitalWrite(i, HIGH);
  }
  delay(2000);
  for (int i = 2; i <= 11; i++) {
    digitalWrite(i, LOW);
  }

  /*  Yuakrıdaki döngüler ile Arduino başladığında
      yalnızca bir defa çalışmak üzere tüm LED'leri
      2 saniye boyunca yaktık ve ardından söndürdük.
      Böylece tüm LED'lerimizin çalışır durumda olup
      olmadığını kontrol ettik.
  */

}

void loop() {
  int AnalogDeger = analogRead(A0);
  if (AnalogDeger < 100) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
  } else {
    if (AnalogDeger < 200) {
      digitalWrite(2, HIGH);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
    } else {
      if (AnalogDeger < 300) {
        digitalWrite(2, HIGH);
        digitalWrite(3, HIGH);
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        digitalWrite(6, LOW);
        digitalWrite(7, LOW);
        digitalWrite(8, LOW);
        digitalWrite(9, LOW);
        digitalWrite(10, LOW);
        digitalWrite(11, LOW);
      } else {
        if (AnalogDeger < 400) {
          digitalWrite(2, HIGH);
          digitalWrite(3, HIGH);
          digitalWrite(4, HIGH);
          digitalWrite(5, LOW);
          digitalWrite(6, LOW);
          digitalWrite(7, LOW);
          digitalWrite(8, LOW);
          digitalWrite(9, LOW);
          digitalWrite(10, LOW);
          digitalWrite(11, LOW);
        } else {
          if (AnalogDeger < 500) {
            digitalWrite(2, HIGH);
            digitalWrite(3, HIGH);
            digitalWrite(4, HIGH);
            digitalWrite(5, HIGH);
            digitalWrite(6, LOW);
            digitalWrite(7, LOW);
            digitalWrite(8, LOW);
            digitalWrite(9, LOW);
            digitalWrite(10, LOW);
            digitalWrite(11, LOW);
          } else {
            if (AnalogDeger < 700) {
              digitalWrite(2, HIGH);
              digitalWrite(3, HIGH);
              digitalWrite(4, HIGH);
              digitalWrite(5, HIGH);
              digitalWrite(6, HIGH);
              digitalWrite(7, HIGH);
              digitalWrite(8, LOW);
              digitalWrite(9, LOW);
              digitalWrite(10, LOW);
              digitalWrite(11, LOW);
            } else {
              if (AnalogDeger < 800) {
                digitalWrite(2, HIGH);
                digitalWrite(3, HIGH);
                digitalWrite(4, HIGH);
                digitalWrite(5, HIGH);
                digitalWrite(6, HIGH);
                digitalWrite(7, HIGH);
                digitalWrite(8, HIGH);
                digitalWrite(9, LOW);
                digitalWrite(10, LOW);
                digitalWrite(11, LOW);
              } else {
                if (AnalogDeger < 900) {
                  digitalWrite(2, HIGH);
                  digitalWrite(3, HIGH);
                  digitalWrite(4, HIGH);
                  digitalWrite(5, HIGH);
                  digitalWrite(6, HIGH);
                  digitalWrite(7, HIGH);
                  digitalWrite(8, HIGH);
                  digitalWrite(9, HIGH);
                  digitalWrite(10, LOW);
                  digitalWrite(11, LOW);
                } else {
                  if (AnalogDeger < 1000) {
                    digitalWrite(2, HIGH);
                    digitalWrite(3, HIGH);
                    digitalWrite(4, HIGH);
                    digitalWrite(5, HIGH);
                    digitalWrite(6, HIGH);
                    digitalWrite(7, HIGH);
                    digitalWrite(8, HIGH);
                    digitalWrite(9, HIGH);
                    digitalWrite(10, HIGH);
                    digitalWrite(11, LOW);
                  } else {
                    digitalWrite(2, HIGH);
                    digitalWrite(3, HIGH);
                    digitalWrite(4, HIGH);
                    digitalWrite(5, HIGH);
                    digitalWrite(6, HIGH);
                    digitalWrite(7, HIGH);
                    digitalWrite(8, HIGH);
                    digitalWrite(9, HIGH);
                    digitalWrite(10, HIGH);
                    digitalWrite(11, HIGH);
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Yorum bırakın