Wa Koodu

Koodu Arduino ati Fidio fun Sensọ Iṣipopada HC-SR501

Koodu Arduino ati Fidio fun Sensọ Iṣipopada HC-SR501

Nínú ẹ̀kọ́ yìí, a óò ṣàwárí ẹ̀rọ ìmúra HC-SR501, èyí tí a ṣe láti mọ ìrìn-àwá nípasẹ̀ ìmọ̀-ẹ̀rọ infurarẹ́ẹ̀dì. Ẹ̀rọ náà lè mú ìjàde kan ṣẹlẹ̀, tí ó jẹ́ kí o lè ṣàkóso àwọn ẹ̀rọ bíi LED tàbí ìtànìlétí nípa ìrìn-àwá. Ní ìparí ẹ̀kọ́ yìí, o óó ní òye pípé nípa bí o ṣe lè so ẹ̀rọ náà pọ̀ àti bí o ṣe lè ṣe àmúlò kóòdù Arduino láti mú kí ó ṣiṣẹ́ dáradára. (nínú fídíò ní 00:45)

Àlàyé Ẹ̀rọ

Ẹ̀rọ ìmúra HC-SR501 jẹ́ ẹ̀rọ kékeré tí ó tó 32 nípasẹ̀ 24 millimeters, tí ó lè ṣiṣẹ́ nínú ìwọ̀n foltì 5 sí 20. Ní àárín rẹ̀ ni ẹ̀rọ infurarẹ́ẹ̀dì LHI 778, èyí tí ó mọ ìrìn-àwá nípasẹ̀ ìyípadà nínú ìtànṣán infurarẹ́ẹ̀dì. Èyí mú kí ó yẹ fún ọ̀pọ̀lọpọ̀ àwọn ìlò, pẹ̀lú àwọn ètò ààbò àti àwọn iṣẹ́ roboti.

Ẹ̀rọ yìí ní àwọn ẹ̀yà pàtàkì mẹ́ta: VCC fún agbára, GND fún ilẹ̀, àti OUT fún àmì ìjàde. Nígbà tí a bá mọ ìrìn-àwá, ẹ̀yà OUT rán àmì gíga (3.3 volts TTL), èyí tí a lè lò láti mú àwọn ìtànìlétí tàbí àwọn ẹ̀rọ mìíràn ṣiṣẹ́. Ẹ̀rọ náà tún ní àwọn ètò ìmúra àti ìdúró-àkókò tí a lè yí padà, tí ó jẹ́ kí o lè ṣe àtúnṣe ìṣiṣẹ́ rẹ̀ nípa àwọn àìní rẹ̀ pàtó.

Àwọn Àlàyé Datasheet

OlùṣelọpọHC-SR501
Nọ́mbà apáHC-SR501
Foltì Logic/IO3.3 V
Foltì ìpèsè5–20 V
Ìwọ̀n ìjàde (fún ikanni)≤ 20 mA
Ìwọ̀n gíga (fún ikanni)≤ 50 mA
Ìtọ́sọ́nà ìgbohùnsá PWMKò wúlò
Àwọn ìpele ìwọ̀n ìkópa0.8 V (LOW), 2.0 V (HIGH)
Ìdìndì foltì / RDS(on) / ìkún0.1 V
Àwọn ìwọ̀n ooru0°C sí 70°C
ÌpakoModule
Àwọn àkíyèsí / àwọn oríṣiÌmúra àti ìdúró-àkókò tí a lè yí padà

  • Rí i dájú pé foltì ìpèsè tó tọ́ (5-20 V).
  • Lo resistor kan nínú ọ̀nà pẹ̀lú àwọn LED láti dín ìwọ̀n kù.
  • Ṣe àtúnṣe potentiometer ìmúra fún ìwọ̀n ìmúra.
  • Ṣeto ìdúró-àkókò láti ṣàkóso bí ìjàde yóò ṣe wà ní gíga.
  • Ṣọ́ra fún àwọn ìkópa tí ó lè fò; lo àwọn resistor pull-up tàbí pull-down bí ó bá pọn dandan.

Àwọn Ìtọ́sọ́nà Ìsopọ̀

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

Láti so ẹ̀rọ ìmúra HC-SR501 pọ̀, bẹ̀rẹ̀ nípa sísopọ̀ ẹ̀yà VCC sí ìjàde 5V lórí Arduino. Lẹ́yìn náà, so ẹ̀yà GND pọ̀ sí ilẹ̀ (GND) lórí Arduino. Ẹ̀yà OUT yẹ kí ó so pọ̀ sí ẹ̀yà oní nọ́mbà 2 lórí Arduino, èyí tí yóò ka àmì ìmúra.

Bí o bá ń lo LED fún ìfihàn ojú, so anode (ẹ̀yà gígùn) ti LED sí ẹ̀yà oní nọ́mbà 8 lórí Arduino. Cathode (ẹ̀yà kúkúrú) yẹ kí ó so pọ̀ sí ìkángun kan ti resistor 680-ohm, pẹ̀lú ìkángun kejì ti resistor náà lọ sí ilẹ̀. Ètò yìí jẹ́ kí Arduino lè ṣàkóso LED nípa ìmúra.

