HC-SR04 ultrasonic sensor
HC-SR04 का पिनआउट, echo के समय से दूरी कैसे निकलती है, ESP32 और Pico पर ज़रूरी 1 kΩ / 2 kΩ डिवाइडर, और 0 cm या उलटी-सीधी रीडिंग का हल।
सामुदायिक ड्राफ़्ट — गलती बताएं
3.3 V or 5 V? पुराने (classic) HC-SR04 को 5 V चाहिए और इसका ECHO पिन 5 V निकालता है। 3.3 V बोर्ड (ESP32, Pico) पर ECHO को 1 kΩ / 2 kΩ डिवाइडर से होकर ले जाएँ। TRIG के लिए 3.3 V का सिग्नल काफ़ी है।
HC-SR04 40 kHz की अल्ट्रासोनिक आवाज़ छोड़ता है और नापता है कि echo लौटने में कितना समय लगा। दूरी = echo का समय × 0.0343 cm/µs ÷ 2 (जाना और लौटना)। अच्छी हालत में यह 2 cm से लगभग 4 m तक, करीब 3 mm की बारीकी से पढ़ता है।
कोई लाइब्रेरी नहीं चाहिए: TRIG को 10 µs के लिए HIGH करें, फिर pulseIn() से ECHO पल्स का समय नापें। दो रीडिंग के बीच कम से कम 60 ms रुकें ताकि पुरानी echo ख़त्म हो जाए।
पानी की टंकी के लिए खुले बोर्ड वाला HC-SR04 नमी में जंग खा जाता है। वॉटरप्रूफ़ JSN-SR04T लगाएँ (वही TRIG/ECHO लॉजिक, एक सील्ड ट्रांसड्यूसर, कम से कम लगभग 20 cm रेंज) और इसे फ़ुल लाइन से काफ़ी ऊपर लगाएँ। पूरा प्रोजेक्ट: पानी की टंकी अलार्म।
पिनआउट
| Pin | What it does |
|---|---|
VCC | 5 V सप्लाई (लगभग 15 mA) |
Trig | इनपुट — 10 µs का HIGH पल्स एक माप शुरू करता है |
Echo | आउटपुट — जितनी देर आवाज़ को लौटने में लगी, उतनी देर HIGH रहता है। classic मॉड्यूल पर 5 V लेवल। |
GND | ग्राउंड, बोर्ड के GND से जुड़ा |
आम एरर
हमेशा 0 cm दिखाता है
timeout से पहले कोई echo नहीं आया। देखें TRIG/ECHO आपस में उलटे तो नहीं लगे, सेंसर को 5 V मिल रहा है (3.3 V नहीं), और ट्रांसड्यूसर के सामने कुछ रुकावट तो नहीं।
रीडिंग अचानक उछलती है या दूरी गलत आती है
नरम सतहें (कपड़ा, फ़ोम) आवाज़ सोख लेती हैं और तिरछी सतहें उसे दूसरी तरफ़ मोड़ देती हैं। 5 रीडिंग का median लें और टारगेट सपाट व सेंसर के सामने रखें।
Uno पर चलता है, ESP32 पर नहीं
5 V वाले ECHO पल्स को ESP32 पिन तक पहुँचने से पहले डिवाइडर चाहिए, और मॉड्यूल के VCC को फिर भी 5 V चाहिए — classic HC-SR04 के लिए 3.3 V काफ़ी नहीं है।