Raadi Koodka

Isticmaalka Sensor Dhaqdhaqaaqa HC-SR501 oo leh Relay iyo Code Arduino

Isticmaalka Sensor Dhaqdhaqaaqa HC-SR501 oo leh Relay iyo Code Arduino

Cashigarkani, waxaan ku baran doonaa sida loo isticmaalo dareemaha dhaqdhaqaaqa HC-SR501 oo lala xiriirinayo relay si loo xakameeyo nalalka AC ama nooc kale oo culeys ah iyadoo la isticmaalayo Arduino. HC-SR501 waa dareeme dhaqdhaqaaq infrared ah oo qaadi kara dhaqdhaqaaq ilaa 7 mitir, taasoo ka dhigaysa mid ku habboon codsiyo kala duwan sida qalabka amniga ama nidaamyada iftiinka otomaatiga ah. Adigoo isticmaalaya dareemahan iyo relay, waxaad abuuri kartaa mashruuc shidi kara nalalka marka dhaqdhaqaaq la ogaado.

Waxaan ku siin doonaa hagaha tallaabo-tallaabo ah oo ku saabsan qalabaynta hardware-ka, tilmaamaha fiilooyinka, iyo koodhka Arduino ee loo baahan yahay si loo gaaro shaqadan. Si aad u fahanto habka si cad, hubi inaad daawato fiidiyowga la xidhiidha (fiidiyowga 00:00).

Qalabka La Sharxay

Qaybaha aasaasiga ah ee mashruucan waxaa ka mid ah dareemaha dhaqdhaqaaqa HC-SR501, module-ka relay-ga, iyo looxa Arduino. Dareemaha HC-SR501 wuxuu leeyahay saddex biin: VCC, GND, iyo OUT. Biinka VCC wuxuu ku xidhmaa ilo koronto (5V), biinka GND wuxuu ku xidhmaa dhulka, biinka OUT-na wuxuu u diraa calaamad Arduino-ga marka dhaqdhaqaaq la ogaado.

Module-ka relay-ga wuxuu u shaqeeyaa sidii furaha xakameyn kara qalabka korontada sare leh. Wuxuu leeyahay saddex biin oo waaweyn: COM (guud), NO (caadi ahaan furan), iyo NC (caadi ahaan xiran). Qalabkan, waxaan isticmaali doonaa biinka NO, kaas oo ku xidhma culeyska marka relay-ga la hawlgeliyo. Tani waxay u oggolaanaysaa Arduino-ga inuu xakameeyo relay-ga iyadoo ku saleysan calaamadda laga helo dareemaha dhaqdhaqaaqa.

Faahfaahinta Xogta

Soo saarahaHC-SR501
Nambarka qaybtaHC-SR501
Korontada Logic/IO5 V
Korontada sahayda5–20 V
Isticmaalka korontada65 mA
Xagasha ogaanshaha120 darajo
Fogaanta ogaanshaha3–7 m
Heerkulka shaqada-15 ilaa 70 °C
Nooca wax soo saarkaDijitaal
BaakadModule

  • Hubi inaad siiso koronto ku habboon (5–20 V) dareemaha.
  • Hagaaji potentiometer-ka xasaasiyadda si aad u hesho kala duwanaanshaha ogaanshaha ugu fiican.
  • Isticmaal biinka NO ee relay-ga si aad si wax ku ool ah u xakameyso culeyska.
  • Ka digtoonow qiimeynta hadda ee relay-ga (ugu badnaan 10 A).
  • Tijaabi kala duwanaanshaha ogaanshaha dareemaha ka hor rakibaadda kama dambaysta ah.
  • Tixgeli kala-baxa kulaylka haddii aad isticmaasho relay-ga culeysyo sare.

Tilmaamaha Fiilooyinka

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

Si aad ugu xidho dareemaha dhaqdhaqaaqa HC-SR501 iyo relay-ga Arduino-ga, ka bilow adigoo ku xidhaya biinka VCC ee dareemaha biinka 5V ee Arduino-ga. Marka xigta, ku xidh biinka GND ee dareemaha mid ka mid ah biinanka GND ee Arduino-ga. Biinka OUT ee dareemaha dhaqdhaqaaqa waa in lagu xidhaa biinka dijitaalka ah ee 2 ee Arduino-ga.

