← Wróć do produktu

IMZ COMPANY / P122 / DOKUMENTACJA

Instrukcja i dane produktu

IMZ Czujnik ruchu PIR HC-SR501

O produkcie

HC-SR501 to moduł pasywnego czujnika podczerwieni PIR przeznaczony do wykrywania ruchu osób i innych obiektów powodujących zmianę promieniowania cieplnego w polu widzenia czujnika. Moduł posiada cyfrowe wyjście sygnałowe oraz dwa potencjometry umożliwiające regulację czułości i czasu podtrzymania sygnału po wykryciu ruchu. Zworka H/L pozwala wybrać sposób ponownego wyzwalania czujnika. HC-SR501 może współpracować z Arduino, ESP32, Raspberry Pi oraz innymi układami wyposażonymi w wejście cyfrowe.

Materiały dotyczą produktu P122. Przed użyciem sprawdź zgodność wariantu i oznaczeń produktu z opisem. W razie wątpliwości dotyczących użytkowania skontaktuj się z nami.

Przeznaczenie produktu

  • projekty elektroniczne
  • prototypowanie
  • urządzenia edukacyjne
  • automatyka domowa
  • systemy detekcji ruchu
  • automatyczne sterowanie oświetleniem
  • urządzenia Smart Home
  • układy sygnalizacyjne
  • systemy sterowania wykorzystujące informację o ruchu

Informacje bezpieczeństwa

  • Produkt jest modułem elektronicznym przeznaczonym do integracji z innymi urządzeniami.
  • Przed podłączeniem należy sprawdzić poprawność polaryzacji zasilania.
  • Nie należy przekraczać dopuszczalnego napięcia zasilania modułu.
  • Nie dopuszczać do zwarcia wyprowadzeń.
  • Montaż i zmiany połączeń należy wykonywać przy odłączonym zasilaniu.
  • Moduł należy chronić przed wodą, wilgocią, kondensacją pary wodnej oraz zanieczyszczeniami przewodzącymi.
  • Nie używać w atmosferze łatwopalnej lub wybuchowej.
  • Wyjście OUT jest wyjściem sygnałowym i nie służy do bezpośredniego zasilania urządzeń dużej mocy.
  • W przypadku sterowania większym obciążeniem należy zastosować odpowiedni układ wykonawczy.
  • Produkt nie jest przeznaczony do zastosowań, w których jego awaria może bezpośrednio spowodować zagrożenie życia lub zdrowia.

Ostrzeżenia

  • Czujnik PIR wykrywa zmianę promieniowania cieplnego, a nie obecność człowieka jako taką.
  • Osoba pozostająca bez ruchu może przestać być wykrywana.
  • Po włączeniu zasilania należy pozostawić moduł na czas stabilizacji.
  • Podczas stabilizacji mogą występować przypadkowe zmiany stanu wyjścia.
  • Zasięg zależy od ustawienia czułości, temperatury otoczenia, kierunku ruchu i sposobu montażu.
  • Ruch poprzeczny względem czujnika jest zwykle wykrywany skuteczniej niż ruch bezpośrednio w jego stronę.
  • Źródła ciepła, nawiewy, klimatyzatory, grzejniki i gwałtowne zmiany temperatury mogą prowadzić do fałszywych wyzwoleń.
  • Bezpośrednie nasłonecznienie może pogorszyć stabilność działania.
  • Czujnika nie należy kierować bezpośrednio na źródła ciepła lub miejsca o gwałtownych zmianach temperatury.
  • Przeszkody znajdujące się przed soczewką ograniczają pole detekcji.
  • Nie należy zasłaniać ani usuwać soczewki Fresnela podczas normalnego użytkowania.
  • Nie należy bezpośrednio obciążać wyjścia OUT lampą, silnikiem, przekaźnikiem lub innym odbiornikiem wymagającym większego prądu.

Specyfikacja techniczna

  • Typ czujnika: PIR – pasywny czujnik podczerwieni
  • Model modułu: HC-SR501
  • Napięcie zasilania: 5–20 V DC
  • Pobór prądu w stanie spoczynku: typowo poniżej 50 µA
  • Typ wyjścia: cyfrowe
  • Poziom wyjściowy LOW: około 0 V
  • Poziom wyjściowy HIGH: około 3,3 V
  • Zasięg detekcji: regulowany, typowo około 3–7 m
  • Kąt detekcji: około 110–120°
  • Czas podtrzymania: regulowany, typowo od kilku sekund do około 3–5 min
  • Tryby wyzwalania: H – powtarzalny / L – niepowtarzalny
  • Czas stabilizacji po włączeniu: typowo około 30–60 s
  • Wymiary PCB: około 32 × 24 mm
  • Średnica soczewki: około 23 mm
  • Liczba wyprowadzeń: 3
  • Element optyczny: soczewka Fresnela

