Koodu Arduino ati fidio fun modulu sensori išipaya HC-SR505 pẹlu relay
Nínú ẹ̀kọ́ yìí, a óò kọ́ ètò ìṣàwárí ìṣísẹ̀ pẹ̀lú ẹ̀rọ ìmọ̀-ìṣísẹ̀ HC-SR505 àti modulu relay. Ètò yìí yóò jẹ́ kí o lè mú àwọn ẹ̀rọ bíi iná tàbí buzzer ṣiṣẹ́ nígbà tí a bá ṣàwárí ìṣísẹ̀. Relay náà ń ṣiṣẹ́ gẹ́gẹ́ bíi kọ́ńtákítì láti darí àwọn ẹ̀rọ tí ń lo foliteji gíga láìléwu. Ní ìparí ìtọ́sọ́nà yìí, o óò ní ètò ìmọ̀-ìṣísẹ̀ tí ó ń ṣiṣẹ́ tí ó lè mú oríṣiríṣi ẹ̀rọ ṣiṣẹ́ nípa ìṣàwárí ìṣísẹ̀. Fún òye tí ó ṣe kedere, rí i pé o wo fídíò tí ó somọ́ (nínú fídíò ní 0:00).

Àlàyé Ohun-èlù
Àwọn ohun-èlù pàtàkì nínú iṣẹ́ yìí ni ẹ̀rọ ìmọ̀-ìṣísẹ̀ HC-SR505, modulu relay, àti bọ́ọ̀dù Arduino. HC-SR505 jẹ́ ẹ̀rọ ìmọ̀-ìṣísẹ̀ tí ń lo ìtànṣán infurarẹ́dì (PIR) tí ó ń ṣàwárí ìṣísẹ̀ nípa ṣíṣàkíyèsí àwọn ìyípadà nínú ìtànṣán infurarẹ́dì. Ó ń ṣiṣẹ́ nípa dídiwọ̀n ooru tí àwọn ohun tí ó wà níwájú rẹ̀ ń jáde. Nígbà tí a bá ṣàwárí ohun tí ó ń gbé, ẹ̀rọ náà yóò fi àmì ránṣẹ́ sí Arduino.
Modulu relay náà ni a ń lò láti darí ẹ̀rọ tí ń lo foliteji gíga, bíi iná. Ó ń ṣiṣẹ́ gẹ́gẹ́ bíi kọ́ńtákítì tí ń ṣiṣẹ́ pẹ̀lú iná mànàmáná, tí ó jẹ́ kí Arduino lè mú ẹ̀rọ náà ṣiṣẹ́ tàbí pa á láìléwu. Relay náà ní àwọn ìtòlẹ́sẹ̀ pàtàkì méjì: tí ó ṣí ní gbogbo ìgbà (NO) àti tí ó pa ní gbogbo ìgbà (NC), èyí tí ó pinnu ipò àkọ́kọ́ nígbà tí a kò bá mú relay ṣiṣẹ́.
Àwọn Àlàyé Láti Ìwé Ìtọ́sọ́nà
| Olùṣelọ́pọ̀ | HC-SR505 |
|---|---|
| Nọ́mbà apá | HC-SR505 |
| Foliteji Logic/IO | 3.3V - 20V |
| Foliteji ìpèsè | 5V |
| Ìwọ̀n iná tí ó jáde (fún ikanni kọ̀ọ̀kan) | 20 mA |
| Ìwọ̀n iná tí ó ga jùlọ (fún ikanni kọ̀ọ̀kan) | 100 mA |
| Ìtọ́sọ́nà ìgbohùnsáfẹ́fẹ́ PWM | Kò sí |
| Àwọn ìpele ìwọ̀n iná tí ó wọlé | 0.3V (rẹ̀lẹ̀) / 2.5V (ga) |
| Ìdìndì foliteji / RDS(on) / ìkún | 0.2V |
| Àwọn ìwọ̀n ooru tí ó pọ̀ jùlọ | +70 °C |
| Ìpako | Modulu |
| Àwọn àkíyèsí / oríṣiríṣi | Ìwọ̀n kékeré; àgbára iná kékeré |
- Rí i pé o tú ooru dáradára fún àwọn ẹ̀rù iná tí ó ga.
- Lo àwọn capacitors tí ń yọ̀ọ́da láti rí i pé ìpèsè iná dúró ṣinṣin.
- Ṣọ́ra pẹ̀lú àwọn ìsopọ̀ foliteji gíga; rí i pé o ṣàbò.
- Dán ẹ̀rọ ìmọ̀-ìṣísẹ̀ wò pẹ̀lú àwọn ohun tí ó rọrùn kí o tó so ó pọ̀ mọ́ relay.
- Ṣàyẹ̀wò ìtọ́sọ́nà ẹ̀rọ ìmọ̀-ìṣísẹ̀ PIR fún ìṣàwárí tí ó dára jùlọ.
Àwọn Ìtọ́sọ́nà Ìsopọ̀

