Jak wybrać czujniki do Arduino? Przewodnik po czujnikach temperatury i wilgotności
Co musisz wiedzieć przed wyborem czujnika do Arduino?
Zanim wrzucisz do koszyka pierwszy lepszy czujnik, zatrzymaj się na chwilę. Wybór odpowiedniego modułu to nie tylko kwestia ceny – to przede wszystkim dopasowanie do konkretnego projektu. Na rynku znajdziesz dziesiątki modeli, ale tylko kilka naprawdę działa w praktyce.
Większość popularnych czujników do Arduino zasilana jest napięciem 3.3V lub 5V. I tu dobra wiadomość – Arduino Uno i Nano bez problemu obsługują oba zakresy. Problem pojawia się, gdy kupisz czujnik przeznaczony wyłącznie do 3.3V i podłączysz go do 5V. Efekt? Dymek i koniec zabawy. Zawsze sprawdzaj kartę katalogową.
Napięcie zasilania i kompatybilność z Arduino
Arduino Uno ma na pokładzie dwa źródła napięcia: 3.3V i 5V. Czujniki takie jak DHT11 czy DHT22 bez problemu pracują na 5V. Z kolei BME280 wymaga 3.3V – i to jest najczęstszy błąd początkujących. Podłączenie go do 5V kończy się natychmiastowym uszkodzeniem.
Mój tip? Jeśli dopiero zaczynasz, wybierz czujnik działający na 5V. Unikniesz problemów z konwersją poziomów logicznych i nie spalisz modułu przy pierwszym uruchomieniu.
Interfejsy komunikacyjne: cyfrowy vs analogowy
To kluczowa decyzja. Każdy interfejs ma swoje plusy i minusy:
- 1-Wire (DS18B20) – pozwala na długie przewody, nawet do 10 metrów. Idealny do szklarni i akwariów.
- I2C (BME280) – umożliwia podłączenie wielu czujników do jednej magistrali. Świetny, gdy potrzebujesz kilku pomiarów w różnych miejscach.
- DHT (jedna cyfrowa linia) – najprostszy w obsłudze, ale wrażliwy na długość przewodów. Powyżej 2 metrów zaczynają się problemy.
Zastanów się, gdzie zamontujesz czujnik. W projekcie biurkowym DHT wystarczy. Do ogrodu – DS18B20. Do stacji meteorologicznej – BME280. Proste, prawda?
Krok 1: Porównanie popularnych czujników temperatury i wilgotności
Przejdźmy do konkretów. Poniżej znajdziesz zestawienie czterech najczęściej używanych czujników do Arduino. Każdy ma inne zastosowanie i inną cenę.

DHT11 – najtańszy, ale mało dokładny
Kosztuje około 5 zł. Mierzy temperaturę w zakresie 0-50°C z dokładnością ±2°C i wilgotność 20-80% z dokładnością ±5%. Brzmi słabo? Bo takie jest. DHT11 nadaje się tylko do prostych projektów edukacyjnych, gdzie nie potrzebujesz precyzji. Do stacji pogodowej – odradzam.
DHT22 – kompromis między ceną a jakością
Za około 15 zł dostajesz czujnik mierzący od -40 do 80°C z dokładnością ±0.5°C i wilgotność 0-100% z dokładnością ±2%. To mój wybór numer jeden do większości projektów hobbystycznych. Działa stabilnie, jest łatwy w obsłudze, a cena nie boli.
DS18B20 – wodoodporny i precyzyjny
Około 10 zł za wersję w metalowej obudowie. Możesz go zamontować w akwarium, szklarni, a nawet na zewnątrz. Komunikacja przez 1-Wire pozwala na podłączenie wielu czujników do jednego pinu. Rozdzielczość od 9 do 12 bitów – możesz wybrać między szybkością a dokładnością.
BME280 – wszystko w jednym z dodatkowym ciśnieniem
Za około 25 zł dostajesz czujnik temperatury, wilgotności i ciśnienia atmosferycznego. Dokładność temperatury ±0.5°C, wilgotności ±3%. Idealny do zaawansowanych stacji meteorologicznych. Uwaga – wymaga napięcia 3.3V i komunikacji I2C.
| Czujnik | Cena (zł) | Zakres temp. | Dokładność temp. | Wilgotność | Dodatkowe funkcje |
|---|---|---|---|---|---|
| DHT11 | ~5 | 0-50°C | ±2°C | 20-80% | Brak |
| DHT22 | ~15 | -40-80°C | ±0.5°C | 0-100% | Brak |
| DS18B20 | ~10 | -55-125°C | ±0.5°C | Niedotyczny | Wodoodporny, 1-Wire |
| BME280 | ~25 | -40-85°C | ±0.5°C | 0-100% | Ciśnienie atmosferyczne |
Krok 2: Jak podłączyć czujnik do Arduino? Schemat i lista elementów
Masz już czujnik? Czas go podłączyć. Pamiętaj – błędy na tym etapie to najczęstsza przyczyna niepowodzeń. Działaj powoli i sprawdzaj każde połączenie.