Uwaga: Zakres regulacji czasu, maksymalny kąt detekcji oraz niektóre parametry pomocnicze mogą nieznacznie różnić się pomiędzy partiami modułu.

Zasilanie

Moduł należy zasilać napięciem stałym z zakresu 5–20 V DC.

Typowe podłączenie do Arduino UNO:

  • VCC → 5 V
  • OUT → wejście cyfrowe Arduino
  • GND → GND

Wyjście OUT ma poziom wysoki około 3,3 V i służy jako sygnał logiczny.

Nie należy zasilać odbiorników bezpośrednio z pinu OUT. Jeżeli czujnik ma sterować lampą, silnikiem, elektrozaworem, przekaźnikiem lub innym większym obciążeniem, należy zastosować odpowiedni stopień wykonawczy.

Podłączenie

instrukcja

Pierwsze uruchomienie

  1. Ustaw potencjometr czasu mniej więcej w położeniu minimalnym.
  2. Ustaw potencjometr czułości mniej więcej w połowie zakresu.
  3. Ustaw zworkę H/L w wybranym trybie.
  4. Podłącz GND modułu do masy układu.
  5. Podłącz OUT do wejścia cyfrowego mikrokontrolera.
  6. Podłącz VCC do odpowiedniego źródła zasilania.
  7. Po włączeniu zasilania odczekaj około 30–60 sekund na stabilizację czujnika.
  8. W czasie stabilizacji nie należy traktować zmian stanu OUT jako poprawnych detekcji.
  9. Po stabilizacji przejdź przed czujnikiem i sprawdź reakcję wyjścia.
  10. W razie potrzeby skoryguj czułość oraz czas podtrzymania.

Jak ustawić czujnik

Najwygodniej rozpocząć regulację od:

  • krótkiego czasu podtrzymania,
  • średniej czułości,
  • trybu H lub L dobranego do docelowej aplikacji.

Następnie zwiększaj czułość do momentu uzyskania wymaganego zasięgu.

Na końcu ustaw wymagany czas aktywności wyjścia.

Przykładowy kod Arduino

Poniższy przykład wykorzystuje pin D2 jako wejście sygnału z czujnika. Po wykryciu ruchu wbudowana dioda LED Arduino zostanie włączona, a w Monitorze portu szeregowego pojawi się odpowiedni komunikat.

const int PIR_PIN = 2;
const int LED_PIN = LED_BUILTIN;

int poprzedniStan = LOW;

void setup() {
  pinMode(PIR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);

  Serial.begin(9600);

  Serial.println("HC-SR501 - start");
  Serial.println("Oczekiwanie na stabilizacje czujnika...");

  delay(30000);

  Serial.println("Czujnik gotowy.");
}

void loop() {
  int stanPIR = digitalRead(PIR_PIN);

  digitalWrite(LED_PIN, stanPIR);

  if (stanPIR != poprzedniStan) {
    if (stanPIR == HIGH) {
      Serial.println("Wykryto ruch");
    } else {
      Serial.println("Brak ruchu");
    }

    poprzedniStan = stanPIR;
  }

  delay(50);
}

Wersja bez blokującego opóźnienia startowego

Jeżeli program ma wykonywać inne zadania podczas stabilizacji czujnika, zamiast delay(30000) można wykorzystać funkcję millis().

const int PIR_PIN = 2;
const int LED_PIN = LED_BUILTIN;

const unsigned long CZAS_STABILIZACJI = 30000;

unsigned long czasStartu;
bool czujnikGotowy = false;
int poprzedniStan = LOW;

void setup() {
  pinMode(PIR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);

  Serial.begin(9600);

  czasStartu = millis();

  Serial.println("HC-SR501 - stabilizacja...");
}

void loop() {
  if (!czujnikGotowy) {
    if (millis() - czasStartu >= CZAS_STABILIZACJI) {
      czujnikGotowy = true;
      Serial.println("Czujnik gotowy.");
    }

    return;
  }

  int stanPIR = digitalRead(PIR_PIN);

  digitalWrite(LED_PIN, stanPIR);

  if (stanPIR != poprzedniStan) {
    if (stanPIR == HIGH) {
      Serial.println("Wykryto ruch");
    } else {
      Serial.println("Brak ruchu");
    }

    poprzedniStan = stanPIR;
  }
}

Uwagi dotyczące wykrywania

Czujnik PIR nie mierzy odległości i nie tworzy obrazu obserwowanej przestrzeni. Reaguje na zmiany promieniowania podczerwonego docierającego do elementu detekcyjnego.

Najłatwiej wykrywane są obiekty przemieszczające się poprzecznie przez kolejne strefy detekcji. Ruch bezpośrednio w stronę czujnika lub bezpośrednio od niego może być wykrywany mniej skutecznie.

Instrukcja

podlaczenie

Moduł posiada trzy podstawowe wyprowadzenia:

  • VCC – dodatnie napięcie zasilania
  • OUT – cyfrowe wyjście sygnałowe
  • GND – masa

Przykładowe podłączenie do Arduino UNO:

HC-SR501                    Arduino UNO
---------                   -----------
VCC      -----------------> 5V
OUT      -----------------> D2
GND      -----------------> GND

Masa czujnika i mikrokontrolera musi być wspólna.

Regulacja modułu

Na płytce znajdują się dwa potencjometry:

  1. SENS / sensitivity – regulacja czułości i zasięgu wykrywania.
  2. TIME / delay – regulacja czasu utrzymania stanu wysokiego po wykryciu ruchu.

Ponieważ na rynku występują różne wersje płytki HC-SR501, przed opisaniem na grafice kierunku „więcej/mniej” warto sprawdzić rzeczywisty egzemplarz produktu. Samo położenie potencjometrów jest stałe funkcjonalnie, lecz nie należy zakładać kierunku regulacji wyłącznie na podstawie zdjęć innych wersji modułu.

Zworka H/L

  • H – tryb powtarzalny, retrigger. Jeżeli w czasie aktywnego wyjścia wykryty zostanie kolejny ruch, czas podtrzymania jest rozpoczynany ponownie.
  • L – tryb niepowtarzalny. Po wykryciu ruchu wyjście pozostaje aktywne przez ustawiony czas, bez przedłużania bieżącego impulsu kolejnymi wykryciami.

Kompatybilność

  • Arduino UNO
  • Arduino Nano
  • Arduino Mega
  • ESP32
  • ESP8266
  • Raspberry Pi
  • STM32
  • AVR
  • PIC
  • mikrokontrolery z wejściami cyfrowymi
  • sterowniki PLC z odpowiednim wejściem logicznym lub dodatkowym układem dopasowującym
  • własne układy automatyki i urządzenia prototypowe

Zawartość zestawu

  • 1 × moduł czujnika ruchu PIR HC-SR501

Cechy produktu

  • wykrywanie ruchu metodą PIR
  • cyfrowe wyjście sygnałowe
  • regulacja czułości czujnika
  • regulacja czasu podtrzymania sygnału
  • dwa tryby wyzwalania H/L
  • zasięg detekcji do około 7 m
  • szeroki kąt detekcji
  • wyjście w stanie wysokim około 3,3 V
  • wbudowana soczewka Fresnela
  • niski pobór prądu
  • proste podłączenie za pomocą 3 pinów
  • współpraca z popularnymi mikrokontrolerami

Cechy szczegółowe

  • Regulowana czułość – jeden z potencjometrów umożliwia zmianę zasięgu działania czujnika. W typowych wersjach HC-SR501 zakres detekcji wynosi około 3–7 m.
  • Regulowany czas podtrzymania – drugi potencjometr określa, jak długo wyjście pozostaje w stanie wysokim po wykryciu ruchu. Dokładny zakres regulacji może różnić się pomiędzy wersjami i partiami modułu; typowo wynosi od kilku sekund do kilku minut.
  • Tryb H – retrigger – kolejne wykrycie ruchu podczas aktywnego wyjścia przedłuża czas jego aktywności.
  • Tryb L – pojedyncze wyzwalanie – po wykryciu ruchu moduł utrzymuje wyjście przez ustawiony czas, a kolejne wykrycia nie przedłużają bieżącego impulsu.
  • Cyfrowe wyjście OUT – brak wykrycia odpowiada stanowi niskiemu, a wykrycie ruchu powoduje pojawienie się stanu wysokiego około 3,3 V.
  • Soczewka Fresnela – biała kopułka nad elementem PIR dzieli obserwowaną przestrzeń na strefy, zwiększając skuteczność wykrywania ruchu.
  • Niski pobór prądu – moduł może być stosowany w urządzeniach pracujących przez długi czas i układach o niewielkim zapotrzebowaniu na energię.
  • Okres stabilizacji po uruchomieniu – po włączeniu zasilania czujnik potrzebuje czasu na ustabilizowanie się. W tym okresie jego wyjście może zmieniać stan bez rzeczywistego ruchu.

