Czujnik ruchu Arduino – jak zbudować sensor z MySensors i podłączyć do Domoticza?

Feliks Nitkowski
9 min czytania

Autor: [Twoje Imię lub Pseudonim] | Data: maj 2026

W erze smart home, gdzie każdy element domu może być inteligentny, czujniki ruchu stają się podstawą automatyki. Wyobraź sobie system, który automatycznie włącza światło w korytarzu po wykryciu ruchu, wyłącza je po ustaniu aktywności lub powiadamia o nieproszonym gościu. W tym poradniku krok po kroku zbudujesz tani czujnik ruchu oparty na Arduino, bibliotece MySensors i zintegrowany z Domoticz.

Projekt jest idealny dla początkujących – kosztuje mniej niż 50 zł, nie wymaga lutowania (wystarczy breadboard) i wykorzystuje sprawdzone, open‑source’owe rozwiązania. Na podstawie doświadczeń społeczności (SmartnyDom.pl, Elektroda.pl) i dokumentacji MySensors zebrałem najskuteczniejsze praktyki. Gotowy? Zaczynamy!

1. Czego potrzebujesz – lista komponentów i szacunkowe ceny

Aby zbudować czujnik ruchu z MySensors, przygotuj poniższe elementy (ceny orientacyjne, Allegro/OLX, maj 2026):

Komponent Opis Cena (zł) Uwagi
Arduino Nano (lub Pro Mini) Mózg układu, kompaktowe 15–25 Nano jest wygodne dzięki USB
Moduł nRF24L01+ Radiowy transceiver do MySensors 5–10 Wersja PA+LNA zapewnia lepszy zasięg
Czujnik ruchu PIR (HC‑SR501) Wykrywa ruch do ~7 m 5–8 Regulacja czułości i czasu
Rezystory i kondensatory 10 kΩ pull‑up, 4,7–100 µF stabilizacja ~2 Rekomendowane dla stabilności
Breadboard + przewody jumper Do prototypu ~10 Bez lutowania
Zasilanie Bateria 9 V lub USB (5 V) ~5 Dla bezprzewodowego: LiPo 3,7 V + TP4056
Komputer z Arduino IDE Do programowania Darmowe

Całkowity koszt: ~40–60 zł. Jeśli nie masz jeszcze bramki, potrzebne będzie dodatkowe Arduino + nRF24L01 skonfigurowane jako bramka MySensors do współpracy z Domoticz.

2. Teoria – jak działa MySensors i Domoticz?

MySensors to biblioteka open‑source do tworzenia bezprzewodowych sieci sensorów na bazie Arduino + nRF24L01. Pozwala na:

  • tworzenie „węzłów” wysyłających dane radiowo,
  • automatyczne parowanie z Domoticzem,
  • niski pobór prądu (sleep mode – idealny dla baterii).

Domoticz to darmowy system smart home (Raspberry Pi lub PC), który odbiera dane przez bramkę MySensors. Czujnik ruchu raportuje typ S_MOTION, a Domoticz prezentuje go jako przełącznik „Motion” z powiadomieniami.

Schemat komunikacji między elementami wygląda następująco:

Czujnik (Arduino + PIR + nRF24) → Radiowo → Bramka MySensors → Domoticz → Aplikacja mobilna / Skrypty

3. Montaż hardware’u – krok po kroku

Użyjemy Arduino Nano dla prostoty i zasilania z USB podczas testów. Poniżej standardowe mapowanie pinów dla MySensors:

Schemat pinów (standard MySensors)

Arduino Nano:
- VCC (3.3 V) → nRF24 VCC; 5 V lub 3.3 V → PIR VCC (zależnie od modułu)
- GND → wszystkie GND
- D2 → PIR OUT (interrupt dla niskiego poboru)
- D3 → nRF24 CE
- D4 → nRF24 CSN
- D10 → nRF24 IRQ (opcjonalnie)
- D11 → nRF24 MOSI
- D12 → nRF24 MISO
- D13 → nRF24 SCK
- A4/A5 → SDA/SCL dla I2C (opcjonalne czujniki)

Pełny schemat w formie ASCII pomoże w orientacji na płytce:

Arduino Nano
+----------+
3V |[ ] [ ] 5V| → Zasilanie
GND|[ ] [ ] RST| GND
D2 |[ ] [ ] D1 | ← PIR OUT (interrupt)
D3 |[ ] [ ] D0 | ← nRF CE
D4 |[ ] [ ] A5 |
D5 |[ ] [ ] A4 | ← SDA (I2C)
D6 |[ ] [ ] A3 |
D7 |[ ] [ ] A2 |
D8 |[ ] [ ] A1 |
D9 |[ ] [ ] A0 |
D10 |[ ] [ ] AREF| ← nRF IRQ
D11 |[ ] [ ] 3V | ← nRF MOSI
D12 |[ ] [ ] RST| ← nRF MISO
D13 |[ ] [ ] GND| ← nRF SCK
+----------+
| |
| └─ HC‑SR501 PIR (VCC=5 V/3.3 V, GND, OUT=2)
└─ nRF24L01 (VCC, GND, CE=3, CSN=4, SCK=13, MOSI=11, MISO=12)
└─ Rezystor 10 kΩ między PIR OUT a GND (stabilizacja)