Module-ka relay-ga, ku xidh biinka VCC biinka 5V ee Arduino-ga iyo biinka GND dhulka. Biinka gelinta (badanaa lagu calaamadeeyo IN ama wax la mid ah) ee relay-ga waa in lagu xidhaa biinka dijitaalka ah ee 4 ee Arduino-ga. Hubi inaad eegto jihada relay-ga si aad u hubiso in loo dejiyay inuu yahay caadi ahaan furan (NO) qalabkan. Ugu dambayntii, ku xidh culeyska (tusaale, nalka AC) relay-ga iyadoo la raacayo qeexitaannada relay-ga, hubi in xiriirada ay yihiin kuwo adag.

Tusaalooyinka Koodhka & Sharaxaad

Koodhka Arduino-ga, waxaan ku qeexaynaa xariiqyo joogto ah oo loogu talagalay biinanka dareemaha iyo relay-ga. Biinka dareemaha waxaa loo dejiyay SENSOR_PIN, kaas oo loo qoondeeyay biinka dijitaalka ah ee 2, biinka relay-gana waxaa loo dejiyay RELAY_PIN, oo loo qoondeeyay biinka dijitaalka ah ee 4. Qaabkan wuxuu noo oggolaanayaa inaan akhrino wax soo saarka dareemaha oo aan xakameyno relay-ga si waafaqsan.

const int SENSOR_PIN = 2; // biinka Arduino ee ku xidhan wax soo saarka dareemaha
const int RELAY_PIN = 4; // biinka Arduino kaas oo ku xidhan xakamaynta relay-ga

Shaqada setup(), waxaan ku bilaabaynaa kormeerka serial-ka si loo muujiyo macluumaadka waxaanan dejinaynaa noocyada biinanka ee dareemaha iyo relay-ga. Tani waxay hubinaysaa in Arduino-ga uu ogaado biinanka kuwaas oo ah gelinta iyo soo saarka.

void setup() {
  Serial.begin(9600); // deji kormeerka Serial si uu u muujiyo macluumaadka
  pinMode(SENSOR_PIN, INPUT); // Qeex SENSOR_PIN sida Gelinta ee dareemaha
  pinMode(RELAY_PIN, OUTPUT); // Qeex RELAY_PIN sida SOO SAARKA ee relay-ga
}

Shaqada loop(), waxaan si joogto ah u hubinaynaa xaaladda dareemaha dhaqdhaqaaqa. Haddii dhaqdhaqaaq la ogaado, waxaan daabacnaa farriin kormeerka serial-ka waxaanan shidnaa relay-ga adigoo u dejinaya hoose. Haddii aan dhaqdhaqaaq la ogaan, waxaan daabacnaa farriin kale waxaanan daminaa relay-ga adigoo u dejinaya sare.

void loop() {
  int motion = digitalRead(SENSOR_PIN); // akhri biinka dareemaha
  if (motion) {
    Serial.println("Dhaqdhaqaaq la ogaaday");
    digitalWrite(RELAY_PIN, LOW); // Shiid relay-ga
  } else {
    Serial.println("===Waxba ma dhaqaaqin");
    digitalWrite(RELAY_PIN, HIGH); // Dami relay-ga
  }
  delay(500);
}

Muuqaal / Waxa Laga Filan Karo

Marka dareemaha dhaqdhaqaaqa uu ogaado dhaqdhaqaaq, relay-ga wuu hawlgelin doonaa, taasoo u oggolaanaysa korontada inay u socoto culeyska ku xidhan, sida nalka AC. Waa inaad aragtaa nalka oo isla markiiba shidma marka dhaqdhaqaaq la ogaado. Haddii dareemaha uusan ogaan wax dhaqdhaqaaq ah, nalku wuu dami doonaa. Ogow in dejinta xasaasiyadda dareemaha ay saameyn doonto kala duwanaanshaha ogaanshaha, markaa hagaajin ayaa laga yaabaa inay lagama maarmaan noqoto si loo helo waxqabadka ugu fiican (fiidiyowga 05:00).

Khaladaadka caadiga ah waxaa ka mid ah fiilooyinka qaldan ama ka gudubka xadka hadda ee relay-ga, taasoo keeni karta guuldarro. Hubi in dhammaan xiriiradu ay yihiin kuwo adag oo tijaabi qalabka jawi la xakameeyay ka hor isticmaalka kama dambaysta ah.

Waqtiyada Fiidiyowga

  • 00:00 Bilow
  • 00:35 Qalabka la sharaxay
  • 04:35 Qiimaynta tamarta relay-ga
  • 06:00 Fiilalka la sharaxay
  • 07:53 Koodhka Arduino la sharaxay
  • 09:48 Tusaale ahaanshaha mashruucan

Sawirro

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
Luqadda: 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
}

Kheyraadka & Tixraacyada

Wali wax kaydsan ah oo weli ma jiro.

Faylasha📁

Fayl la'aan.