Nút Nhấn Tact Switch 6x6mm
Nút nhấn nhả (momentary) 4 chân cỡ 6×6mm, xuyên lỗ. Input cơ học cơ bản nhất cho vi điều khiển: reset, menu, kích sự kiện. Bài học kèm theo: đấu pull-up và chống dội phím (debounce).
Thông số kỹ thuật
| Kiểu | Momentary (nhấn-nhả) |
| Số chân | 4 (2 cặp nối sẵn) |
| Kích thước | 6 × 6 mm |
| Dòng/điện áp | ~50mA @ 12VDC |
| Lực nhấn | ~160 ~ 260 gf |
Kết nối
4 chân là 2 cặp: hai chân cùng phía nối sẵn với nhau, nhấn thì hai cặp thông nhau. Đấu chéo (hai chân đối góc) cho chắc.
GPIO (INPUT_PULLUP) ──┬── nút ── GND
│
(nhấn → chân về LOW)
Dùng INPUT_PULLUP của MCU thì không cần điện trở ngoài; nhấn = đọc LOW.
Code mẫu (có debounce)
#define BTN_PIN 15
int lastState = HIGH;
unsigned long lastDebounce = 0;
const unsigned long DEBOUNCE = 30;
void setup() {
Serial.begin(115200);
pinMode(BTN_PIN, INPUT_PULLUP);
}
void loop() {
int reading = digitalRead(BTN_PIN);
if (reading != lastState) lastDebounce = millis();
if (millis() - lastDebounce > DEBOUNCE) {
static int stable = HIGH;
if (reading != stable) {
stable = reading;
if (stable == LOW) Serial.println("Nhấn!");
}
}
lastState = reading;
}