Elektroniczna płytka drukowana w pomocnej dłoni.

Jak podłączyć przycisk? Do Arduino

4 min. czytania

Podłączenie przycisku do Arduino to podstawowa operacja w elektronice hobbystycznej, umożliwiająca wprowadzanie sygnałów z zewnątrz. Najczęściej stosuje się mechaniczne przyciski tact-switch (z 4 nóżkami) lub dotykowe moduły. Poniżej znajdziesz dwa główne sposoby: z wbudowanym rezystorem podciągającym (INPUT_PULLUP) – najprostszy i zalecany – oraz z zewnętrznym rezystorem 10 kΩ. Instrukcja opiera się na Arduino Uno, ale działa także z innymi modelami (dostosuj piny zasilania: 5V lub 3.3V).

Potrzebne elementy

Zgromadź następujące elementy:

  • Arduino Uno – lub inna kompatybilna płytka rozwojowa;
  • przycisk tact-switch – 4 nóżki (połączone parami) lub moduł dotykowy (np. TTP223);
  • przewody połączeniowe (Dupont) – do łączenia elementów na płytce;
  • opcjonalnie: dioda LED + rezystor 220 Ω – do testu, płytka stykowa, rezystor 10 kΩ (dla wariantu zewnętrznego);
  • komputer z Arduino IDE – pobrany z oficjalnej strony Arduino.

Przygotowanie Arduino IDE

Wykonaj poniższą konfigurację środowiska:

  1. Zainstaluj Arduino IDE.
  2. Podłącz Arduino do komputera kablem USB.
  3. W IDE wybierz: Narzędzia > Płytka > Arduino Uno oraz Narzędzia > Port > właściwy port COM.
  4. W Monitorze szeregowym (Ctrl+Shift+M) ustaw szybkość na 9600.

Sposób 1 – podłączenie z wbudowanym rezystorem podciągającym (INPUT_PULLUP) – zalecane

Ten wariant nie wymaga dodatkowego rezystora – Arduino ma wbudowany (ok. 20–50 kΩ). Logika jest odwrócona: naciśnięty przycisk = LOW (0 V), nie naciśnięty = HIGH (5 V).

Schemat podłączenia (tact-switch)

Podłącz jedną parę nóżek przycisku do pinu cyfrowego (np. pin 2), a drugą parę do GND. Następnie sprawdź orientację nóżek na płytce stykowej.

Podłącz elementy zgodnie z tabelą:

Element Podłączenie do Arduino
Przycisk (jedna strona) Pin 2 (wejście)
Przycisk (druga strona) GND

Uwaga: w tact-switch nóżki są połączone parami – upewnij się co do ich orientacji na płytce stykowej.

Dla modułu dotykowego (TTP223)

Podłącz piny modułu według poniższej mapy:

Pin modułu Pin Arduino
GND GND
OUT Pin 2
VCC 5V

Kod testowy (zapala LED na pinie 13 po naciśnięciu)

Skopiuj i wgraj poniższy szkic do płytki:

const int buttonPin = 2; // Pin przycisku
const int ledPin = 13; // Pin LED (wbudowana dioda)

void setup() {
Serial.begin(9600); // Monitor szeregowy
pinMode(buttonPin, INPUT_PULLUP); // Wejście z pull-up
pinMode(ledPin, OUTPUT); // Wyjście LED
}

void loop() {
int stan = digitalRead(buttonPin); // Odczyt stanu (HIGH=nie naciśnięty, LOW=naciśnięty)
Serial.println(stan); // Debug w monitorze

if (stan == LOW) { // Naciśnięty?
digitalWrite(ledPin, HIGH); // Zapal LED
} else {
digitalWrite(ledPin, LOW); // Wyłącz LED
}

delay(100); // Krótkie opóźnienie
}

Wgraj kod (Ctrl+U), otwórz Monitor szeregowy, naciśnij przycisk i obserwuj zmiany.

Sposób 2 – podłączenie z zewnętrznym rezystorem podciągającym (10 kΩ)

Wybierz ten wariant, jeśli wolisz fizyczny rezystor (do masy lub do +5 V). Rezystor zapobiega stanowi nieokreślonemu (floating) na wejściu.

Schemat (pull-up do +5 V)

Połącz według poniższej tabeli:

Element Podłączenie
Przycisk Pin 2 ↔ GND
Rezystor 10 kΩ Pin 2 ↔ 5V

Logika: naciśnięty = LOW, nie naciśnięty = HIGH.

Kod (bez INPUT_PULLUP)

W tym wariancie zmień tryb pinu na zwykłe wejście:

// ... w setup():
pinMode(buttonPin, INPUT); // Bez PULLUP

Wariant pull-down: rezystor między pin 2 a GND, przycisk między pin 2 a 5V (naciśnięty = HIGH).

Rozwiązywanie problemów (debouncing i wskazówki)

Zawieszenia/odskoki (bouncing): mechaniczny przycisk „drży” przez 10–20 ms, co powoduje fałszywe odczyty. Rozwiązanie: krótki delay() lub biblioteka Bounce2 zapewniająca filtrację drgań.

Przykład z biblioteką Bounce2:

#include <Bounce2.h>

#define BUTTON_PIN 2
Bounce debouncer = Bounce();

void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
debouncer.attach(BUTTON_PIN);
debouncer.interval(5); // 5 ms
}

void loop() {
debouncer.update();
int stan = debouncer.read(); // Stabilny odczyt
// reszta kodu...
}

Aby zainstalować bibliotekę, przejdź do: Szkic > Dołącz bibliotekę > Zarządzaj, wyszukaj Bounce2 i zainstaluj.

Jeśli nadal masz problemy, sprawdź poniższe wskazówki:

  • brak reakcji – sprawdź połączenia multimetrem, orientację przycisku (pary nóżek), poprawny baud rate w monitorze szeregowym;
  • kilka przycisków – użyj różnych pinów (2–13), a w kodzie zastosuj tablicę pinów i pętlę do odczytu;
  • bezpieczeństwo – nie przekraczaj 5 V / 20 mA na pinie; zawsze używaj rezystora przy LED (np. 220 Ω);
  • tryb on/off (toggle) – zastosuj detekcję krawędzi i zmienną stanu (np. porównuj bieżący stan z poprzednim);
  • test w Tinkercad – wykonaj symulację online przed montażem lub lutowaniem.

Ten poradnik pozwoli Ci szybko zbudować stabilny układ i pewnie odczytywać stan przycisków w projektach Arduino. Eksperymentuj z wieloma przyciskami albo dodaj enkoder obrotowy, aby rozszerzyć funkcjonalność.

Grzegorz Kuzia
Grzegorz Kuzia

Redaktor naczelny Poland IT Hub. Od ponad 8 lat zajmuję się testowaniem sprzętu, recenzowaniem gier i tworzeniem praktycznych poradników technologicznych. Specjalizuję się w wirtualnej rzeczywistości, aplikacjach mobilnych oraz cyberbezpieczeństwie. Moją misją jest pokazywanie, że technologia może być prosta i dostępna dla każdego – bez żargonu i komplikacji.