Arduino - Saklar Penghubung

Tombol tekan atau sakelar menghubungkan dua terminal terbuka dalam sebuah sirkuit. Contoh ini menyalakan LED pada pin 2 saat Anda menekan sakelar tombol tekan yang terhubung ke pin 8.

Resistor pull-down

Resistor pull-down digunakan dalam rangkaian logika elektronik untuk memastikan bahwa input ke Arduino menetap pada level logika yang diharapkan jika perangkat eksternal terputus atau berada pada impedansi tinggi. Karena tidak ada yang terhubung ke pin input, itu tidak berarti bahwa itu adalah nol logis. Resistor pull down dihubungkan antara ground dan pin yang sesuai pada perangkat.

Contoh resistor pull-down dalam rangkaian digital ditunjukkan pada gambar berikut. Sakelar tombol tekan dihubungkan antara tegangan suplai dan pin mikrokontroler. Dalam rangkaian seperti itu, ketika sakelar ditutup, input pengontrol mikro berada pada nilai logis tinggi, tetapi ketika sakelar terbuka, resistor pull-down menarik tegangan input ke tanah (nilai nol logis), mencegah keadaan tak terdefinisi di input.

Resistor pull-down harus memiliki resistansi yang lebih besar daripada impedansi rangkaian logika, atau mungkin akan menarik tegangan turun terlalu banyak dan tegangan input pada pin akan tetap pada nilai logis rendah yang konstan, terlepas dari posisi sakelar.

Komponen Diperlukan

Anda akan membutuhkan komponen berikut -

  • 1 × papan Arduino UNO
  • Resistor 1 × 330 ohm
  • 1 × 4.7K ohm resistor (tarik ke bawah)
  • 1 × LED

Prosedur

Ikuti diagram sirkuit dan buat koneksi seperti yang ditunjukkan pada gambar di bawah ini.

Sketsa

Buka software Arduino IDE di komputer Anda. Pengkodean dalam bahasa Arduino akan mengontrol sirkuit Anda. Buka File sketsa baru dengan mengklik New.

Kode Arduino

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 8; // the number of the pushbutton pin
const int ledPin = 2; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
   // initialize the LED pin as an output:
   pinMode(ledPin, OUTPUT);
   // initialize the pushbutton pin as an input:
   pinMode(buttonPin, INPUT);
}

void loop() {
   // read the state of the pushbutton value:
   buttonState = digitalRead(buttonPin);
   // check if the pushbutton is pressed.
   // if it is, the buttonState is HIGH:
   if (buttonState == HIGH) {
      // turn LED on:
      digitalWrite(ledPin, HIGH);
   } else {
      // turn LED off:
      digitalWrite(ledPin, LOW);
   }
}

Kode untuk Dicatat

Ketika sakelar terbuka, (tombol tekan tidak ditekan), tidak ada koneksi antara kedua terminal tombol tekan, jadi pin terhubung ke ground (melalui resistor pull-down) dan kami membaca LOW. Ketika sakelar ditutup (tombol tekan ditekan), itu membuat koneksi antara dua terminalnya, menghubungkan pin ke 5 volt, sehingga kami membaca TINGGI.

Hasil

LED AKTIF saat tombol ditekan dan MATI saat dilepas.