Niezbędne elementy: płytka Arduino, przewody, rezystor pull-up
Przygotuj:
- Płytkę Arduino (Uno, Nano, Mega – dowolna)
- Przewody połączeniowe męsko-żeńskie
- Rezystor 4.7kΩ lub 10kΩ (pull-up)
- Czujnik wybrany z powyższej tabeli
Bez rezystora pull-up DHT i DS18B20 nie będą działać. To nie jest opcjonalne – to konieczność. Wiele zestawów startowych z elementy elektroniczne sklep abc-rc.pl zawiera już odpowiednie rezystory, więc warto sprawdzić zawartość paczki przed dokupowaniem osobno.
Podłączenie DHT11/DHT22 z rezystorem 10kΩ
Schemat jest prosty:
- Pin VCC czujnika → 5V Arduino
- Pin GND → GND Arduino
- Pin DATA → dowolny pin cyfrowy (np. D2)
- Rezystor 10kΩ między DATA a VCC
Gotowe. Działa od razu po wgraniu kodu. Uwaga – nie podłączaj DHT22 do 3.3V, bo odczyty będą zafałszowane.
Podłączenie DS18B20 w trybie 1-Wire
Tu jest trochę inaczej:
- Pin VCC (czerwony) → 3.3V lub 5V Arduino
- Pin GND (czarny) → GND Arduino
- Pin DATA (żółty) → pin cyfrowy (np. D3)
- Rezystor 4.7kΩ między DATA a VCC
W wersji wodoodpornej przewody są już przylutowane – wystarczy podłączyć zgodnie z kolorami. Jeśli masz wątpliwości, sprawdź multimetrem ciągłość obwodu.
Krok 3: Programowanie czujnika w Arduino IDE – gotowe biblioteki i kod
Teraz najprzyjemniejsza część – oprogramowanie. Bez odpowiednich bibliotek nic nie zadziała. Na szczęście Arduino IDE ma wbudowany menedżer, który ułatwia sprawę.

