Sơ đồ kết nối
Sơ đồ đấu nối nút nhấn (push button)
Nút nhấn 4 chân: cách chống trôi tín hiệu (floating), dùng INPUT_PULLUP, xử lý dội phím.

Cấu tạo
- Nút nhấn tactile 4 chân: thực chất chỉ có 2 cặp chân nối chung nhau theo từng cặp chéo — cần đo/thử để xác định đúng cặp chân thông với nhau khi nhấn
Vấn đề chân trôi (floating input)
- Nếu chỉ nối 1 chân vào digital pin mà không có điện trở kéo, khi không nhấn chân sẽ ở trạng thái không xác định (nhiễu điện từ môi trường) → đọc giá trị ngẫu nhiên
Cách đấu dùng điện trở kéo lên nội (khuyến nghị — không cần điện trở rời)
- 1 chân nút → digital pin, khai báo pinMode(pin, INPUT_PULLUP)
- Chân còn lại → GND
- Khi không nhấn: đọc HIGH (được kéo lên nội bộ); khi nhấn: mạch nối xuống GND, đọc LOW — lưu ý logic bị đảo ngược (active-LOW)
Cách đấu dùng điện trở kéo xuống rời (nếu không dùng INPUT_PULLUP)
- 1 chân nút → 5V, 1 chân nút → digital pin, kèm điện trở ~10kΩ từ digital pin xuống GND
- Khi không nhấn: đọc LOW; khi nhấn: đọc HIGH (logic thuận, active-HIGH)
Dội phím (debounce)
- Tiếp điểm cơ khí rung nhiều lần rất nhanh khi nhấn/nhả — nếu đọc liên tục có thể ghi nhận nhầm nhiều lần nhấn
- Cách xử lý đơn giản: thêm delay ngắn (~20–50ms) sau khi phát hiện đổi trạng thái, hoặc dùng thư viện debounce (Bounce2)