Menu
CoddyTech

Pull-Up Internal

Termasuk bagian Input dalam perjalanan Arduino di Coddy. Pelajaran 3 dari 22.

Kamu sudah menggunakan INPUT_PULLUP sejak pelajaran Membaca Tombol. Fitur ini mengaktifkan resistor di dalam board, sebesar 20k hingga 50k ohm, dari pin ke 5V: pull-down dari pelajaran sebelumnya yang arahnya dibalik, tanpa komponen tambahan. Tombol hanya menghubungkan pin ke GND.

Masalahnya, logikanya terbalik: saat tidak ditekan, nilainya terbaca HIGH, saat ditekan nilainya terbaca LOW, dan menulis == LOW di seluruh sketch mudah membuatmu keliru. Perbandingan seperti digitalRead(2) == LOW menghasilkan true atau false, dan bool adalah variabel yang menyimpan true atau false. Simpan nilainya dengan nama yang menjelaskan maksudnya:

bool pressed = digitalRead(2) == LOW;

if (pressed) {
  // tombol sedang ditekan
}

Setelah itu, kode lebih mudah dibaca dengan benar. Mencetak bool menampilkan 1 untuk true dan 0 untuk false.

challenge icon

Tantangan

Mudah

Tombol menghubungkan pin 2 ke GND, dan LED berada di pin 13:

  • atur pin 2 ke INPUT_PULLUP
  • simpan digitalRead(buttonPin) == LOW dalam bool bernama pressed
  • cetak pressed, nyalakan LED saat nilainya true, lalu tunggu 100 ms

Periksa mengharapkan 1 saat tombol ditekan dan 0 saat tombol dilepas. Tekan Run, tahan tombol, lalu tekan Check.

Coba sendiri

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  // aktifkan pull-up pada pin tombol
}

void loop() {
  // bool pressed = ...
  // cetak nilainya, nyalakan LED selama nilainya true, tunggu 100 ms
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Input

Latihan sendiri: Playground Arduino