Láti so ẹ̀rọ ìmọ̀-ìṣísẹ̀ HC-SR505 pọ̀, kọ́kọ́ so pin iná (tí a fi àmì + sí) pọ̀ mọ́ ìjàde 5V lórí Arduino rẹ. Lẹ́yìn náà, so pin ilẹ̀ (tí a fi àmì - sí) pọ̀ mọ́ ọ̀kan lára àwọn pin ilẹ̀ Arduino. Pin àmì (pin àárín) yẹ kí ó so pọ̀ mọ́ pin oní nọ́ńbà 2 lórí Arduino.
Fún modulu relay, so pin VCC pọ̀ mọ́ ìjàde 5V lórí Arduino àti pin ilẹ̀ pọ̀ mọ́ ilẹ̀ Arduino. Pin tí ń gba àmì wọlé ti relay yẹ kí ó so pọ̀ mọ́ pin oní nọ́ńbà 9 lórí Arduino. Ní ìparí, so pin rere buzzer pọ̀ mọ́ pin oní nọ́ńbà 8 àti pin òdì rẹ̀ pọ̀ mọ́ ilẹ̀. Rí i pé o so àwọn pin tí ó wọ́pọ̀ àti àwọn pin tí ó ṣí ní gbogbo ìgbà ti relay pọ̀ dáradára láti darí ẹ̀rọ rẹ.
Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà
Kóòdù fún iṣẹ́ yìí ń bẹ̀rẹ̀ àwọn pin fún ẹ̀rọ ìmọ̀-ìṣísẹ̀, buzzer, àti relay. Ó ń lo iṣẹ́ digitalRead() láti ṣàyẹ̀wò ìṣísẹ̀ àti láti dáhùn ní ìbámu. Ní ìsàlẹ̀ yìí ni àpẹẹrẹ láti inú iṣẹ́ ìtòlẹ́sẹ̀:
void setup() {
Serial.begin(9600); // ṣètò Serial Monitor
pinMode(PIR, INPUT_PULLUP); // ṣàlàyé pin gẹ́gẹ́ bíi Input fún ẹ̀rọ ìmọ̀-ìṣísẹ̀
pinMode(BUZZER, OUTPUT); // ṣàlàyé pin gẹ́gẹ́ bíi OUTPUT fún buzzer
pinMode(RELAY, OUTPUT); // ṣàlàyé pin gẹ́gẹ́ bíi OUTPUT fún relay
}
Nínú àpẹẹrẹ yìí, àwọn pin ni a ṣètò sí ipò input tàbí output. Serial.begin(9600) ń bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial fún ṣíṣàtúnṣe àṣìṣe.
Lúùpù àkọ́kọ́ ń ṣàyẹ̀wò ìṣísẹ̀ àti ń mú buzzer àti relay ṣiṣẹ́ nígbà tí a bá ṣàwárí ìṣísẹ̀. Èyí ni àpẹẹrẹ pàtàkì láti inú iṣẹ́ lúùpù:

void loop() {
int motion = digitalRead(PIR); // ka ẹ̀rọ ìmọ̀-ìṣísẹ̀
if(motion) {
Serial.println("Ìṣísẹ̀ ti ṣàwárí");
digitalWrite(BUZZER, HIGH); // mú buzzer ṣiṣẹ́
digitalWrite(RELAY, LOW); // mú relay ṣiṣẹ́
} else {
Serial.println("===kò sí ohun tí ń gbé");
digitalWrite(BUZZER, LOW); // pa buzzer
digitalWrite(RELAY, HIGH); // pa relay
}
delay(500);
}
Àpẹẹrẹ yìí ń ka ipò ẹ̀rọ ìmọ̀-ìṣísẹ̀ PIR àti ń mú buzzer àti relay ṣiṣẹ́ tàbí pa wọ́n nípa ìṣísẹ̀ tí a ṣàwárí. Ìdúró díẹ̀ ti 500 milliseconds ń rí i pé lúùpù ń ṣàyẹ̀wò ẹ̀rọ ìmọ̀-ìṣísẹ̀ ní àkókò tí ó bọ́gbọ́n mu.
Ìfihàn / Ohun Tí O Lè Retí
Nígbà tí a bá ṣàwárí ìṣísẹ̀, iná tí ó so pọ̀ mọ́ relay yóò tàn, àti buzzer yóò dun. Bí a kò bá ṣàwárí ìṣísẹ̀, relay yóò pa iná, àti buzzer yóò dákẹ́. Ṣe àkíyèsí pé HC-SR505 ní ìdúró tí ó wà nínú rẹ̀ tí ó máa ń mú ìjàde dúró fún ìgbà díẹ̀ lẹ́yìn tí a bá ṣàwárí ìṣísẹ̀ (títí di 8 ìṣẹ́jú àáyá), èyí tí a kò lè yí padà (nínú fídíò ní 5:30).
Àwọn Àkókò Nínú Fídíò
- 00:00 – Ìfihàn sí iṣẹ́ náà
- 01:30 – Àlàyé àwọn ohun-èlù
- 03:15 – Àwọn ìtọ́sọ́nà ìsopọ̀
- 05:30 – Ìtọ́sọ́nà kóòdù
- 07:00 – Ìfihàn ètò náà
/*
* 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
}
Ohun ti o le nilo
-
Amazon
-
Amazon
-
AliExpressPurchase 5v 12v 1 2 4 6 8 channel channel relay moduls.click.aliexpress.com
Orisun & itọkasi
Ko si awọn orisun sibẹsibẹ.
Fáìlìs📁
Fọọmu data (pdf)
-
robojax-HC-SR505-manual.pdf
robojax-HC-SR505-manual.pdf0.09 MB
Fayile Fritzing
-
HC-SR501 Body Sensor Module
HC-SR501 Body Sensor Module.fzpz0.01 MB