दृश्य: 164 लेखक: ग्रेस प्रकाशन समय: 2021-07-26 उत्पत्ति: साइट
HC-SR04 अल्ट्रासोनिक सेंसर Arduino परियोजनाओं के लिए सबसे लोकप्रिय दूरी माप मॉड्यूल में से एक है। इसका व्यापक रूप से बाधा निवारण रोबोट, पार्किंग सेंसर, स्तर का पता लगाने, स्मार्ट कचरा डिब्बे, दूरी मीटर और अन्य गैर-संपर्क सेंसिंग अनुप्रयोगों में उपयोग किया जाता है।
मॉड्यूल एक ट्रांसमीटर के माध्यम से 40kHz अल्ट्रासोनिक तरंगों का उत्सर्जन करता है। जब ध्वनि तरंग किसी वस्तु से मिलती है, तो यह वापस रिसीवर तक परावर्तित हो जाती है। प्रतिध्वनि समय को मापकर और ध्वनि की गति का उपयोग करके, Arduino सेंसर और ऑब्जेक्ट के बीच की दूरी की गणना कर सकता है।
| पैरामीटर | कीमत |
| विशिष्ट कार्यशील वोल्टेज | 5 वी डीसी |
| स्थैतिक कार्यशील धारा | कुछ मॉड्यूल संस्करणों पर 5mA से कम |
| परिचालन आवृत्ति | 40kHz अल्ट्रासोनिक तरंग |
| पता लगाने की दूरी | सामान्य सीमा: 2 सेमी से 400 सेमी; कुछ लाभ-समायोजित संस्करण लंबी दूरी का समर्थन कर सकते हैं। |
| पता लगाने का कोण | आमतौर पर 15 डिग्री के भीतर; अधिक लाभ वाले कुछ संस्करण लगभग 30 डिग्री तक पहुँच सकते हैं। |
| शुद्धता | उपयुक्त परीक्षण स्थितियों के तहत लगभग 0.3 सेमी तक |
| अंधा क्षेत्र | लगभग 2 सेमी न्यूनतम मापने की दूरी |
HC-SR04 अल्ट्रासोनिक मॉड्यूल में चार पिन हैं: VCC, TRIG, ECHO और GND। Arduino TRIG पिन पर एक छोटा ट्रिगर पल्स भेजता है, फिर ECHO पिन से रिटर्न पल्स पढ़ता है।
| HC-SR04 पिन | अरुडिनो कनेक्शन | समारोह |
| वी.सी.सी | 5V | अल्ट्रासोनिक मॉड्यूल के लिए बिजली की आपूर्ति। |
| ट्रिग | डिजिटल पिन 9 | ट्रिगर इनपुट. Arduino रेंजिंग शुरू करने के लिए 10us पल्स लागू करता है। |
| गूंज | डिजिटल पिन 10 | इको आउटपुट. दूरी की गणना करने के लिए Arduino पल्स चौड़ाई पढ़ता है। |
| जी.एन.डी | जी.एन.डी | जमीनी कनेक्शन। |
HC-SR04 उड़ान के समय माप द्वारा काम करता है। Arduino TRIG पिन को कम से कम 10 माइक्रोसेकंड का उच्च-स्तरीय ट्रिगर सिग्नल भेजता है। फिर मॉड्यूल स्वचालित रूप से आठ 40kHz अल्ट्रासोनिक पल्स भेजता है और परावर्तित प्रतिध्वनि की प्रतीक्षा करता है।
जब परावर्तित अल्ट्रासोनिक सिग्नल का पता लगाया जाता है, तो ईसीएचओ पिन एक उच्च-स्तरीय पल्स आउटपुट करता है। इस पल्स की अवधि अल्ट्रासोनिक तरंग की राउंड-ट्रिप यात्रा का समय है।
दूरी = प्रतिध्वनि उच्च-स्तरीय समय × ध्वनि की गति / 2
Arduino कोड में, सामान्य सरलीकृत सूत्र है:
सेमी में दूरी = अवधि × 0.0343/2
समय निर्धारण प्रक्रिया सरल है: Arduino थोड़े समय के लिए TRIG को कम रखता है, 10us उच्च पल्स भेजता है, फिर TRIG को निम्न पर लौटाता है। एचसी-एसआर04 एक अल्ट्रासोनिक बर्स्ट भेजता है और परावर्तित सिग्नल वापस आने या माप समय समाप्त होने तक ईसीएचओ को उच्च सेट करता है।
अस्थिर रीडिंग से बचने के लिए, माप के बीच थोड़ी देर रखें। लगभग 60 एमएस का माप चक्र आमतौर पर उपयोग किया जाता है ताकि पिछली अल्ट्रासोनिक प्रतिध्वनि को अगले ट्रिगर से पहले गायब होने का समय मिल सके।
Arduino पल्सइन () फ़ंक्शन का उपयोग यह मापने के लिए किया जाता है कि डिजिटल पिन कितनी देर तक उच्च या निम्न रहता है। HC-SR04 के लिए, Arduino पल्सइन (इकोपिन, हाई) का उपयोग करता है। ECHO पिन से उच्च-स्तरीय पल्स चौड़ाई को पढ़ने के लिए
| सिंटेक्स | अर्थ |
| पल्सइन (पिन, मान) | उच्च या निम्न पल्स की अवधि पढ़ता है। |
| पल्सइन (पिन, मान, टाइमआउट) | माइक्रोसेकंड में टाइमआउट मान के साथ पल्स को पढ़ता है। |
टाइमआउट का उपयोग करने की अनुशंसा की जाती है. यदि कोई प्रतिध्वनि नहीं लौटाई जाती है, तो फ़ंक्शन प्रतीक्षा करना बंद कर सकता है और प्रोग्राम को बहुत लंबे समय तक अवरुद्ध करने के बजाय 0 लौटा सकता है।
वायरिंग सीधी है. VCC को 5V से, GND को GND से, TRIG को Arduino डिजिटल आउटपुट पिन से और ECHO को Arduino डिजिटल इनपुट पिन से कनेक्ट करें। निम्नलिखित उदाहरण पिन 9 पर Arduino Uno, TRIG और पिन 10 पर ECHO का उपयोग करता है।
निम्नलिखित विशिष्ट Arduino प्रोग्राम 10us ट्रिगर पल्स भेजता है, ECHO पल्स चौड़ाई पढ़ता है, सेंटीमीटर में दूरी की गणना करता है, और परिणाम को सीरियल मॉनिटर में प्रिंट करता है।
स्थिरांक int trigPin = 9; स्थिरांक पूर्णांक इकोपिन = 10; लंबी अवधि; फ्लोट दूरी सेमी; शून्य सेटअप() {पिनमोड(ट्रिगपिन, आउटपुट); पिनमोड (इकोपिन, इनपुट); सीरियल.शुरू(9600); } शून्य लूप() { डिजिटलवाइट(ट्रिगपिन, LOW); विलंबमाइक्रोसेकंड(2); डिजिटलराइट(ट्रिगपिन, हाई); विलंबमाइक्रोसेकंड(10); डिजिटलराइट(ट्रिगपिन, लो); अवधि = पल्सइन (इकोपिन, हाई, 30000); यदि (अवधि == 0) {Serial.println('सीमा से बाहर'); } अन्यथा { दूरी सेमी = अवधि * 0.0343/2; सीरियल.प्रिंट('दूरी: '); सीरियल.प्रिंट (दूरी सेमी); सीरियल.प्रिंटएलएन(' सेमी'); } देरी(60); }
यदि आप सीरियल मॉनिटर में दूरी मान देखते हैं, तो HC-SR04 अल्ट्रासोनिक सेंसर और Arduino वायरिंग सही ढंग से काम कर रहे हैं। फिर आप बाधा का पता लगाने, रोबोट आंदोलन नियंत्रण, स्वचालित दरवाजे, पार्किंग अनुस्मारक, या तरल स्तर परियोजनाओं के लिए दूरी डेटा का उपयोग कर सकते हैं।
मापी गई वस्तु को अनुशंसित दूरी सीमा के भीतर और 2 सेमी अंधे क्षेत्र के बाहर रखें।
बेहतर अल्ट्रासोनिक प्रतिबिंब के लिए एक सपाट और ठोस लक्ष्य सतह का उपयोग करें।
नरम, कोणीय, छिद्रपूर्ण या ध्वनि-अवशोषित सामग्री को मापने से बचें।
स्थिर 5V बिजली आपूर्ति का उपयोग करें और तारों को छोटा और सुरक्षित रखें।
जब कोई इको वापस न आए तो लंबी रुकावट को रोकने के लिए पल्सइन() में एक टाइमआउट जोड़ें।
शोर को कम करने के लिए कई रीडिंग को औसत या मध्य-फ़िल्टर करें।
उच्च सटीकता के लिए, तापमान की भरपाई करें क्योंकि ध्वनि की गति हवा के तापमान के साथ बदलती है।
| आवेदन | HC-SR04 का उपयोग कैसे किया जाता है |
| बाधा निवारण रोबोट | आस-पास की वस्तुओं का पता लगाता है और रोबोट को दिशा बदलने में मदद करता है। |
| पार्किंग दूरी सेंसर | वाहन और बाधा के बीच की दूरी मापता है। |
| तरल स्तर का पता लगाना | सेंसर से संपर्क के बिना तरल सतह तक की दूरी को मापता है। |
| स्मार्ट कचरा बिन | पास के हाथ या वस्तु का पता लगाता है और स्वचालित ढक्कन खोलने को ट्रिगर करता है। |
Arduino के साथ HC-SR04 अल्ट्रासोनिक सेंसर का उपयोग करने के लिए, VCC को 5V, GND को GND, TRIG को डिजिटल आउटपुट पिन और ECHO को डिजिटल इनपुट पिन से कनेक्ट करें। 10us ट्रिगर पल्स भेजें, पल्सइन () के साथ इको अवधि पढ़ें, और उड़ान के समय सूत्र के साथ दूरी की गणना करें।
HC-SR04 सस्ता, उपयोग में आसान और कई Arduino दूरी माप परियोजनाओं के लिए उपयुक्त है। सर्वोत्तम परिणामों के लिए, लक्ष्य सतह, मापने के कोण, ब्लाइंड ज़ोन, स्थिर शक्ति, टाइमआउट हैंडलिंग और तापमान प्रभावों पर ध्यान दें।
Arduino TRIG पिन पर 10us पल्स भेजता है। HC-SR04 आठ 40kHz अल्ट्रासोनिक पल्स उत्सर्जित करता है और परावर्तित ध्वनि वापस आने तक ECHO पिन को ऊंचा सेट करता है। Arduino इस पल्स समय को मापता है और दूरी की गणना करता है।
सूत्र दूरी = अवधि × ध्वनि की गति / 2 है। सेंटीमीटर में, एक सामान्य Arduino सूत्र दूरी सेमी = अवधि × 0.0343 / 2 है, जहां अवधि माइक्रोसेकंड में मापी जाती है।
मापा गया इको समय सेंसर से ऑब्जेक्ट तक और वापस सेंसर तक राउंड-ट्रिप का समय है। 2 से विभाजित करने पर सेंसर और ऑब्जेक्ट के बीच एक-तरफ़ा दूरी मिलती है।
आप अधिकांश Arduino डिजिटल पिन का उपयोग कर सकते हैं। कई उदाहरणों में, TRIG डिजिटल पिन 9 से जुड़ा है और ECHO डिजिटल पिन 10 से जुड़ा है। कोड को आपके वायरिंग में उपयोग किए गए पिन से मेल खाना चाहिए।
सामान्य कारणों में ढीली वायरिंग, अस्थिर 5V पावर, गलत TRIG या ECHO पिन नंबर, रेंज में कोई वस्तु नहीं, कोणीय लक्ष्य सतह, नरम सामग्री, अवरुद्ध सेंसर हेड, या पल्सइन () फ़ंक्शन में कोई टाइमआउट नहीं होना शामिल है।
ब्लाइंड जोन वह न्यूनतम दूरी है जहां मॉड्यूल विश्वसनीय रूप से माप नहीं सकता है। HC-SR04 के लिए, ब्लाइंड ज़ोन आमतौर पर लगभग 2 सेमी होता है। इससे अधिक निकट की वस्तुएं अस्थिर रीडिंग उत्पन्न कर सकती हैं।
हाँ, HC-SR04 का उपयोग सरल गैर-संपर्क जल स्तर परियोजनाओं के लिए किया जा सकता है यदि सेंसर नमी से सुरक्षित है और तरल सतह के ऊपर लगा हुआ है। आर्द्र, बाहरी या औद्योगिक टैंकों के लिए, वाटरप्रूफ अल्ट्रासोनिक सेंसर की सिफारिश की जाती है।
एक स्थिर बिजली आपूर्ति का उपयोग करें, सेंसर को लक्ष्य के लंबवत रखें, नरम या कोणीय सतहों से बचें, टाइमआउट में पल्स जोड़ें, एकाधिक रीडिंग लें, माध्य फ़िल्टरिंग का उपयोग करें, और माप के बीच लगभग 60ms की अनुमति दें।