Pada rangkaian digital dikenal sinyal High dilambangkan dengan angka 1 dan sinyal Low yang dilambangkan dengan angka 0. Sinyal High memiliki tegangan positif 5 V, 3 V , atau tegangan lain yang disesuaikan dengan kebutuhan rangkaian dan IC mikrokontroller yang digunakan. Sinyal High dan sinyal Low digunakan mikrokontroller IO sebagai nilai input pembanding.
Nilai input yang masuk ke pin Mikrokontroller terkadang mengalami masalah karena ketidak jelasan sinyal yang masuk sebagai input High atau Low. Kondisi ini dikenal sebagai Floating Logic atau Logika Mengambang. Hal ini disebabkan oleh pengaruh listrik statis disekitar rangkaian yang menyebabkan pin mikrokontroller I/O tidak mengenali sinyal High atau Low. Untuk mengatasinya maka digunakanlah Rangkaian Pull Up dan Pull Down menggunakan komponen Resistor.
Resistor Pull Down
Resistor ini digunakan saat Floating Logic terjadi pada kondisi Low. Resistor Pull Down dipasang paralel dengan jalur yang menuju Pin Mikrokontroller dan dipasang menuju Ground. Resistor Pull Down akan membuat nilai Floating Logic menjadi bernilai 0. Pada kasus ini bila switch ditekan maka akan memberikan data input bernilai logic High pada pin Mikrokontroller . Dan jika switch tidak ditekan akan memberikan data input Login Low pada pin Mikrokontroller.
Resistor Pull Up
Resistor ini digunakan saat Floating Logic terjadi pada kondisi High. Resistor Pull Up akan membuat nilai floating menjadi bernilai High atau 1. Resistor Pull Up dipasang pada sumber tegangan dan terhubung paralel dengan pin Mikrokontroller. Pada kondisi switch tidak ditekan maka akan merubah nilai Floating menjadi Low dan sebaliknya jika pada kondisi switch tidak ditekan maka nilai Floating menjadi High.
Pada umumnya nilai resistor 10 KOhm bisa mengatasi masalah floating logic pada rangkaian digital. Namun demikian, dalam hal menentukan nilai resistor Pull Up dan Pull Dwon harus memperhatikan 2 kriteria berikut ini:
- Level tegangan setelah ditambahkan “pull up” atau “pull down”. Level tegangan harus dipertimbangkan karena chip digital seperti mikrokontroller biasanya memiliki batas level tegangan input yang dianggap sebagai sinyal low (biasanya batas sinyal input low ditulis VIL, batas sinyal input high ditulis VIH pada datasheet mikrokontroller.
- Kecepatan rangkaian yang digunakan. Jika rangkaian yang di “pull up” atau “pull down” diperlukan untuk mengubah sinyal dari low ke high atau dari high ke low dengan cepat, misalnya untuk keperluan switching, komunikasi, PWM, nilai resistor untuk “pull up” dan “pull down” sangat menentukan apakah rangkaian tersebut bisa berfungsi dengan baik.
Kesimpulannya adalah bahwa resistor pull up maupun resistor pull down sama sama digunakan untuk mencegah terjadinya Floating Logic pada data input yang dipakai sebagai masukan pin Mikrokontroller. Resistor Pull Up dipasang untuk mencegah terjadinya Floating Logic pada saat kondisi High dan Resistor Pull Down digunakan untuk mencegah floating logic pada kondisi Low.