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/IO | 3.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á PWM | Kò wúlò |
| Àwọn ìpele ìwọ̀n ìkópa | 0.8 V (LOW), 2.0 V (HIGH) |
| Ìdìndì foltì / RDS(on) / ìkún | 0.1 V |
| Àwọn ìwọ̀n ooru | 0°C sí 70°C |
| Ìpako | Module |
| À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ọ̀

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
/*
* 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
-
Itumọ HC-SR501 sensọ ìhìn LHI778.
robojax-HC-SR501-motion-LHI778-manual.pdf0.20 MB