Arduino kód a video pre modul pohybového senzora HC-SR505 s relé
V tomto návode si postavíme systém detekcie pohybu pomocou pohybového senzora HC-SR505 a reléového modulu. Toto zapojenie vám umožní zapínať zariadenia, ako sú svetlá alebo bzučiaky, keď sa zistí pohyb. Relé funguje ako spínač na bezpečné ovládanie zariadení s vysokým napätím. Na konci tejto príručky budete mať funkčné zapojenie senzora pohybu, ktoré dokáže aktivovať rôzne spotrebiče na základe detekcie pohybu. Pre lepšie pochopenie si pozrite príslušné video (vo videu v čase 0:00).

Vysvetlenie hardvéru
Hlavné komponenty tohto projektu zahŕňajú pohybový senzor HC-SR505, reléový modul a dosku Arduino. HC-SR505 je pasívny infračervený (PIR) senzor, ktorý detekuje pohyb snímaním zmien infračerveného žiarenia. Funguje tak, že meria teplo vyžarované objektmi v jeho zornom poli. Keď sa zistí pohybujúci sa objekt, senzor pošle signál do Arduina.
Reléový modul sa používa na ovládanie zariadenia s vysokým napätím, ako je žiarovka. Funguje ako elektricky ovládaný spínač, ktorý umožňuje Arduinu bezpečne zapínať alebo vypínať zariadenie. Relé má dve hlavné konfigurácie: spínací kontakt (NO) a rozpínací kontakt (NC), ktoré určujú predvolený stav, keď relé nie je aktivované.
Podrobnosti z katalógového listu
| Výrobca | HC-SR505 |
|---|---|
| Označenie dielu | HC-SR505 |
| Logické/IO napätie | 3,3V - 20V |
| Napájacie napätie | 5V |
| Výstupný prúd (na kanál) | 20 mA |
| Špičkový prúd (na kanál) | 100 mA |
| Odporúčanie pre PWM frekvenciu | N/A |
| Logické prahové hodnoty vstupu | 0,3V (nízka) / 2,5V (vysoká) |
| Pokles napätia / RDS(on) / saturácia | 0,2V |
| Tepelné limity | +70 °C |
| Puzdro | Modul |
| Poznámky / varianty | Malé rozmery; nízka spotreba energie |
- Zabezpečte správny odvod tepla pre záťaže s vysokým prúdom.
- Použite oddeľovacie kondenzátory pre stabilné napájanie.
- Buďte opatrní pri pripájaní vysokého napätia; zaistite bezpečnosť.
- Otestujte senzor s jednoduchými výstupmi pred pripojením k relé.
- Skontrolujte orientáciu PIR senzora pre optimálnu detekciu.
Pokyny na zapojenie

Na zapojenie pohybového senzora HC-SR505 najprv pripojte napájací pin (označený ako +) na 5V výstup na vašom Arduine. Potom pripojte uzemňovací pin (označený ako -) na jeden z uzemňovacích pinov Arduina. Signálny pin (stredný pin) by mal byť pripojený na digitálny pin 2 na Arduine.
Pre reléový modul pripojte pin VCC na 5V výstup na Arduine a uzemňovací pin na uzemnenie Arduina. Vstupný pin relé by mal byť pripojený na digitálny pin 9 na Arduine. Nakoniec pripojte kladný pól bzučiaka na digitálny pin 8 a jeho záporný pól na uzemnenie. Uistite sa, že ste správne pripojili spoločný a spínací kontakt relé na ovládanie vášho zariadenia.
Príklady kódu a vysvetlenie
Kód pre tento projekt inicializuje piny pre senzor, bzučiak a relé. Používa funkciu digitalRead() na kontrolu pohybu a primerane reaguje. Nižšie je ukážka z funkcie setup:
void setup() {
Serial.begin(9600); // nastavenie sériového monitora
pinMode(PIR, INPUT_PULLUP); // definovanie pinu ako vstup pre senzor
pinMode(BUZZER, OUTPUT); // definovanie pinu ako výstup pre bzučiak
pinMode(RELAY, OUTPUT); // definovanie pinu ako výstup pre relé
}
V tejto ukážke sú piny nastavené buď na vstupný alebo výstupný režim. Serial.begin(9600) inicializuje sériovú komunikáciu na ladenie.
Hlavná slučka kontroluje pohyb a aktivuje bzučiak a relé, keď sa zistí pohyb. Tu je zameraná ukážka z funkcie loop:

void loop() {
int motion = digitalRead(PIR); // čítanie senzora
if(motion) {
Serial.println("Pohyb zistený");
digitalWrite(BUZZER, HIGH); // zapnutie bzučiaka
digitalWrite(RELAY, LOW); // zapnutie relé
} else {
Serial.println("===nič sa nehýbe");
digitalWrite(BUZZER, LOW); // vypnutie bzučiaka
digitalWrite(RELAY, HIGH); // vypnutie relé
}
delay(500);
}
Táto ukážka číta stav PIR senzora a aktivuje alebo deaktivuje bzučiak a relé na základe zisteného pohybu. Oneskorenie 500 milisekúnd zabezpečuje, že slučka kontroluje senzor v primeranom intervale.
Demonštrácia / Čo očakávať
Keď sa zistí pohyb, svetlo pripojené k relé sa zapne a bzučiak zaznie. Ak sa nezistí žiadny pohyb, relé vypne svetlo a bzučiak bude tichý. Upozorňujeme, že HC-SR505 má vstavané oneskorenie, ktoré udržiava výstup aktívny krátky čas po zistení pohybu (až 8 sekúnd), ktoré nie je možné nastaviť (vo videu v čase 5:30).
Časové značky videa
- 00:00 – Úvod do projektu
- 01:30 – Vysvetlenie komponentov
- 03:15 – Pokyny na zapojenie
- 05:30 – Vysvetlenie kódu
- 07:00 – Demonštrácia zapojenia
/*
* This is the Arduino code for HC-SR501 Motion Sensor
* to detect motion of human or objects using Arduino for robotic car and other applications
* Watch HC-SR505 video https://youtu.be/qhThpxiXubI
*
// Written by Ahmad S. for Robojax.com on
// February 10, 2018 at 11:41 in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
#define PIR 2 // define pin 2 for sensor
#define BUZZER 8 // define pin 8 as for buzzer
#define RELAY 9 // define pin 9 as for relay
void setup() {
// HC-SR505 Motion Sensor Code by Robojax.com 20180210
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(PIR, INPUT_PULLUP);// define pin as Input sensor
pinMode(BUZZER, OUTPUT);// define pin as OUTPUT for buzzer or LED
pinMode(RELAY, OUTPUT);// define pin as OUTPUT for relay
}
void loop() {
// HC-SR505 Motion Sensor Code by Robojax.com 20180210
int motion =digitalRead(PIR);// read the sensor
if(motion){
Serial.println("Motion detected");
digitalWrite(BUZZER,HIGH);// turn the buzzer ON
digitalWrite(RELAY,LOW);// turn the relay ON
}else{
Serial.println("===nothing moves");
digitalWrite(BUZZER,LOW);// keep the buzzer OFF
digitalWrite(RELAY,HIGH);// turn the relay OFF
}
delay(500);
// HC-SR505 Motion Sensor Code by Robojax.com 20180210
}
Veci, ktoré by ste mohli potrebovať
-
AmazonBuy relay shield from Amazonamzn.to
-
Amazon
-
AliExpressBuy 5V/12V 1, 2, 4, 6, or 8-channel relay modules.click.aliexpress.com
Zdroje a referencie
Zatiaľ žiadne zdroje.
Súbory📁
Datasheet (pdf)
-
robojax-HC-SR505-manual.pdf
robojax-HC-SR505-manual.pdf0.09 MB
Súbor Fritzing
-
HC-SR501 Body Sensor Module
HC-SR501 Body Sensor Module.fzpz0.01 MB