Lilo lilo HC-SR501 Motion Sensor pẹlu Relay ati Arduino Code
Nínú ẹ̀kọ́ yìí, a óò ṣàwárí bí a ṣe lè lo sensọ ìṣísẹ̀ HC-SR501 pẹ̀lú relay kan láti ṣàkóso àtùpà AC tàbí irú ẹrù mìíràn nípa lílo Arduino. HC-SR501 jẹ́ sensọ ìṣísẹ̀ infurarẹ́dì tí ó lè ṣàwárí ìṣísẹ̀ títí dé 7 mítà, tí ó sì jẹ́ kí ó dára fún oríṣiríṣi àwọn ohun èlò bíi ìtànijá tàbí àwọn ètò iná àdáṣe. Nípa lílo sensọ yìí àti relay kan, o lè ṣẹ̀dá iṣẹ́-ọwọ́ kan tí yóò tan iná nígbà tí a bá ṣàwárí ìṣísẹ̀.

A óò pèsè ìtọ́sọ́nà ní ìgbésẹ̀-ìgbésẹ̀ lórí ìtòlẹ́sẹẹsẹ ohun èlò, àwọn ìtọ́ni ìsopọ̀, àti kóòdù Arduino tí a nílò láti ṣàṣeyọrí iṣẹ́ yìí. Fún òye tí ó ṣe kedere nípa ìlànà náà, rí i pé o wo fídíò tí ó somọ́ (nínú fídíò ní 00:00).
Ohun Èlò Tí A Ṣàlàyé
Àwọn èròjà pàtàkì nínú iṣẹ́-ọwọ́ yìí ní sensọ ìṣísẹ̀ HC-SR501, modulu relay kan, àti bọọdù Arduino kan. Sensọ HC-SR501 ní àwọn ẹ̀yà mẹ́ta: VCC, GND, àti OUT. Ẹ̀yà VCC sopọ̀ sí orísun agbára (5V), ẹ̀yà GND sopọ̀ sí ilẹ̀, àti ẹ̀yà OUT rán àmì-ìdánilẹ́kọ̀ọ́ sí Arduino nígbà tí a bá ṣàwárí ìṣísẹ̀.
Modulu relay ṣiṣẹ́ bíi kọńtákítì tí ó lè ṣàkóso àwọn ohun èlò foliteji gíga. Ó ní àwọn ẹ̀yà pàtàkì mẹ́ta: COM (wọ́pọ̀), NO (ṣí ní déédé), àti NC (pípade ní déédé). Nínú ìtòlẹ́sẹẹsẹ yìí, a óò lo ẹ̀yà NO, tí ó sopọ̀ sí ẹrù nígbà tí a bá mú relay ṣiṣẹ́. Èyí jẹ́ kí Arduino lè ṣàkóso relay dá lórí àmì-ìdánilẹ́kọ̀ọ́ tí ó gbà láti ọ̀dọ̀ sensọ ìṣísẹ̀.
Àwọn Àlàyé Datasheet
| Olùṣelọ́pọ̀ | HC-SR501 |
|---|---|
| Nọ́mbà apá | HC-SR501 |
| Foliteji Logic/IO | 5 V |
| Foliteji ìpèsè | 5–20 V |
| Ìjẹ agbára | 65 mA |
| Ìgun ìṣàwárí | 120 ìwọ̀n |
| Ìjìnà ìṣàwárí | 3–7 m |
| Ìwọ̀n ìṣiṣẹ́ | -15 sí 70 °C |
| Irú ìjàde | Onínọ̀mbà |
| Àkójọpọ̀ | Modulu |
- Rí i pé ìpèsè agbára tí ó tọ́ (5–20 V) wà fún sensọ.
- Ṣàtúnṣe potentiometer ìmọ̀lára fún ìjìnà ìṣàwárí tí ó dára jùlọ.
- Lo ẹ̀yà NO ti relay láti ṣàkóso ẹrù dáradára.
- Ṣọ́ra fún ìwọ̀n lọ́wọ́lọ́wọ́ ti relay (10 A tí ó pọ̀ jù).
- Dánwò ìjìnà ìṣàwárí sensọ ìṣísẹ̀ kí o tó fi sí ipò ìkẹyìn.
- Rò nípa ìtújáde ooru bí o bá ń lo relay fún àwọn ẹrù gíga.
Àwọn Ìtọ́ni Ìsopọ̀