Instalacja bibliotek: DHT sensor library, OneWire, DallasTemperature
Otwórz Arduino IDE, przejdź do Narzędzia → Zarządzaj bibliotekami. Wyszukaj i zainstaluj:
- DHT sensor library autorstwa Adafruit (wersja 1.4.4 lub nowsza) – obsługuje DHT11 i DHT22
- OneWire – do komunikacji z DS18B20
- DallasTemperature – nakładka ułatwiająca odczyt z DS18B20
Po instalacji restartuj IDE. Czasami biblioteki kolidują ze sobą – jeśli pojawi się błąd, usuń starsze wersje.
Przykładowy kod odczytu temperatury i wilgotności
Dla DHT22 kod wygląda tak:
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
Serial.print("Temp: ");
Serial.print(t);
Serial.print(" *C, Wilgotnosc: ");
Serial.print(h);
Serial.println(" %");
delay(2000);
}
Dla DS18B20 potrzebujesz innego kodu – znajdziesz go w przykładach biblioteki DallasTemperature. Wklej, skompiluj, wgraj. To wszystko.
Debugowanie i odczyt w Serial Monitor
Po wgraniu kodu otwórz Serial Monitor (Ctrl+Shift+M) i ustaw prędkość na 9600 baud. Jeśli widzisz liczby – działa. Jeśli pojawia się "NaN" lub "-127" – sprawdź podłączenie i rezystor pull-up. To najczęstszy błąd.
Krok 4: Testowanie i kalibracja – jak sprawdzić poprawność pomiarów?
Sam kod to nie wszystko. Czujnik może pokazywać bzdury, jeśli coś jest nie tak. Zanim zaufasz odczytom, przetestuj go w praktyce.
Porównanie z referencyjnym termometrem
Umieść czujnik obok sprawdzonego termometru (np. rtęciowego lub cyfrowego z apteki). Odczekaj 10 minut – tyle czasu potrzeba na ustabilizowanie temperatury. Porównaj wyniki. Różnica powyżej 1°C to sygnał, że coś jest nie tak. Sprawdź wtedy napięcie zasilania i długość przewodów.
Filtrowanie szumów i uśrednianie odczytów
Czujniki, zwłaszcza DHT, potrafią generować losowe skoki. Rozwiązanie? Uśrednianie. W kodzie dodaj pętlę, która zbiera 5-10 próbek i wylicza średnią. Przykład:
float suma = 0;
for(int i=0; i<10; i++) {
suma += dht.readTemperature();
delay(100);
}
float srednia = suma / 10;
To prosty filtr dolnoprzepustowy, który eliminuje krótkotrwałe szumy. Działa lepiej niż myślisz.
Rozwiązywanie typowych problemów
Najczęstsze problemy i ich rozwiązania:
- Brak odczytów – sprawdź rezystor pull-up. Bez niego DHT i DS18B20 nie działają.
- Wartości -127 lub NaN – zbyt długie przewody (powyżej 2 m dla DHT, 10 m dla DS18B20). Skróć lub dodaj wzmacniacz sygnału.
- Zafałszowane odczyty – zasilanie z 3.3V zamiast 5V (lub odwrotnie). Sprawdź napięcie multimetrem.
- Błąd kompilacji – nieaktualna biblioteka. Usuń starą i zainstaluj ponownie z menedżera.
Pamiętaj, że zasilacze do projektów mają ogromne znaczenie. Stabilne napięcie to podstawa. Jeśli używasz zasilacza impulsowego, dodaj kondensator 100µF między VCC a GND czujnika – wyeliminujesz szyny.
Gdzie kupić czujniki do Arduino? Sprawdzone źródła i zestawy startowe
Masz już wiedzę, czas na zakupy. Sklep abc-rc.pl oferuje szeroki wybór czujników do Arduino w konkurencyjnych cenach. DHT11 za 5 zł, DHT22 za 15 zł, DS18B20 za 10 zł – ceny są porównywalne z Allegro, ale zyskujesz pewność, że dostajesz oryginalny produkt.
Co więcej, abc-rc.pl ma w ofercie gotowe zestawy startowe. Na przykład pakiet z DHT22 i wyświetlaczem LCD to oszczędność czasu i pieniędzy – nie musisz kupować każdego elementu osobno. A jeśli potrzebujesz złącza elektryczne B2B do bardziej zaawansowanych projektów, znajdziesz je w tym samym sklepie.
Przed zakupem sprawdź opinie. abc-rc.pl oferuje 14-dniowe prawo zwrotu i wsparcie techniczne dla majsterkowiczów. Jeśli coś nie działa, dzwonisz i dostajesz pomoc. To rzadkość wśród sklepów z moduły elektroniczne DIY.
Warto też pomyśleć o zestawie akcesoriów. Do czujników przyda się płytka stykowa, przewody i wspomniane rezystory. W abc-rc.pl znajdziesz gotowe pakiety, które zawierają wszystko, czego potrzebujesz. Osobiście polecam zestaw z Zestaw Pędzli Płaskich do czyszczenia płytek – brudne styki to częsta przyczyna błędnych odczytów.
Podsumowanie – co zapamiętać?
Wybór czujników do Arduino nie jest trudny, ale wymaga przemyślenia. Oto najważniejsze kroki:
- Określ potrzeby projektu – zakres temperatury, wilgotność, dodatkowe funkcje (np. ciśnienie).
- Wybierz interfejs – 1-Wire do długich przewodów, I2C do wielu czujników, DHT do prostych zastosowań.
- Sprawdź napięcie – 3.3V czy 5V? Źle dobrane napięcie uszkodzi czujnik.
- Podłącz zgodnie ze schematem – nie zapomnij o rezystorze pull-up.
- Zainstaluj bibliotek
Najczesciej zadawane pytania
Jakie są najpopularniejsze czujniki temperatury i wilgotności do Arduino?
Najpopularniejsze czujniki to DHT11 (niska cena, podstawowa dokładność), DHT22 (wyższa precyzja i szerszy zakres) oraz BME280 (dodatkowo mierzy ciśnienie, idealny do stacji pogodowych).
Czy czujnik DHT11 nadaje się do precyzyjnych pomiarów?
Nie, DHT11 ma dokładność ±2°C dla temperatury i ±5% dla wilgotności, co wystarcza do prostych projektów, ale nie do wymagających zastosowań. Do precyzyjnych pomiarów lepiej wybrać DHT22 lub BME280.
Jak podłączyć czujnik DHT22 do Arduino?
Podłącz pin VCC czujnika do 5V Arduino, GND do GND, a pin DATA do dowolnego pinu cyfrowego (np. pin 2). Dodaj rezystor 4,7kΩ między VCC a DATA. Użyj biblioteki DHT.h w kodzie.
Jaka jest różnica między czujnikami analogowymi a cyfrowymi w Arduino?
Czujniki analogowe (np. LM35) zwracają napięcie proporcjonalne do wartości, wymagają pinu analogowego i konwersji ADC. Cyfrowe (np. DHT22) komunikują się przez protokoły jak OneWire, są prostsze w obsłudze i dokładniejsze.
Czy mogę użyć czujnika BME280 z Arduino bez lutowania?
Tak, wiele modułów BME280 ma gotowe piny goldpin, które można wpiąć w płytkę stykową. Wystarczy podłączyć VCC do 3,3V, GND do GND, SDA i SCL do pinów I2C (A4 i A5 w Arduino Uno).