Àwọn Àpẹẹrẹ Kóòdù & Àlàyé

Kóòdù Arduino fún ètò yìí bẹ̀rẹ̀ nípa ṣíṣeto ìbánisọ̀rọ̀ serial àti ṣíṣeto àwọn ẹ̀yà ìkópa àti ìjàde. Àwọn ìdámọ̀ pàtàkì nínú kóòdù náà pẹ̀lú motion, èyí tí ó tọ́jú ipò ẹ̀rọ ìmúra, àti àwọn ẹ̀yà oní nọ́mbà tí a lò fún kíkà ìkópa àti ṣíṣàkóso LED.

void setup() {
  Serial.begin(9600);// Ṣeto Serial Monitor láti fi àlàyé hàn
  pinMode(2, INPUT);// Ìkópa láti ẹ̀rọ
  pinMode(8, OUTPUT);// Ìjàde sí ìtànìlétí tàbí LED
}

Nínú àyọkà yìí, iṣẹ́ setup() bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial àti ṣeto àwọn ipo ẹ̀yà fún ẹ̀rọ àti LED. Ẹ̀yà 2 ti ṣeto gẹ́gẹ́ bí ìkópa láti ka ìjàde ẹ̀rọ ìmúra, nígbà tí ẹ̀yà 8 ti ṣeto gẹ́gẹ́ bí ìjàde láti ṣàkóso LED.

void loop() {
  int motion = digitalRead(2);
  if(motion){
    Serial.println("A ti mọ ìrìn-àwá");
    digitalWrite(8, HIGH);
  }else{
    Serial.println("===kò sí ohun tí ó ń gbé");
    digitalWrite(8, LOW);
  }
  delay(500);
}

Àyọkà kóòdù yìí dúró fún ìyípo àkọkọ níbi tí ètò ti ń ṣàyẹ̀wò ipò ẹ̀rọ ìmúra nígbà gbogbo. Bí a bá mọ ìrìn-àwá, ó tẹ̀ "A ti mọ ìrìn-àwá" sí ìbánisọ̀rọ̀ serial àti ó tan LED. Bí a kò bá mọ ìrìn-àwá, ó tẹ̀ "===kò sí ohun tí ó ń gbé" àti ó pa LED.

Ìfihàn / Ohun Tí O Lè Retí

Nígbà tí ètò náà bá parí àti tí a ti gbé kóòdù sí Arduino, o yẹ kí o retí pé LED yóò tan nígbà tí ẹ̀rọ HC-SR501 bá mọ ìrìn-àwá. Ní àfikún, ìbánisọ̀rọ̀ serial yóò fi àwọn ifiranṣẹ́ hàn tí ó ń tọ́ka sí bí a ti mọ ìrìn-àwá tàbí rárá. Bí o bá ṣe àtúnṣe àwọn ètò ìmúra àti ìdúró-àkókò lórí ẹ̀rọ náà, o lè ṣàkíyèsí àwọn ìyípadà nínú bí ẹ̀rọ náà ṣe ń fèsì sí ìrìn-àwá ní kíákíá (nínú fídíò ní 05:30).

Àwọn ìṣòro tí ó wọ́pọ̀ pẹ̀lú ìsopọ̀ tí kò tọ́, bíi yíyí àwọn ìsopọ̀ fún VCC àti GND padà, èyí tí ó lè ba ẹ̀rọ náà jẹ́. Rí i dájú pé ẹ̀yà ìjàde ẹ̀rọ náà ti so pọ̀ sí ẹ̀yà ìkópa tí a yàn lórí Arduino láti yẹ̀ra fún àwọn ìkópa tí ó lè fò.

Àwọn Àkókò Fídíò

  • 00:00 Ìfihàn
  • 00:45 Àlàyé Ẹ̀rọ
  • 02:30 Àwọn Ìtọ́sọ́nà Ìsopọ̀
  • 04:00 Àlàyé Kóòdù
  • 05:30 Ìfihàn

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
48-This is the Arduino code for the HC-SR501 motion sensor.
Ede: C++
/*
 * This is the Arduino code for HC-SR501 Motion Sensor
 * to detect motion of humans or objects using Arduino for robotic car and other applications
 * Watch the video https://youtu.be/mZCJNOf69JI
 * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: Dec 27, 2017, 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.
 * 
 */

void setup() {
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(2, INPUT);// Input from sensor
  pinMode(8, OUTPUT);// OUTPUT to alarm or LED
}

void loop() {
  int motion =digitalRead(2);
  if(motion){
    Serial.println("Motion detected");
    digitalWrite(8,HIGH);
  }else{
     Serial.println("===nothing moves");
     digitalWrite(8,LOW);
  }
  delay(500);

}

Orisun & itọkasi

Ko si awọn orisun sibẹsibẹ.

Fáìlìs📁

Awọn faili miiran