Jedno źle podłączone przewód potrafi zatrzymać cały projekt z Arduino, nawet gdy kod wygląda bez zarzutu. Czytelny arduino pinout pozwala szybko rozpoznać piny cyfrowe, analogowe, PWM, zasilanie oraz interfejsy komunikacyjne. Poniżej porządkuję najważniejsze wyprowadzenia Arduino Uno, Nano i Mega, pokazuję ich zastosowania oraz wskazuję błędy, które najczęściej kończą się niestabilnym działaniem albo uszkodzeniem układu.
Najważniejsze informacje o wyprowadzeniach Arduino w jednym miejscu
- Arduino Uno R3 ma 14 pinów cyfrowych, 6 analogowych i 6 wyprowadzeń PWM.
- I2C w Uno wykorzystuje A4 jako SDA oraz A5 jako SCL.
- SPI korzysta z pinów D10-D13, a komunikacja szeregowa z D0 i D1.
- Znak ~ na diagramie oznacza pin obsługujący PWM.
- Nie podłączaj silników i przekaźników bezpośrednio do GPIO, ponieważ piny mają ograniczony prąd.

Jak czytać schemat wyprowadzeń Arduino Uno
Najbardziej uniwersalnym punktem odniesienia jest Arduino Uno R3. Płytka ma mikrokontroler ATmega328P, pracuje z częstotliwością 16 MHz i udostępnia 14 pinów cyfrowych oraz 6 wejść analogowych. To właśnie ten układ pinów spotykam w największej liczbie poradników, shieldów i gotowych przykładów.
Na diagramie warto najpierw odszukać oznaczenia D0-D13, A0-A5, GND, 5V, 3.3V i VIN. Litera D oznacza pin cyfrowy, natomiast A wejście analogowe. Piny analogowe mogą również działać jako cyfrowe, ale odwrotna zależność nie dotyczy każdego pinu cyfrowego.
Piny cyfrowe i PWM
Każdy pin D0-D13 może pracować jako wejście albo wyjście. Do sterowania używa się między innymi funkcji digitalRead(), digitalWrite() i pinMode(). Wyprowadzenia oznaczone symbolem ~ obsługują PWM, czyli szybkie przełączanie sygnału, które pozwala na przykład regulować jasność diody lub prędkość silnika przez sterownik.
| Zakres pinów | Główna funkcja | Istotna uwaga |
|---|---|---|
| D0-D1 | UART | RX i TX, używane także przez USB |
| D2-D3 | GPIO, przerwania | Przydatne do obsługi przycisków i czujników zdarzeń |
| D3, D5, D6, D9-D11 | PWM | Oznaczane na płytce symbolem ~ |
| D10-D13 | SPI | SS, MOSI, MISO i SCK |
| D13 | LED_BUILTIN | Połączony z wbudowaną diodą LED |
Wejścia analogowe
Wejścia A0-A5 mierzą napięcie i przetwarzają je przez 10-bitowy przetwornik analogowo-cyfrowy. W praktyce oznacza to zakres wartości od 0 do 1023 dla napięcia odniesienia 0-5 V. Potencjometr, fotorezystor czy analogowy czujnik temperatury można więc podłączyć bez dodatkowego przetwornika.
Domyślnie odczyt wykonuje funkcja analogRead(A0). Trzeba pamiętać, że pin analogowy nie jest źródłem zasilania, a podanie napięcia wyższego niż dopuszczalne dla mikrokontrolera może uszkodzić wejście.
Zasilanie i piny pomocnicze
| Pin | Znaczenie | Zastosowanie |
|---|---|---|
| 5V | Wyjście zasilania | Zasilanie wielu modułów zgodnych z logiką 5 V |
| 3.3V | Wyjście zasilania | Moduły wymagające napięcia 3,3 V |
| GND | Masa | Wspólny punkt odniesienia dla całego układu |
| VIN | Wejście zasilania | Zasilanie płytki z zewnętrznego źródła napięcia |
| AREF | Napięcie odniesienia | Precyzyjny pomiar analogowy po odpowiedniej konfiguracji |
| RESET | Reset mikrokontrolera | Restart programu po zwarciu do GND |
W praktyce zasilanie przez gniazdo lub VIN najlepiej utrzymywać w zakresie około 7-12 V. Dokumentacja dopuszcza szerszy zakres wejściowy, ale wyższe napięcie zwiększa straty na stabilizatorze i może powodować jego nagrzewanie. Do prostych projektów USB jest zwykle najbezpieczniejszym wyborem.
Funkcje specjalne, które łatwo przeoczyć
Ten sam pin może mieć kilka ról. To największa zaleta Arduino, ale także źródło pomyłek. Zanim podłączę moduł, sprawdzam nie tylko numer wyprowadzenia, lecz także to, czy nie zajmuje ono interfejsu potrzebnego w dalszej części projektu.
UART na D0 i D1
Piny D0 i D1 służą do komunikacji szeregowej UART. Są połączone z układem USB, dlatego podłączenie tam zewnętrznego modułu, na przykład GPS albo Bluetooth, może zakłócać wgrywanie programu i działanie monitora portu szeregowego.
Do krótkiego testu to rozwiązanie jest wygodne, ale w większym projekcie lepiej zostawić D0 i D1 dla USB albo użyć programowej komunikacji szeregowej na innych pinach. To ograniczenie często wychodzi dopiero wtedy, gdy gotowy układ przestaje się programować.
I2C na A4 i A5
Interfejs I2C wykorzystuje A4 jako SDA, czyli linię danych, oraz A5 jako SCL, czyli linię zegara. Do tych dwóch przewodów można podłączyć kilka modułów, pod warunkiem że mają różne adresy lub da się je zmienić.
Linie I2C wymagają rezystorów podciągających. Część modułów ma je już na płytce, więc dokładanie kolejnych bez sprawdzenia dokumentacji może pogorszyć sygnał. Przy długich przewodach i większej liczbie urządzeń szczególnie ważne stają się wspólna masa, krótka magistrala i właściwa prędkość transmisji.
SPI na D10-D13
SPI jest szybsze od I2C, ale wymaga większej liczby przewodów. W Uno pin D10 pełni funkcję SS, D11 MOSI, D12 MISO, a D13 SCK. Karty microSD, wyświetlacze i niektóre przetworniki korzystają właśnie z tego interfejsu.
Przy kilku urządzeniach SPI linie MOSI, MISO i SCK są wspólne, natomiast każde urządzenie powinno mieć osobny pin CS lub SS. Najczęstszy błąd polega na pozostawieniu niewybranego modułu aktywnego, przez co urządzenia próbują odpowiadać jednocześnie.
PWM nie oznacza prawdziwego wyjścia analogowego
analogWrite() na Uno nie generuje ciągłego napięcia analogowego. Funkcja zmienia wypełnienie przebiegu prostokątnego, a odbiornik interpretuje średnią wartość sygnału. Dioda świeci wtedy słabiej, ale na mierniku można zobaczyć napięcie zależne od obciążenia i sposobu pomiaru.
W Arduino Uno PWM znajdziesz na pinach 3, 5, 6, 9, 10 i 11. Jeśli projekt wymaga rzeczywistego napięcia analogowego, potrzebna będzie płytka z wyjściem DAC albo dodatkowy przetwornik cyfrowo-analogowy.
Uno, Nano i Mega mają podobne oznaczenia, ale różne możliwości
Nie każdy diagram Arduino można bezpośrednio przenieść na inną płytkę. Uno i klasyczny Nano używają podobnego mikrokontrolera oraz tych samych numerów podstawowych pinów, ale Nano ma dodatkowe wejścia analogowe A6 i A7. Mega 2560 oferuje znacznie więcej wyprowadzeń, dlatego jego numery komunikacyjne i PWM są inne.
| Płytka | Piny cyfrowe | Wejścia analogowe | PWM | Najlepsze zastosowanie |
|---|---|---|---|---|
| Uno R3 | 14 | A0-A5 | 3, 5, 6, 9, 10, 11 | Nauka, shieldy, proste sterowniki |
| Klasyczny Nano | 14 | A0-A7 | 3, 5, 6, 9, 10, 11 | Projekty na płytce stykowej i małe urządzenia |
| Mega 2560 | 54 | A0-A15 | 2-13 oraz 44-46 | Roboty, wiele czujników, wiele serw i portów szeregowych |
Mega 2560 ma także cztery sprzętowe porty UART. Dzięki temu można jednocześnie komunikować się z komputerem, modułem GPS i innymi urządzeniami bez kombinowania z programową emulacją portu szeregowego. I2C znajduje się na D20 i D21, a SPI na D50-D53.
Przy Nano trzeba dodatkowo sprawdzić poziomy napięć. Klasyczny model pracuje z logiką 5 V, ale wiele nowszych płytek Nano, takich jak Nano 33 IoT czy Nano 33 BLE, korzysta z logiki 3,3 V. Sam kształt płytki nie wystarcza do oceny kompatybilności.
Jak podłączyć elementy, żeby nie uszkodzić płytki
Najprostszy sposób pracy to podział połączenia na trzy części: sygnał, zasilanie i masa. Najpierw wybieram pin zgodny z funkcją modułu, później sprawdzam napięcie zasilania, a na końcu upewniam się, że wszystkie urządzenia mają wspólny GND.
- Sprawdź model płytki i jego konkretny diagram wyprowadzeń.
- Wybierz pin zgodny z funkcją, na przykład PWM, I2C lub przerwanie.
- Porównaj napięcie logiczne modułu z napięciem Arduino.
- Dodaj rezystor, tranzystor lub konwerter poziomów, jeśli wymaga tego układ.
- Uruchom projekt etapami, zaczynając od jednego czujnika lub odbiornika.
Pojedynczy pin GPIO nie jest wyjściem mocy. Dla bezpiecznego projektu przyjmuję około 20 mA jako górną granicę prądu projektowego na pin, choć nie oznacza to, że każdy element można zasilać taką wartością. Silnik, przekaźnik, taśma LED czy większy buzzer powinny być sterowane przez tranzystor lub osobny moduł, a nie bezpośrednio z wyprowadzenia.
Diodę LED podłączam przez rezystor, zwykle 220-330 Ω. Przy module 3,3 V nie zakładam, że zasilanie z pinu 5V będzie bezpieczne tylko dlatego, że przewody pasują. To właśnie różnica poziomów logicznych jest częstą przyczyną losowych odczytów i uszkodzeń czujników.
Typowe błędy przy korzystaniu ze schematu pinów
Mylenie numeru pinu z numerem portu
W programie digitalWrite(13, HIGH) używam numeru Arduino, a nie oznaczenia portu mikrokontrolera, takiego jak PB5. Dokumentacja techniczna układu może pokazywać oba zapisy, ale nie zawsze są one wymienne w kodzie.
Podłączanie urządzeń do D0 i D1
Jeżeli układ korzysta z USB i zewnętrznego UART jednocześnie, pojawiają się konflikty. Objawem bywa brak możliwości wgrania programu albo niezrozumiałe znaki w monitorze szeregowym. Warto od razu zaplanować, czy te piny będą potrzebne podczas uruchamiania.
Brak rezystora przy diodzie
Dioda LED bez ograniczenia prądu może przeciążyć pin. Czasem świeci przez chwilę, a potem przestaje działać, co łatwo pomylić z błędem programu. Rezystor jest tani, zajmuje niewiele miejsca i powinien być stałym elementem takiego połączenia.
Pozostawianie wejścia bez ustalonego stanu
Niepodłączone wejście cyfrowe może odczytywać przypadkowe wartości. Przy prostym przycisku często wystarcza konfiguracja INPUT_PULLUP, która wykorzystuje wewnętrzny rezystor podciągający. Wtedy przycisk zwykle zwiera pin do masy, a logika odczytu jest odwrócona.
Przeczytaj również: RS485 z Arduino - Jak podłączyć i uniknąć błędów?
Traktowanie wszystkich płytek jak Uno
To błąd, który widuję szczególnie przy projektach przenoszonych z poradnika. Ten sam numer pinu może mieć inną funkcję, inne napięcie albo inną nazwę na płytce. Przed zmianą modelu sprawdzam diagram konkretnej wersji, a nie tylko liczbę dostępnych wyprowadzeń.
Dobry diagram skraca drogę do działającego projektu
Najważniejsza zasada jest prosta: najpierw wybierz funkcję, dopiero potem numer pinu. Dla zwykłej diody wystarczy GPIO, dla regulacji jasności potrzebny będzie PWM, dla wyświetlacza może być wymagane I2C lub SPI, a dla kilku urządzeń szeregowych lepszym wyborem często okaże się Mega.
Sam schemat wyprowadzeń nie zastępuje dokumentacji modułu. Pokazuje, gdzie znajduje się sygnał, ale nie mówi jeszcze, jaki prąd pobiera odbiornik, czy potrzebuje rezystorów podciągających i czy toleruje poziom 5 V. Sprawdzenie tych trzech rzeczy przed podłączeniem oszczędza więcej czasu niż późniejsze szukanie przyczyny niestabilnego działania.
W projektach edukacyjnych zacząłbym od Uno, przy małej obudowie wybrałbym Nano, a przy wielu czujnikach, serwach i portach komunikacyjnych sięgnąłbym po Mega 2560. Taki dobór płytki i świadome korzystanie z pinów daje znacznie większą pewność niż kopiowanie przypadkowego schematu z innego modelu.