Lambar Arduino da Bidiyo don Na'urar Auna Nisa ta Ultrasonic HC-SR04
A cikin wannan koyawa, za mu bincika yadda ake amfani da na'urar auna nisa ta ultrasonic HC-SR04 tare da Arduino. HC-SR04 hanya ce mai arha kuma ingantacciya don auna nisa ta amfani da raƙuman ultrasonic. Ta hanyar aika sigina da auna lokacin da ake ɗauka don amsawar ta dawo, za mu iya lissafa nisa zuwa abu daidai.

Wannan aikin ya ƙunshi saita na'urar tare da Arduino da rubuta shirin mai sauƙi don karantawa da nuna ma'aunin nisa. Shirin zai yi amfani da ɗakin karatu na NewPing don sauƙaƙe sadarwa da na'urar. Idan kana son nunin gani ko ƙarin bayani kan kowane mataki, tabbatar ka duba bidiyon (a cikin bidiyo a 00:00).
Bayanin Kayan Aiki
Na'urar ultrasonic HC-SR04 ta ƙunshi manyan sassa biyu: mai watsawa da mai karɓa. Mai watsawa yana fitar da raƙuman ultrasonic a mitar da ta fi iyawar kunnen ɗan adam, yayin da mai karɓa ke sauraron amsawar waɗannan raƙuman bayan sun billa daga abu. Ta hanyar lissafa lokaci tsakanin aika raƙuman da karɓar amsawar, za mu iya tantance nisa zuwa abu.
Na'urar tana da filoli muhimmi guda biyu: fil ɗin trigger da fil ɗin echo. Fil ɗin trigger ana amfani da shi don fara ma'auni ta hanyar aika ɗan gajeren sigina mai girma, yayin da fil ɗin echo ke karɓar sigina da aka nuna kuma yana auna lokacin da ake ɗauka don amsawar ta dawo.
Cikakkun Bayanan Datasheet
| Mai ƙera | HC-SR04 |
|---|---|
| Lambar sashi | HC-SR04 |
| Wutar Logic/IO | 5 V |
| Wutar samarwa | 5 V |
| Fitar wutar (kowane tashar) | 15 mA |
| Kololuwar wutar (kowane tashar) | 20 mA |
| Jagorar mitar PWM | Babu |
| Matakan shigar da logic | 0.3 V (ƙasa), 0.7 V (girma) |
| Rage wutar / RDS(on) / saturation | Babu |
| Iyakokin zafi | 0°C zuwa 70°C |
| Kunshin | Module |
| Bayanan kula / bambance-bambance | Matsakaicin nisa 400 cm |
- Tabbatar da ingantaccen samar da wutar (5 V).
- Tsaftace na'urar don ingantaccen karatu.
- Yi amfani da fil ɗin trigger don fara ma'auni.
- Kada ka wuce matsakaicin nisa don sakamako mai dogaro.
- Kiyaye hanya a buɗe don raƙuman ultrasonic su billa dawo.
- Yi amfani da capacitors na decoupling kusa da filolin wutar.
- Yi hattara game da hayaniyar muhalli da za ta iya tsoma baki cikin karatu.
- Gwada nisa daban-daban don sanin na'urar sosai.
Umarnin Haɗin Waya


