Ndeleng: 164 Pengarang: Grace Wektu Terbit: 2021-07-26 Asal: Situs
Ing Sensor ultrasonik HC-SR04 minangka salah sawijining modul pangukuran jarak sing paling populer kanggo proyek Arduino. Iki digunakake kanthi wiyar ing robot panyegahan alangan, sensor parkir, deteksi level, tong sampah cerdas, meter jarak, lan aplikasi sensing non-kontak liyane.
Modul kasebut ngetokake gelombang ultrasonik 40kHz liwat pemancar. Nalika gelombang swara ketemu obyek, iku nuduhake bali menyang panrima. Kanthi ngukur wektu gema lan nggunakake kacepetan swara, Arduino bisa ngetung jarak antarane sensor lan obyek.
| Paramèter | Nilai |
| Tegangan kerja khas | 5V DC |
| Arus kerja statis | Kurang saka 5mA ing sawetara versi modul |
| Frekuensi operasi | 40 kHz gelombang ultrasonik |
| Jarak deteksi | Jarak umum: 2cm nganti 400cm; sawetara versi gain-diatur bisa ndhukung sawetara maneh. |
| Sudut deteksi | Biasane ing 15 derajat; sawetara versi karo gain luwih bisa tekan bab 30 derajat. |
| Precision | Nganti udakara 0,3cm ing kahanan tes sing cocog |
| Zona wuta | Jarak pangukuran minimal 2cm |
Modul ultrasonik HC-SR04 nduweni papat pin: VCC, TRIG, ECHO, lan GND. Arduino ngirim pulsa pemicu singkat menyang pin TRIG, banjur maca pulsa bali saka pin ECHO.
| Pin HC-SR04 | Sambungan Arduino | Fungsi |
| VCC | 5V | Sumber daya kanggo modul ultrasonik. |
| TRIG | Pin digital 9 | Input pemicu. Arduino aplikasi pulsa 10us kanggo miwiti kiro-kiro. |
| ECHO | Pin digital 10 | Output gema. Arduino maca lebar pulsa kanggo ngitung jarak. |
| GND | GND | Sambungan lemah. |
HC-SR04 dianggo kanthi pangukuran wektu penerbangan. Arduino ngirim sinyal pemicu tingkat dhuwur paling sethithik 10 mikrodetik menyang pin TRIG. Modul banjur kanthi otomatis ngirim wolung pulsa ultrasonik 40kHz lan ngenteni gema sing dibayangke.
Nalika sinyal ultrasonik sing dibayangke dideteksi, pin ECHO ngasilake pulsa tingkat dhuwur. Durasi pulsa iki yaiku wektu perjalanan bolak-balik gelombang ultrasonik.
Jarak = Echo wektu tingkat dhuwur × Kacepetan swara / 2
Ing kode Arduino, rumus sing disederhanakake umum yaiku:
Jarak ing cm = suwene × 0,0343 / 2
Proses wektu iku prasaja: Arduino tetep TRIG kurang sedhela, ngirim pulsa dhuwur 10us, banjur bali TRIG kanggo kurang. HC-SR04 ngirim bledosan ultrasonik lan nyetel ECHO dhuwur nganti sinyal sing dibayangke bali utawa wektu pangukuran metu.
Kanggo ngindhari wacan sing ora stabil, tinggalake wektu tundha ing antarane pangukuran. Siklus pangukuran udakara 60ms biasane digunakake supaya gema ultrasonik sadurunge duwe wektu ilang sadurunge pemicu sabanjure.
Fungsi Arduino pulseIn () digunakake kanggo ngukur suwene pin digital tetep HIGH utawa RENDAH. Kanggo HC-SR04, Arduino nggunakake pulseIn (echoPin, HIGH) kanggo maca lebar pulsa tingkat dhuwur saka pin ECHO.
| Sintaksis | Tegese |
| pulseIn(pin, nilai) | Maca durasi pulsa HIGH utawa LOW. |
| pulseIn(pin, nilai, wektu entek) | Maca pulsa kanthi nilai wektu entek ing mikrodetik. |
Disaranake nggunakake wektu entek. Yen ora kumandhang bali, fungsi bisa mungkasi nunggu lan bali 0 tinimbang mblokir program kanggo dawa banget.
Wiring kasebut langsung. Sambungake VCC menyang 5V, GND menyang GND, TRIG menyang pin output digital Arduino, lan ECHO menyang pin input digital Arduino. Conto ing ngisor iki nggunakake Arduino Uno, TRIG ing pin 9, lan ECHO ing pin 10.
Program Arduino khas ing ngisor iki ngirim pulsa pemicu 10us, maca lebar pulsa ECHO, ngetung jarak ing sentimeter, lan nyithak asil ing Monitor Serial.
const int trigPin = 9; const int echoPin = 10; wektu dawa; jarak ngambangCm; void setup() {pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); durasi = pulseIn(echoPin, HIGH, 30000); yen (durasi == 0) {Serial.println('Saka jangkauan'); } liya { distanceCm = durasi * 0,0343 / 2; Serial.print('Jarak: '); Serial.print(jarakCm); Serial.println('cm'); } tundha (60); }
Yen sampeyan ndeleng nilai jarak ing Monitor Serial, sensor ultrasonik HC-SR04 lan kabel Arduino bisa digunakake kanthi bener. Sampeyan banjur bisa nggunakake data jarak kanggo deteksi alangan, kontrol gerakan robot, lawang otomatis, pangeling parkir, utawa proyek tingkat cair.
Tansah obyek sing diukur ing jarak sing disaranake lan ing njaba zona buta 2cm.
Gunakake permukaan target sing rata lan padhet kanggo refleksi ultrasonik sing luwih apik.
Aja ngukur bahan alus, sudut, keropos, utawa nyerep swara.
Gunakake sumber daya 5V stabil lan tetep kabel cendhak lan aman.
Tambah wektu entek kanggo pulseIn () kanggo nyegah pamblokiran dawa nalika ora kumandhang bali.
Rata-rata utawa median-filter sawetara wacan kanggo nyuda gangguan.
Kanggo akurasi sing luwih dhuwur, ganti rugi suhu amarga kacepetan swara owah-owahan karo suhu udhara.
| Aplikasi | Carane HC-SR04 Digunakake |
| Robot panyingkiran alangan | Ndeteksi obyek sing cedhak lan mbantu robot ngganti arah. |
| Sensor jarak parkir | Ngukur jarak antarane kendaraan lan alangan. |
| Deteksi tingkat cairan | Ngukur jarak saka sensor menyang permukaan cair tanpa kontak. |
| Tong sampah pinter | Ndeteksi tangan utawa obyek sing cedhak lan micu bukaan tutup otomatis. |
Kanggo nggunakake sensor ultrasonik HC-SR04 karo Arduino, sambungake VCC menyang 5V, GND menyang GND, TRIG menyang pin output digital, lan ECHO menyang pin input digital. Kirimi pulsa pemicu 10us, maca durasi gema karo pulseIn (), lan ngetung jarak karo rumus wektu-saka-pesawat.
HC-SR04 murah, gampang digunakake, lan cocok kanggo akeh proyek pangukuran jarak Arduino. Kanggo asil paling apik, mbayar manungsa waé kanggo lumahing target, amba ngukur, zona wuta, daya stabil, wektu entek penanganan, lan efek suhu.
Arduino ngirim pulsa 10us menyang pin TRIG. HC-SR04 ngetokake wolung pulsa ultrasonik 40kHz lan nyetel pin ECHO dhuwur nganti swara sing dibayangke bali. Arduino ngukur wektu pulsa iki lan ngitung jarak.
Rumus kasebut yaiku jarak = durasi × kacepetan swara / 2. Ing sentimeter, rumus Arduino sing umum yaiku jarakCm = durasi × 0,0343 / 2, ing ngendi durasi diukur ing mikrodetik.
Wektu gema sing diukur yaiku wektu puteran saka sensor menyang obyek lan bali menyang sensor. Dibagi kanthi 2 menehi jarak siji arah antarane sensor lan obyek.
Sampeyan bisa nggunakake paling Arduino pin digital. Ing akeh conto, TRIG disambungake menyang pin digital 9 lan ECHO disambungake menyang pin digital 10. Kode kudu cocog pin digunakake ing wiring Panjenengan.
Panyebab umum kalebu kabel kenthel, daya 5V sing ora stabil, nomer PIN TRIG utawa ECHO sing salah, ora ana obyek ing jarak, permukaan target sudut, bahan alus, kepala sensor sing diblokir, utawa ora ana wektu entek ing fungsi pulseIn ().
Zona wuta minangka jarak minimal ing ngendi modul ora bisa ngukur kanthi andal. Kanggo HC-SR04, zona wuta biasane udakara 2cm. Obyek sing luwih cedhak saka iki bisa ngasilake bacaan sing ora stabil.
Ya, HC-SR04 bisa digunakake kanggo proyek tingkat banyu non-kontak sing prasaja yen sensor dilindhungi saka kelembapan lan dipasang ing ndhuwur permukaan cairan. Kanggo tank lembab, ruangan ruangan, utawa industri, sensor ultrasonik anti banyu dianjurake.
Gunakake sumber daya stabil, tetep sensor jejeg target, ngindhari lumahing alus utawa sudhut, nambah pulseIn wektu entek, njupuk kaping maca, nggunakake median nyaring, lan ngidini watara 60ms antarane pangukuran.