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
- Dodaj kondensator 10–100 µF między VCC–GND modułu nRF24 – poprawia stabilność zasilania.
- HC‑SR501: ustaw potencjometr czułości na wysoki poziom, a czasu podtrzymania na minimum podczas testów.
- 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
- Zainstaluj Arduino IDE (arduino.cc) i podłącz płytkę.
- Dodaj bibliotekę MySensors w: Narzędzia → Zarządzaj bibliotekami → wyszukaj „MySensors” (wersja 2.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.
- Zbuduj bramkę na drugim Arduino z modułem nRF24L01 podłączonym przez USB do serwera Domoticz; wgraj przykład „MySensors Gateway Serial USB”.
- 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”.
- 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.