Láti sopọ̀ sensọ ìṣísẹ̀ HC-SR501 àti relay pẹ̀lú Arduino, bẹ̀rẹ̀ nípa sopọ̀ ẹ̀yà VCC ti sensọ ìṣísẹ̀ sí ẹ̀yà 5V lórí Arduino. Nígbà tí o bá ṣe èyí, sopọ̀ ẹ̀yà GND ti sensọ sí ọ̀kan nínú àwọn ẹ̀yà GND lórí Arduino. Ẹ̀yà OUT láti ọ̀dọ̀ sensọ ìṣísẹ̀ yẹ kí ó sopọ̀ sí ẹ̀yà onínọ̀mbà 2 lórí Arduino.
Fún modulu relay, sopọ̀ ẹ̀yà VCC sí ẹ̀yà 5V lórí Arduino àti ẹ̀yà GND sí ilẹ̀. Ẹ̀yà input (tí a sábà máa ń pè ní IN tàbí irú rẹ̀) ti relay yẹ kí ó sopọ̀ sí ẹ̀yà onínọ̀mbà 4 lórí Arduino. Rí i pé o ṣàyẹ̀wò ìṣàkóso relay láti rí i pé ó ti ṣeto sí ṣí ní déédé (NO) fún ìtòlẹ́sẹẹsẹ yìí. Ní ìkẹyìn, sopọ̀ ẹrù (bíi àtùpà AC) sí relay ní ìbámu pẹ̀lú àwọn ìpàkíìke ti relay, rí i pé àwọn ìsopọ̀ náà ṣe dáradára.
Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà
Nínú kóòdù Arduino, a ṣàlàyé àwọn ìwọ̀n tí ó wà nígbà gbogbo fún àwọn ẹ̀yà sensọ àti relay. Ẹ̀yà sensọ ti ṣeto sí SENSOR_PIN, tí a fi sí ẹ̀yà onínọ̀mbà 2, àti ẹ̀yà relay ti ṣeto sí RELAY_PIN, tí a fi sí ẹ̀yà onínọ̀mbà 4. Ìtòlẹ́sẹẹsẹ yìí jẹ́ kí a lè ka ìjàde sensọ àti ṣàkóso relay ní ìbámu.
const int SENSOR_PIN = 2; // ẹ̀yà Arduino tí ó sopọ̀ sí ìjàde sensọ
const int RELAY_PIN = 4; // ẹ̀yà Arduino tí ó sopọ̀ láti ṣàkóso relay
Nínú iṣẹ́ setup(), a bẹ̀rẹ̀ serial monitor fún ìṣàtúnṣe àti ṣeto àwọn ipo ẹ̀yà fún àwọn ẹ̀yà sensọ àti relay. Èyí rí i pé Arduino mọ àwọn ẹ̀yà tí ó jẹ́ input àti output.
void setup() {
Serial.begin(9600); // Ṣeto Serial Monitor láti fi àlàyé hàn
pinMode(SENSOR_PIN, INPUT); // Ṣàlàyé SENSOR_PIN bíi Input láti ọ̀dọ̀ sensọ
pinMode(RELAY_PIN, OUTPUT); // Ṣàlàyé RELAY_PIN bíi OUTPUT fún relay
}
Nínú iṣẹ́ loop(), a máa ń ṣàyẹ̀wò ipo sensọ ìṣísẹ̀ nígbà gbogbo. Bí a bá ṣàwárí ìṣísẹ̀, a tẹ̀ àkọsílẹ̀ sí serial monitor àti mú relay ṣiṣẹ́ nípa ṣiṣeto rẹ̀ sí low. Bí a kò bá ṣàwárí ìṣísẹ̀, a tẹ̀ àkọsílẹ̀ mìíràn àti pa relay nípa ṣiṣeto rẹ̀ sí high.
void loop() {
int motion = digitalRead(SENSOR_PIN); // ka ẹ̀yà sensọ
if (motion) {
Serial.println("Ìṣísẹ̀ ti ṣàwárí");
digitalWrite(RELAY_PIN, LOW); // Mú relay ṣiṣẹ́
} else {
Serial.println("===Kò sí ohun tí ó ń gbé");
digitalWrite(RELAY_PIN, HIGH); // Pa relay
}
delay(500);
}
Ìfihàn / Ohun Tí O Lè Retí
Nígbà tí sensọ ìṣísẹ̀ bá ṣàwárí ìṣísẹ̀, relay yóò ṣiṣẹ́, tí yóò jẹ́ kí agbára ṣàn sí ẹrù tí a sopọ̀, bíi àtùpà AC. O yẹ kí o rí àtùpà tí ó tan ní kíákíá nígbà tí a bá ṣàwárí ìṣísẹ̀. Bí sensọ kò bá ṣàwárí ìṣísẹ̀ kankan, àtùpà yóò wà ní pipa. Rí i pé àwọn ètò ìmọ̀lára ti sensọ yóò ní ipa lórí ìjìnà ìṣàwárí rẹ̀, nítorí náà àwọn àtúnṣe lè pọn dandan fún iṣẹ́ tí ó dára jùlọ (nínú fídíò ní 05:00).
Àwọn ìṣòro tí a sábà máa ń rí pẹ̀lú ní ìsopọ̀ tí kò tọ́ tàbí lílo relay ju àwọn ìwọ̀n lọ́wọ́lọ́wọ́ rẹ̀ lọ, tí ó lè yọrí sí ìkùnà. Rí i pé gbogbo àwọn ìsopọ̀ ṣe dáradára àti dánwò ìtòlẹ́sẹẹsẹ náà ní àyíká tí a ṣàkóso kí o tó lò ó ní ìkẹyìn.
Àwọn Àkókò Fídíò
- 00:00 Ibẹ̀rẹ̀
- 00:35 Àlàyé ohun èlò
- 04:35 Ìwọ̀n agbára Relay
- 06:00 Àlàyé ìsopọ̀ oníná
- 07:53 Àlàyé kóòdù Arduino
- 09:48 Ìfihàn iṣẹ́ yìí
/*
* This Arduino code uses an HS-SR501 motion sensor and a relay
* and switches an alarm or a device using the relay when motion is detected.
* The device can be an alarm, a light, or any other device.
*
* Written by Ahmad Shamshiri on August 5, 2018, at 12:36 PM for Robojax.com
* in Ajax, Ontario, Canada
* Watch the video instruction for this code: https://youtu.be/QQ7iDagQnQM
* This code has been downloaded from Robojax.com
*/
const int SENSOR_PIN = 2;// the Arduino pin connected to the output (middle) wire of the sensor
const int RELAY_PIN = 4;// the Arduino pin which is connected to control the relay
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
Serial.println("Robojax Arduino Tutorial");
Serial.println("HC-SR501 sensor with relay");
pinMode(SENSOR_PIN, INPUT);// Define SENSOR_PIN as Input from sensor
pinMode(RELAY_PIN, OUTPUT);// Define RELAY_PIN as OUTPUT for relay
}
void loop() {
// Robojax.com HC-SR501 motion sensor tutorial August 5, 2018
int motion =digitalRead(SENSOR_PIN);// read the sensor pin and stores it in "motion" variable
// if motion is detected
if(motion){
Serial.println("Motion detected");
digitalWrite(RELAY_PIN, LOW);// Turn the relay ON
}else{
Serial.println("===Nothing moves");
digitalWrite(RELAY_PIN,HIGH);// Turn the relay OFF
}
delay(500);
// Robojax.com HC-SR501 motion sensor tutorial August 5, 2018
}
Ohun ti o le nilo
-
Amazon
-
eBay
-
AliExpressPurchase HC-SR501 HC-SR505 HW-MS03 motion sensor from AliExpresss.click.aliexpress.com
Orisun & itọkasi
Ko si awọn orisun sibẹsibẹ.
Fáìlìs📁
Ko si awọn faili ti o wa.