Don haɗa na'urar ultrasonic HC-SR04 zuwa Arduino ɗinka, bi waɗannan matakan:
- Haɗa fil ɗin
VCCna HC-SR04 zuwa fil ɗin 5V akan Arduino. - Haɗa fil ɗin
GNDna HC-SR04 zuwa fil ɗin ƙasa akan Arduino. - Haɗa fil ɗin
TRIGna HC-SR04 (wanda yawanci shuɗi ne) zuwa fil ɗin dijital 12 akan Arduino. - Haɗa fil ɗin
ECHOna HC-SR04 (wanda yawanci kore ne) zuwa fil ɗin dijital 11 akan Arduino.
Tabbatar cewa haɗin suna da ƙarfi don guje wa karatu mara tsayi. Idan kana amfani da wani tsari daban ko kana da madadin haɗin waya, koma ga bidiyon don ƙarin jagora (a cikin bidiyo a 00:00).
Misalan Lamba & Bayani
Lambar da ke gaba tana fara ɗakin karatu na NewPing kuma tana saita filolin don na'urar HC-SR04. Manyan sassa sun haɗa da ayyana filolin trigger da echo, da kuma matsakaicin nisa.
#define TRIGGER_PIN 12 // Fil ɗin trigger
#define ECHO_PIN 11 // Fil ɗin echo
#define MAX_DISTANCE 200 // Matsakaicin nisa a cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Saita NewPing
A cikin wannan ɓangaren, TRIGGER_PIN da ECHO_PIN an saita su zuwa filolin dijital 12 da 11, bi da bi. MAX_DISTANCE an ayyana shi a matsayin 200 cm, wanda shine matsakaicin nisa da kake sha'awar aunawa.
Na gaba, muna da aikin setup inda aka fara serial monitor don nuna sakamako:
void setup() {
Serial.begin(115200); // Fara serial monitor
}
Wannan lambar tana buɗe sadarwar serial a ƙimar baud 115200, wanda ke ba mu damar ganin ma'aunin nisa a cikin serial monitor.
A ƙarshe, aikin loop yana auna nisa kuma yana duba idan ya kai ko ƙasa da 12 cm:
void loop() {
delay(50); // Jira tsakanin auna
int distance = sonar.ping_cm(); // Auna nisa
if(distance <=12){ // Duba nisa
Serial.println("Kusa sosai"); // Buga idan kusa sosai
}
}
A cikin loop(), muna gabatar da jinkiri na milisakanci 50 don sarrafa yawan aunawa. Ana auna nisa, kuma idan bai wuce ko daidai da cm 12 ba, yana buga "Kusa sosai" a kan serial monitor.
Don cikakken lambar, da fatan za a koma zuwa sashin lodawa da ke ƙasa da labarin.
Nunawa / Abin da za a Yi Tsammani
Lokacin da kake gudanar da shirin, Arduino zai ci gaba da auna nisa zuwa abu mafi kusa. Ya kamata ya buga nisa a santimita kuma ya sanar da kai da "Kusa sosai" lokacin da aka gano abu a cikin cm 12. Idan abu ya yi kusa sosai, za ka iya samun karatun da ba daidai ba ko kuma babu karatu kwata-kwata, kamar yadda aka lura a cikin bidiyon (a cikin bidiyo a 10:00).
Tabbatar cewa an sanya firikwensin daidai kuma babu wani cikas da ke toshe raƙuman ultrasonic. Idan an saita komai da kyau, ya kamata ka ga aunawa masu daidaito da aka nuna a cikin serial monitor.
Lokutan Bidiyo
- 00:00 - Gabatarwa ga HC-SR04
- 01:30 - Haɗa firikwensin
- 03:00 - Bayanin lambar
- 05:00 - Gudanar da shirin
- 07:30 - Auna nisa
/*
* This is the Arduino code for the HC-SR04 Ultrasonic Distance Sensor
* to measure the distance using Arduino for a robotic car and other applications
* Watch the video https://youtu.be/QI9541YQq7M
*
* Written by Ahmad Shamshiri for Robojax Video
* Date: December 21, 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.
*
*/
/* Original Code
// https://playground.arduino.cc/Code/NewPing
* Modified for Robojax video on December 21, 2017
*/
// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------
#include <NewPing.h>
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}
void loop() {
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
Serial.print("Ping: ");
Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
Serial.println("cm");
int distance = sonar.ping_cm();// store the distance value in "distance" variable
if(distance <=12){ // if distance is less than 12, do something. For example, here just print "very close"
Serial.println("Very close");
}
}
Abin da zaka iya bukata
-
eBay
-
BanggoodPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
Albarkatun da kuma shafukan da za a duba
-
WajeHC-SR04 Ultrasonic Library from the Arduino official websiteplayground.arduino.cc
Fayiloli📁
Babu fayiloli da ake da su.