Wskazówki montażowe

  1. Dodaj kondensator 10–100 µF między VCC–GND modułu nRF24 – poprawia stabilność zasilania.
  2. HC‑SR501: ustaw potencjometr czułości na wysoki poziom, a czasu podtrzymania na minimum podczas testów.
  3. Testuj na stole: zasil Arduino Nano przez USB i obserwuj zachowanie PIR.

Uwaga: nRF24L01+ zasilaj napięciem 3,3 V – podanie 5 V może uszkodzić moduł.

4. Oprogramowanie – skecz dla Arduino

  1. Zainstaluj Arduino IDE (arduino.cc) i podłącz płytkę.
  2. Dodaj bibliotekę MySensors w: Narzędzia → Zarządzaj bibliotekami → wyszukaj „MySensors” (wersja 2.3+).
  3. Ustawienia płytki: Board: Arduino Nano, Processor: ATmega328P (Old Bootloader), właściwy port COM.

Skopiuj i wklej poniższy skecz do IDE, a następnie skompiluj:

#define MY_NODE_ID 1 // Unikalny ID węzła (zmień dla kolejnych sensorów)
#define MY_PARENT_NODE_ID 0 // Brama
#define CHILD_ID 0 // ID dziecka (motion sensor)
#define MOTION_SENSOR 2 // Pin PIR
#define SLEEP_TIME 120000 // 2 minuty snu (ms)

#include <MySensors.h>

MyMessage msg(CHILD_ID, V_TRIPPED);
bool lastTripped = false;

void setup() {
pinMode(MOTION_SENSOR, INPUT);
Serial.begin(9600);
Serial.println("Czujnik ruchu MySensors start!");
}

void presentation() {
sendSketchInfo("Czujnik Ruchu PIR", "1.0");
present(CHILD_ID, S_MOTION);
}

void loop() {
bool tripped = digitalRead(MOTION_SENSOR) == HIGH;
if (tripped != lastTripped) {
lastTripped = tripped;
send(msg.set(tripped ? "1" : "0"));
Serial.print("Ruch: ");
Serial.println(tripped ? "TAK" : "NIE");
}
sleep(digitalPinToInterrupt(MOTION_SENSOR), CHANGE, SLEEP_TIME); // Sleep na interrupt
}

Krótko o tym, co robi skecz:

  • presentation() rejestruje sensor w sieci,
  • loop() odczytuje stan PIR i wysyła tylko zmiany,
  • sleep() usypia układ i wybudza go na przerwanie – oszczędza baterię.

Upload: wybierz właściwy port, kliknij „Upload”, a w Serial Monitor (9600 baud) zobaczysz komunikaty „Ruch: TAK/NIE”.

5. Konfiguracja bramki MySensors w Domoticz

Zakładamy, że masz zainstalowany Domoticz (np. na Raspberry Pi lub PC) i dostęp do panelu WWW.

  1. Zbuduj bramkę na drugim Arduino z modułem nRF24L01 podłączonym przez USB do serwera Domoticz; wgraj przykład „MySensors Gateway Serial USB”.
  2. Skonfiguruj Domoticz: przejdź do Konfiguracja → Sprzęt → Dodaj, wybierz typ „MySensors USB”, wskaż port COM bramki oraz prędkość 115200, zapisz ustawienia i sprawdź log – powinien pojawić się komunikat „MySensors gateway started”.
  3. Włącz czujnik i poczekaj na jego rejestrację w Domoticz (zakładka Urządzenia). Dodaj go do Pulpitu (ikona „Motion”) i włącz powiadomienia, jeśli chcesz.

Test: porusz ręką przed PIR – w Domoticz pojawi się „Motion: On”, a po upływie ustawionego czasu „Off”.

6. Rozwiązywanie problemów (FAQ)

Poniższa tabela pomaga szybko zdiagnozować typowe usterki i znaleźć rozwiązanie:

Problem Rozwiązanie
Brak połączenia Sprawdź zasięg nRF24L01 (dodaj antenę lub wersję PA+LNA), upewnij się co do prędkości bramki (115200 lub 38400 przy 8 MHz).
PIR nie reaguje Odczekaj ~30 s na inicjalizację, skoryguj potencjometry czułości i czasu.
Flood wiadomości Stosuj sleep() i wysyłaj tylko zmiany stanu.
Bateria szybko się rozładowuje Włącz tryb uśpienia, zasilaj nRF z 3,3 V, użyj przerwania na D2.
Konflikt ID Zmień MY_NODE_ID na unikalną wartość (1, 2, 3…).

Debug: korzystaj z Serial Monitor w Arduino IDE oraz logów Domoticz do śledzenia komunikacji.

7. Rozszerzenia – zrób więcej!

Gdy podstawowy czujnik działa stabilnie, warto rozwinąć projekt o dodatkowe funkcje:

  • Dodaj DS18B20 – pomiar temperatury obok detekcji ruchu;
  • Przekaźnik – automatyczne sterowanie światłem po wykryciu ruchu;
  • ESP8266 gateway – bramka Wi‑Fi zamiast USB;
  • Integracja – łączenie z Node‑RED i Home Assistant dla zaawansowanej logiki;
  • FOTA – zdalne aktualizacje firmware poprzez MySensors.

Tutorial wideo: wyszukaj na YouTube przykłady „MySensors LAN/Serial gateway”, aby zobaczyć konfigurację w praktyce.

Źródła

SmartnyDom.pl, Elektroda.pl, EP.com.pl, YouTube, oficjalna dokumentacja MySensors.org.

Udostępnij ten artykuł
Brak komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *