Tafuta Msimbo

Kodi ya Arduino na video ya moduli ya kihisi cha mwendo HC-SR505 na relay

Kodi ya Arduino na video ya moduli ya kihisi cha mwendo HC-SR505 na relay

Katika mafunzo haya, tutaunda mfumo wa kutambua mwendo kwa kutumia sensor ya mwendo ya HC-SR505 na moduli ya relay. Mpangilio huu utakuruhusu kuwasha vifaa kama taa au buzzer wakati mwendo unapogunduliwa. Relay hufanya kama swichi ya kudhibiti vifaa vya voltage ya juu kwa usalama. Kufikia mwisho wa mwongozo huu, utakuwa na mpangilio wa sensor ya mwendo unaofanya kazi ambao unaweza kuamsha vifaa mbalimbali kulingana na ugunduzi wa mwendo. Kwa ufahamu wazi zaidi, hakikisha umeangalia video inayohusiana (katika video saa 0:00).

HC-SR505 motion sensor

Vifaa Vimeelezwa

Vipengele vikuu vya mradi huu vinajumuisha sensor ya mwendo ya HC-SR505, moduli ya relay, na bodi ya Arduino. HC-SR505 ni sensor ya infrared passiv (PIR) ambayo hugundua mwendo kwa kuhisi mabadiliko katika mionzi ya infrared. Inafanya kazi kwa kupima joto linalotolewa na vitu katika uwanja wake wa maono. Wakati kitu kinachosonga kinapogunduliwa, sensor hutuma ishara kwa Arduino.

Moduli ya relay hutumiwa kudhibiti kifaa cha voltage ya juu, kama vile balbu ya taa. Inafanya kazi kama swichi inayoendeshwa kwa umeme, ikiruhusu Arduino kuwasha au kuzima kifaa kwa usalama. Relay ina mipangilio miwili mikuu: kawaida wazi (NO) na kawaida imefungwa (NC), ambayo huamua hali ya default wakati relay haijawashwa.

Maelezo ya Datasheet

MtengenezajiHC-SR505
Nambari ya sehemuHC-SR505
Voltage ya Logic/IO3.3V - 20V
Voltage ya usambazaji5V
Pato la sasa (kwa kila channel)20 mA
Kilele cha sasa (kwa kila channel)100 mA
Mwongozo wa frequency ya PWMN/A
Viwango vya mantiki ya kuingiza0.3V (chini) / 2.5V (juu)
Kushuka kwa voltage / RDS(on) / kueneza0.2V
Mipaka ya joto+70 °C
KifurushiModuli
Vidokezo / lahajaUkubwa mdogo; matumizi ya chini ya nishati

  • Hakikisha uondoaji wa joto sahihi kwa mizigo ya sasa ya juu.
  • Tumia capacitors za decoupling kwa usambazaji wa nishati thabiti.
  • Kuwa makini na viunganisho vya voltage ya juu; hakikisha usalama.
  • Jaribu sensor na matokeo rahisi kabla ya kuunganisha kwenye relays.
  • Angalia mwelekeo wa sensor ya PIR kwa ugunduzi bora.

Maagizo ya Wiring

Arduino wiring for  HC-SR505 motion sensor
Arduino wiring for HC-SR505 motion sensor

Ili kuunganisha sensor ya mwendo ya HC-SR505, kwanza unganisha pini ya nguvu (iliyoandikwa +) kwenye pato la 5V kwenye Arduino yako. Kisha, unganisha pini ya ardhi (iliyoandikwa -) kwenye moja ya pini za ardhi za Arduino. Pini ya ishara (pini ya katikati) inapaswa kuunganishwa kwenye pini ya digital 2 kwenye Arduino.

Kwa moduli ya relay, unganisha pini ya VCC kwenye pato la 5V kwenye Arduino na pini ya ardhi kwenye ardhi ya Arduino. Pini ya kuingiza ya relay inapaswa kuunganishwa kwenye pini ya digital 9 kwenye Arduino. Hatimaye, unganisha terminal chanya ya buzzer kwenye pini ya digital 8 na terminal yake hasi kwenye ardhi. Hakikisha umeunganisha pini za kawaida na kawaida wazi za relay ipasavyo ili kudhibiti kifaa chako.

Mifano ya Code na Maelezo

Code ya mradi huu huanzisha pini za sensor, buzzer, na relay. Inatumia kazi ya digitalRead() kuangalia mwendo na kujibu ipasavyo. Hapa chini ni sehemu kutoka kwenye kazi ya setup:


void setup() {
  Serial.begin(9600); // anzisha Serial Monitor
  pinMode(PIR, INPUT_PULLUP); // fafanua pini kama Input kwa sensor
  pinMode(BUZZER, OUTPUT); // fafanua pini kama OUTPUT kwa buzzer
  pinMode(RELAY, OUTPUT); // fafanua pini kama OUTPUT kwa relay
}

Katika sehemu hii, pini zimewekwa katika hali ya input au output. Serial.begin(9600) huanzisha mawasiliano ya serial kwa ajili ya debugging.

Loop kuu huangalia mwendo na kuwasha buzzer na relay wakati mwendo unapogunduliwa. Hapa kuna sehemu iliyolenga kutoka kwenye kazi ya loop:

Wirig relay module to AC load

void loop() {
  int motion = digitalRead(PIR); // soma sensor
  if(motion) {
    Serial.println("Mwendo umegunduliwa");
    digitalWrite(BUZZER, HIGH); // washa buzzer
    digitalWrite(RELAY, LOW); // washa relay
  } else {
    Serial.println("===hakuna kinachosonga");
    digitalWrite(BUZZER, LOW); // weka buzzer imezimwa
    digitalWrite(RELAY, HIGH); // zima relay
  }
  delay(500);
}

Sehemu hii inasoma hali ya sensor ya PIR na kuwasha au kuzima buzzer na relay kulingana na mwendo uliogunduliwa. Kuchelewa kwa milliseconds 500 kunahakikisha loop inaangalia sensor kwa muda mwafaka.

Maonyesho / Nini cha Kutarajia

Wakati mwendo unapogunduliwa, taa iliyounganishwa kwenye relay itawashwa, na buzzer itasikika. Ikiwa hakuna mwendo unaogunduliwa, relay itazima taa, na buzzer itakuwa kimya. Fahamu kwamba HC-SR505 ina kuchelewa kwa ndani ambayo huweka pato likiwa amilifu kwa muda mfupi baada ya mwendo kugunduliwa (hadi sekunde 8), ambayo haiwezi kubadilishwa (katika video saa 5:30).

Vidokezo vya Muda wa Video

  • 00:00 – Utangulizi wa mradi
  • 01:30 – Maelezo ya vipengele
  • 03:15 – Maagizo ya wiring
  • 05:30 – Maelezo ya code
  • 07:00 – Maonyesho ya mpangilio

Bilder

Wirig relay module to AC load
Wirig relay module to AC load
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
Arduino wiring for  HC-SR505 motion sensor
Arduino wiring for HC-SR505 motion sensor
74-This is the Arduino code for the HC-SR505 motion sensor (small) with relay.
Språk: C++
/*
 * 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
}

Tänker att du kanske behöver

Resurser och referenser

Inga resurser än.

Filer📁

Datablad (pdf)

Fritzing-fil