Zastosowanie

  • automatyczne oświetlenie
  • wykrywanie ruchu osób
  • systemy alarmowe
  • automatyka domowa
  • Smart Home
  • projekty Arduino
  • projekty ESP32 i ESP8266
  • Raspberry Pi
  • sterowanie urządzeniami po wykryciu ruchu
  • automatyczne włączanie ekranów i podświetlenia
  • systemy oszczędzania energii
  • urządzenia sygnalizacyjne
  • projekty edukacyjne
  • prototypowanie układów elektronicznych

Najczęstsze pytania

Co wykrywa HC-SR501?

Czujnik reaguje na zmiany promieniowania podczerwonego w obserwowanej przestrzeni. Najczęściej wykorzystuje się go do wykrywania ruchu człowieka.

Czy czujnik wykryje nieruchomą osobę?

Nie zawsze. PIR jest czujnikiem ruchu, a nie ciągłym czujnikiem obecności. Jeżeli osoba przestanie się poruszać, moduł może po ustawionym czasie przejść do stanu nieaktywnego.

Jaki jest zasięg HC-SR501?

Typowy zakres regulacji wynosi około 3–7 m. Rzeczywisty zasięg zależy od ustawienia czułości, warunków otoczenia, temperatury i kierunku poruszania się obiektu.

Co reguluje pierwszy potencjometr?

Jeden potencjometr reguluje czułość, a tym samym efektywny zasięg wykrywania.

Co reguluje drugi potencjometr?

Drugi potencjometr reguluje czas utrzymywania stanu wysokiego na wyjściu OUT po wykryciu ruchu.

Co oznacza zworka H?

H oznacza tryb powtarzalny – retrigger. Kolejne wykrycie ruchu podczas aktywnego wyjścia powoduje ponowne rozpoczęcie odliczania czasu.

Co oznacza zworka L?

L oznacza tryb niepowtarzalny. Po rozpoczęciu impulsu kolejne wykrycia nie przedłużają bieżącego czasu aktywności.

Dlaczego po włączeniu czujnik reaguje bez powodu?

Po podaniu zasilania PIR wymaga okresu stabilizacji. Przez pierwsze kilkadziesiąt sekund zmiany wyjścia nie powinny być traktowane jako wiarygodne wskazania.

Dlaczego ruch w poprzek czujnika jest wykrywany lepiej?

Soczewka Fresnela tworzy wiele sąsiadujących stref detekcji. Obiekt poruszający się poprzecznie przechodzi kolejno między tymi strefami, powodując wyraźniejszą zmianę sygnału niż przy ruchu dokładnie w stronę czujnika.

Czy mogę podłączyć OUT bezpośrednio do Arduino?

Tak. OUT jest cyfrowym wyjściem logicznym, które podczas detekcji osiąga około 3,3 V.

Czy można zasilić HC-SR501 z 3,3 V?

Nie należy zakładać poprawnej pracy standardowego HC-SR501 przy zasilaniu 3,3 V. Moduł posiada własny układ zasilania, a typowy zakres wejściowy zaczyna się około 5 V. Do standardowej wersji zalecane jest zasilanie 5 V lub wyższe, zgodnie ze specyfikacją modułu.

Czy można podłączyć lampę bezpośrednio do OUT?

Nie. OUT jest wyjściem sygnałowym. Do sterowania lampą lub innym odbiornikiem należy zastosować tranzystor, MOSFET, moduł przekaźnika albo inny odpowiedni stopień wykonawczy.

Czy biała kopułka jest tylko osłoną?

Nie. Jest to soczewka Fresnela będąca istotną częścią układu optycznego PIR. Tworzy strefy detekcji i kieruje promieniowanie podczerwone na element czujnikowy.

Czy HC-SR501 mierzy odległość do człowieka?

Nie. Nie jest to dalmierz. Moduł podaje jedynie cyfrową informację o wykryciu zmiany charakterystycznej dla ruchu w obserwowanej przestrzeni.

Zastosowania wykluczone

  • certyfikowane systemy bezpieczeństwa wymagające specjalistycznych czujników
  • urządzenia medyczne
  • urządzenia podtrzymujące życie
  • systemy ochrony osób, w których pojedynczy brak detekcji może stworzyć zagrożenie
  • systemy, w których fałszywe wyzwolenie może spowodować niebezpieczne działanie urządzenia
  • bezpośrednie sterowanie odbiornikami sieciowymi lub dużej mocy bez odpowiednich układów wykonawczych i zabezpieczeń

Potrzebujesz pomocy?

Podaj symbol P122, opisz pytanie i w razie potrzeby przygotuj zdjęcie produktu. Pomoże nam to odnieść się do konkretnego wariantu.

Kontakt i pomoc ↗