Search Code

Lilo lilo HC-SR501 Motion Sensor pẹlu Relay ati Arduino Code

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/IO5 V
Foliteji ìpèsè5–20 V
Ìjẹ agbára65 mA
Ìgun ìṣàwárí120 ìwọ̀n
Ìjìnà ìṣàwárí3–7 m
Ìwọ̀n ìṣiṣẹ́-15 sí 70 °C
Irú ìjàdeOní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ọ̀

Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor

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ìí

Aworan

HC-SR501 back
HC-SR501 back
HC-SR501 module
HC-SR501 module
Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor
141-Arduino source code for an HC-SR501 motion sensor to control an AC bulb or load
Ede: C++
/*
 * 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
}

Orisun & itọkasi

Ko si awọn orisun sibẹsibẹ.

Fáìlìs📁

Ko si awọn faili ti o wa.