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 papan, sebesar 20k hingga 50k ohm, dari pin ke 5V: pull-down pada pelajaran sebelumnya dengan arah terbalik, tanpa komponen tambahan. Tombol hanya menghubungkan pin ke GND.

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

bool pressed = digitalRead(2) == LOW;

if (pressed) {
  // Tombol sedang ditekan
}

Setelah itu, kodemu terbaca dengan arah yang 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 selama nilainya true, lalu tunggu 100 ms

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

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 = ...
  // tampilkan 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