Haberler

Pull-up Direnci vs Pull-down – Farklar, Arduino Rehberi

Herhangi bir dijital elektronik devre aldığınızda, muhtemelen içinde pull-up ve pull-down dirençleri bulacaksınız. Gömülü bir sistemdeki herhangi bir mikrodenetleyici (örneğin, Arduino) dış donanım cihazlarıyla iletişim için I/O sinyalleri kullanır; en yaygın bilinenleri GPIO’dur. GPIO pinlerinize hiçbir şey bağlı olmadığında, programınız “yüzen” bir empedans durumu okuyacaktır ki bu istemediğimiz bir durumdur. “Yüksek” veya “düşük” durumları elde etmek için dijital devremizde pull-up veya pull-down dirençleri uygulamamız gerekecek.

Bu nedenle, bugünkü karşılaştırma kılavuzumuzda, pull-up ve pull-down dirençlerin ne olduğunu, aralarındaki farkları ve bir Arduino kılavuzunu inceleyeceğiz.

  • Dirençler hakkında daha fazla bilgi edinmek ve renk kodlarını nasıl çözümleyeceğinizi öğrenmek isterseniz, daha önceki kılavuzuma buradan göz atabilirsiniz.

Pull-up Direnç Nedir ve Amacı Nedir

Pull-up direnç şeması

Pull-up dirençler, bir voltaj kaynağı ile dijital mantık devresindeki belirli bir pin arasına yerleştirilen sabit değerli dirençlerdir. Genellikle anahtarlarla eşleştirilen bu dirençlerin amacı, anahtar açıkken Toprak ile Vcc arasındaki voltajın aktif olarak kontrol edilmesini sağlamaktır. Ayrıca, bunu yaparken devrenin durumunu etkilememektedir. Pull-up dirençler yoksa, bu kısa devreye yol açar ki bu da ideal bir durum değildir.

Pull-up direnç uygulamaları

  • Anahtar ile mikrodenetleyici kartı arasında arayüz oluşturma
  • Analogdan dijitale dönüştürücüler; dirençli bir sensöre kontrollü bir akım akışı sağlama
  • I2C protokolü veri yolu; tek bir pinin I/P veya O/P olarak çalışmasına izin verme

Pull-up dirençleri ne zaman kullanmalıyız?

Düşük bir varsayılan empedans durumu gerektiriyorsanız ve sinyali “yüksek” seviyeye çekmek istiyorsanız, kullanmanız gereken dirençler pull-up dirençlerdir.

Pull-down Direnç Nedir

Pull-up dirençlere benzer şekilde, pull-down dirençler de anahtar açıkken VCC ile bir mikrodenetleyici pini arasındaki voltajın aktif olarak kontrol edilmesini sağlar. Ancak, bir pini yüksek bir değere çekmek yerine, bu dirençler pini düşük bir değere çeker. Daha az yaygın kullanılsa da, pull-down direnç hala geçerli bir seçenektir.

Pull-up ve Pull-down Dirençlerin Değerlerini Nasıl Hesaplarız

Dijital mantık seviyeli devrelerde birçok pull-up veya pull-down direnç 2 ile 4.7k arasında değişmektedir; bu dirençlerin gerçek değerlerini hesaplamamız gerekecek. Normal bir direnç için direnç hesapladığımız gibi, Ohm yasasındaki formülü kullanacağız; burada R = Voltaj/Akım veya kısaca R = V/I şeklindedir.

Pull-up dirençlerin gerçek değerlerini hesaplama

Pull-up dirençler için voltaj, kaynak voltajından yüksek olarak kabul edilen minimum voltajın çıkarılmasıyla elde edilir. Akım ise mantık pinleri tarafından çekilen maksimum akımı ifade eder.

Pull-up dirençlerin gerçek değerini hesaplamak için formül:

  • R pull-up = (V supply – VH(min)) / Isink

Pull-down dirençlerin gerçek değerlerini hesaplama

Pull-down dirençler için formülde küçük bir değişiklik vardır, ancak hala Ohm yasasına dayanmaktadır. Voltaj artık mantık Düşük olarak adlandırılacakken, akım dijital pin tarafından sağlanan maksimum akımı ifade eder.

Pull-down dirençlerin gerçek değerini hesaplamak için formül:

  • R pull-down = (VL(max) – 0) / Isource

Pull-up direnç vs pull-down; Farklar

Pull-up ve pull-down dirençler arasındaki farkları daha iyi göstermek için aşağıda bir yan yana karşılaştırma tablosu sunacağım:

Pull-Up Dirençler Pull-Down Dirençler
I/O pini ile +supply voltajı arasında bağlanır, açık anahtar I/O ile toprak arasında bağlıdır.
Girişi “Yüksek” tutar
I/O pini ile toprak arasında bağlanır, açık anahtar I/O ile +Supply arasında bağlıdır.
Girişi “Düşük” tutar
Daha yaygın kullanılır Daha az yaygın kullanılır

Görüldüğü gibi, her iki direnç türü arasında çok fazla fark yoktur; çünkü benzer işlevselliğe sahiptirler.

Arduino Dahili Pull-up Direnç Eğitimi

Aşağıdaki eğitim, Arduino ile PC’niz arasında bir seri iletişim kurarak bir anahtarın durumunu izleyerek INPUT_PULLUP kullanmayı göstermektedir.

Bu eğitim için ihtiyacınız olanlar:

Donanım Yapılandırmaları:

Fritzing kullanılarak geliştirilmiştir, daha fazla devre örneği için buraya gidin.
  • Arduino kartına iki kablo bağlayın
    • Siyah kablo, toprak ile butonun bir bacağına bağlanır
    • İkinci kablo, dijital pin 2’yi butonun diğer bacağına bağlar

Arduino Kodu ile Yazılım Yapılandırmaları

  • Adım 1: Arduino ile PC’niz arasında 9600 bit veri oluşturmak için aşağıdaki kodu girin:
Serial.begin(9600);
  • Adım 2: Dijital pin 2’yi giriş olarak başlatın ve dahili pull-up direncini etkinleştirin:
pinMode(2,INPUT_PULLUP);
  • Adım 3: Aşağıdaki satırı girerek pin 13’ü, yerleşik LED’i çıkış olarak ayarlayın:
pinMode(13, OUTPUT);
  • Adım 4: Anahtardan gelen bilgileri tutacak bir değişken oluşturun:
int sensorValue = digitalRead(2);
  • Adım 5: Arduino giriş okuduktan sonra, bu bilgiyi bilgisayara yazdırmak için aşağıdaki kodu girin:
Serial.println(sensorValue, DEC);

Artık Seri Monitörünüzü açtığınızda, anahtar kapalı olduğunda “0” akışı ve anahtar açık olduğunda “1” akışı göreceksiniz. Pin 13’teki LED, anahtar “Yüksek” olduğunda yanacak ve “Düşük” olduğunda sönmeyecektir.

  • Tam Arduino kodu için buraya gidebilirsiniz.

Özet

Bugün pull-up dirençler hakkında söyleyeceklerim bu kadar. Umarım bugünkü blog ile pull-up dirençlerin ne olduğunu, pull-up ve pull-down arasındaki farkları ve bir Arduino kartı ile arayüz oluşturmayı daha derin bir şekilde anlamışsınızdır!

  • Unutmayın, pull-up direncinin ana işlevi, giriş hatlarının yüzen durumdan kaçınmasını sağlamaktır!

Leave a Reply

Your email address will not be published. Required fields are marked *