इन्फ्रारेड लेजर रेंजफाइंडर। रोबोट सेंस: शार्प GP2Y0A21YK IR डिस्टेंस सेंसर शार्प IR डिस्टेंस सेंसर स्पेसिफिकेशन

एक इन्फ्रारेड लेजर रेंजफाइंडर मानव आंखों के लिए अदृश्य सीमा में ऊर्जा उत्सर्जित करता है। यह अमेरिकी खाद्य एवं औषधि प्रशासन, 21 सीएफआर 1040.10-11 द्वारा आवश्यक क्लास 1 लेजर डिवाइस है। एफडीए लेजर कंप्लायंस मार्क सीएमएस वायरलेस चेसिस पर चिपका हुआ है। यह अंकन मॉडल, सीरियल नंबर और निर्माण की तारीख को भी इंगित करता है।

कक्षा 1 में लेज़र शामिल हैं, जो सामान्य परिचालन स्थितियों के तहत किसी व्यक्ति को नुकसान नहीं पहुंचा सकते। सामान्य इंस्टालेशन में, कोई व्यक्ति बिना चश्मे के या अपने सामान्य चश्मे से लेजर बीम को देख सकता है (सिस्टम चालू होने पर लेजर बीम को न देखें - मानक सावधानी)।

जब तक नियंत्रक सॉफ्टवेयर में लेजर टेस्ट या स्टार्ट सर्वे कमांड का चयन जारी रहता है, तब तक लेजर उत्तेजित अवस्था में रहता है। जब लेज़र उत्तेजित अवस्था में होता है, तो दूरियाँ और अन्य डेटा नियंत्रक स्क्रीन पर प्रदर्शित होते हैं।

नियंत्रक बॉक्स में स्थित नियंत्रण कक्ष पर लाल एलईडी सिस्टम चालू होने पर लगातार जलती रहती है, चाहे लेजर सक्रिय हो या नहीं।

लेज़र स्कैनिंग हेड में एक लेज़र रेंज फाइंडर और एक कैप्चर यूनिट शामिल है (चित्र 7.2, चित्र 7.3)।

चित्र 7.2 - स्कैनिंग हेड

चित्र 7.3 - लेज़र स्कैनिंग हेड का बाहरी दृश्य

चित्र 7.4 - भूमिगत स्थितियों में वीआईपी स्थापना

चित्र 7.5 - भूमिगत स्थितियों में छड़ों और मस्तूलों की स्थापना

चित्र 7.6 - भूमिगत स्थितियों में स्कैनर को गुहा में प्रवेश करना

तालिका 33 - विशिष्टताएँ

लेज़र स्कैनिंग हेड
20% प्रतिबिंब के साथ लक्ष्य माप सीमा 350 मी
माप सीमा सफेद दीवार तक 650 मी
घूर्णन कोण सीमा 0 - 360º
झुकाव सीमा 0 - 145º
रैखिक माप सटीकता -ऑपरेटिंग तापमान रेंज में +2 सेमी
संकल्प 1 सेमी
कोणीय माप सटीकता -+ 0.3º
अधिकतम घूर्णन गति 21º/से
वेवलेंथ 905 एनएम (इन्फ्रारेड), 635 एनएम (ऑप्टिकल)।
लेज़र किरण का विक्षेपण 5 शरद
पढ़ने की अधिकतम संख्या 100,000 (प्रति शूट)
आधार संरचना
सामग्री सीएफआरपी, उच्च घनत्व पॉलीथीन डॉकिंग स्टेशन, स्टेनलेस स्टील क्लैंप।
रॉड की लंबाई 2-9 मीटर, समायोज्य
रॉड अनुभागों की संख्या 5 शंक्वाकार प्रत्येक 2 मी
मस्तूल समर्थन की लंबाई (2 पीसी) 2-5 मीटर, समायोज्य
मस्तूल एक्सटेंशन की संख्या 5 (विभिन्न लंबाई)
पावर (बाहरी बैटरी)
वोल्टेज रेटेड 24 वी
क्षमता 7.2 आह, नाममात्र 24 वी
बिजली की खपत 2.5 ए, नाममात्र 24 वी
बाहरी स्थितियाँ
वर्किंग टेम्परेचर दूरी मीटर (-10º से +50º), सूचक (0º से 40º)
भंडारण तापमान -20 से +50º तक
हवा मैं नमी 0 से 95% गैर-संघनक
DIMENSIONS
बिजली की आपूर्ति (मिमी) 270 * 247 * 175
वजन (किग्रा 8.3
मस्तूल (मिमी) 2290*230*250
रॉड अनुभाग (मिमी) 1930*200*250
वजन (किग्रा 44.5
नेत्र सुरक्षा
सूचक ग्रेड 2
रेंजफाइंडर 1 वर्ग
वर्टिकल इंसर्शन डिवाइस (वीआईपी)
अवयव 25 एल्यूमीनियम छड़ें (प्रत्येक लगभग 1.5 मीटर)
1 स्कैन हेड एडाप्टर
2 सेंटिंग स्प्रिंग सिस्टम
1 कनेक्टिंग केबल, लगभग 41 मीटर

सीएमएस सर्वेक्षण का उपयोग उन मामलों में किया जाता है जहां मानव पहुंच खतरनाक है और दृश्य नियंत्रण संभव नहीं है। सर्वेक्षण समन्वय प्रणाली से जुड़ी रिक्तियों की बिल्कुल सटीक स्थिति प्रदान करता है, जो बदले में इन रिक्तियों के आगे के उपयोग या पुनर्भुगतान को तर्कसंगत, सटीक और सही ढंग से डिजाइन करना संभव बनाता है।

इन्फ्रारेड रेंजफाइंडर आपको वस्तुओं से दूरी निर्धारित करने की अनुमति देता है। यह शार्प का मॉडल GP2Y0A021 है। सेंसर इन्फ्रारेड स्पेक्ट्रम में प्रकाश की परावर्तित किरण द्वारा दूरी निर्धारित करता है। रेंजफाइंडर का उपयोग बाधाओं से बचने और इलाके को नेविगेट करने के लिए किया जा सकता है।

आउटपुट एक एनालॉग सिग्नल है, जिसका वोल्टेज स्तर निर्धारित दिशा में लक्ष्य की दूरी पर निर्भर करता है।

सेंसर 3 तारों के माध्यम से नियंत्रण इलेक्ट्रॉनिक्स से जुड़ा हुआ है। Arduino से कनेक्ट होने पर, ट्रॉयका शील्ड का उपयोग करना बेहद सुविधाजनक होगा। कनेक्शन के लिए केबल पैकेज में शामिल है।

ध्यान!इस सेंसर का पावर पिनआउट भिन्न हो सकता है। मॉड्यूल चालू करने से पहले, DFRobot मॉड्यूल को जोड़ने की सुविधाओं से खुद को परिचित करें।

रेंजफाइंडर को कहीं भी सुरक्षित रूप से स्थापित करने के लिए एक विशेष माउंट है।

विशेषताएँ

  • आपूर्ति वोल्टेज: 4.5-5.5 वी
  • वर्तमान खपत: 30-40 एमए
  • दूरी सीमा: 10 सेमी - 80 सेमी

प्रतिबंध

चूंकि उपकरण प्रकाश पर आधारित है, सेंसर प्रकाश-अवशोषित वस्तुओं की दूरी निर्धारित करने के लिए उपयुक्त नहीं है। रेंजफाइंडर को प्लास्टिक या प्लेक्सीग्लास जैसी पारदर्शी सतह भी महसूस नहीं होगी। ऐसे वातावरण में दूरियां निर्धारित करने के लिए URM37 या HC-SR04 अल्ट्रासोनिक रेंजफाइंडर उपयुक्त है।

इस इन्फ्रारेड रेंजफाइंडर के सामने एक छोटा मृत क्षेत्र है: 10 सेमी। यदि आपको कम दूरी पर बाधाओं पर विचार करने की आवश्यकता है, और सीमा दूरी इतनी महत्वपूर्ण नहीं है, तो एक ही पंक्ति की 4-30 सेमी की दूरी के लिए एक रेंजफाइंडर पर विचार करें। यदि आपके उपकरण को दूर तक देखने की आवश्यकता है, तो 20-150 सेमी की दूरी के लिए रेंजफाइंडर की तलाश करें। आप विभिन्न रेंज वाले सेंसर को जोड़कर अधिक लचीलापन प्राप्त कर सकते हैं।

शार्प GP2Y0A इन्फ्रारेड डिस्टेंस सेंसर विभिन्न Arduino-आधारित परियोजनाओं के लिए एक लोकप्रिय विकल्प है जिनके लिए सटीक दूरी माप की आवश्यकता होती है।

शार्प सेंसर में एक लेंस के साथ एक इन्फ्रारेड (आईआर) प्रकाश उत्सर्जक डायोड (एलईडी) होता है जो प्रकाश की एक संकीर्ण किरण उत्सर्जित करता है। वस्तु से परावर्तित किरण को दूसरे लेंस के माध्यम से स्थिति-संवेदनशील फोटोकेल (स्थिति-संवेदनशील डिटेक्टर, PSD) तक निर्देशित किया जाता है। PSD पर किरण घटना का स्थान इसकी चालकता निर्धारित करता है। चालकता को वोल्टेज में परिवर्तित किया जाता है और, उदाहरण के लिए, इसे माइक्रोकंट्रोलर एनालॉग-टू-डिजिटल कनवर्टर के साथ डिजिटलीकृत करके, आप दूरी की गणना कर सकते हैं।

तीव्र अवरक्त दूरी सेंसर का आउटपुट व्युत्क्रमानुपाती होता है - जैसे-जैसे दूरी बढ़ती है, इसका मूल्य धीरे-धीरे कम होता जाता है। दूरी और वोल्टेज के बीच संबंध के ग्राफ का दृश्य।

सेंसर, उनके प्रकार के आधार पर, माप सीमा रखते हैं जिसके भीतर उनके आउटपुट को विश्वसनीय माना जा सकता है। अधिकतम वास्तविक दूरी की माप दो कारकों द्वारा सीमित है: परावर्तित प्रकाश की तीव्रता में कमी और छवि किरण के स्थान में छोटे परिवर्तन दर्ज करने में PSD की असमर्थता। सामान्य तौर पर, दूरी और वोल्टेज के बीच का प्लॉट रैखिक नहीं होता है, लेकिन स्वीकार्य दूरी के भीतर, आउटपुट वोल्टेज और दूरी के व्युत्क्रम का प्लॉट रैखिकता के इतना करीब होता है कि वोल्टेज को दूरी में परिवर्तित करने के लिए एक सूत्र प्राप्त करना काफी आसान होता है। ऐसा सूत्र खोजने के लिए, इस ग्राफ़ के बिंदुओं को किसी सारणीबद्ध डेटा प्रोसेसिंग प्रोग्राम में दर्ज करना और उनसे एक नया ग्राफ़ बनाना आवश्यक है। एक सारणीबद्ध डेटा प्रोसेसिंग प्रोग्राम में, ग्राफ़ के बिंदुओं के आधार पर एक प्रवृत्ति रेखा की स्वचालित रूप से गणना करना संभव है। उदाहरण के लिए, GP2Y0A021YK0F सेंसर के लिए:


तीव्र इन्फ्रारेड रेंजफाइंडर विशिष्टताएँ

ऑपरेटिंग वोल्टेज: 4.5 - 5.5 वी; अधिकतम वर्तमान खपत: 40 एमए (सामान्य - 30 एमए); आउटपुट सिग्नल प्रकार: एनालॉग; दूरी पहचान सीमा से अधिक विभेदक वोल्टेज: 2.0V; प्रतिक्रिया समय: 38 ± 10 एमएस ऑपरेटिंग रेंज: सेंसर GP2Y0A41SK0F: 4 - 30 सेमी; सेंसर GP2Y0A021YK0F: 10 सेमी - 80 सेमी; सेंसर GP2Y0A02YK0F: 20 सेमी - 150 सेमी;

उपयोग उदाहरण

आइए स्टोर आगंतुकों की गिनती का एक उदाहरण बनाएं। आइए समस्या को सरल बनाएं, यह मानते हुए कि प्रवेश द्वार एक संकीर्ण दरवाजे के माध्यम से है, और प्रवेश और निकास के लिए अलग-अलग दरवाजे हैं। प्रवेश द्वार पर, हम शार्प GP2Y0A21YK0F इन्फ्रारेड रेंज फाइंडर (20-150 सेमी) लगाते हैं ताकि जब कोई व्यक्ति गुजरे, तो रीडिंग 10 - 50 सेमी हो, लोगों की अनुपस्थिति में 80 सेमी। जब किसी आगंतुक का पता चलता है, तो हम रीडिंग बढ़ा देते हैं आगंतुकों की गिनती के लिए काउंटर। हम नोकिया 5110 ग्राफिक डिस्प्ले पर डेटा प्रदर्शित करते हैं। सेंसर से जानकारी प्रदर्शित करने के लिए, हम नोकिया 5110 एलसीडी का उपयोग करेंगे। यह 84 × 48 पिक्सल के रिज़ॉल्यूशन वाला एक मोनोक्रोम ग्राफिक डिस्प्ले है। नोकिया 5110 डिस्प्ले PCD8544 नियंत्रक और एक पिन हेडर के साथ जोड़े गए बोर्ड पर आता है। डिस्प्ले की बिजली खपत इसे Arduino बोर्ड के +3.3 V आउटपुट से संचालित करने की अनुमति देती है।

परियोजना के लिए, हमें निम्नलिखित विवरणों की आवश्यकता है:
Arduino uno बोर्ड
ब्रेडबोर्ड (ब्रेडबोर्ड आधा)
अवरक्त दूरी सेंसर तेज GP2Y0A21YK0F
नोकिया 5110 डिस्प्ले
जोड़ने वाले तार
आइए चित्र में दिखाए गए सर्किट को इकट्ठा करें।

आइए Arduino IDE प्रारंभ करें। आइए एक नया स्केच बनाएं और इसमें निम्नलिखित सामग्री जोड़ें: //इन्फ्रारेड डिस्टेंस सेंसर //वेबसाइट // नोकिया डिस्प्ले के साथ काम करने के लिए लाइब्रेरीज़ को कनेक्ट करना #include #include // Nokia 5110 // पिन 3 - सीरियल क्लॉक आउट (SCLK) // पिन 4 - सीरियल डेटा आउट (डीआईएन) // पिन 5 - डेटा/कमांड सेलेक्ट (डी/सी) // पिन 6 - एलसीडी चिप सेलेक्ट (सीएस) // पिन 7 - एलसीडी रीसेट (आरएसटी) एडफ्रूट_पीसीडी8544 डिस्प्ले = एडफ्रूट_पीसीडी8544 (3, 4 , 5, 6, 7); // सेंसर के वीओ आउटपुट को जोड़ने के लिए एनालॉग पिन const int IRpin = A0; // चर int value1; // लंबे समय तक हस्ताक्षरित आगंतुकों के अनुरूप मूल्य को संग्रहीत करने के लिए; // पारगमन समय int count_visitors=0; // विज़िटर काउंट वेरिएबल शून्य सेटअप() ( // सीरियल पोर्ट प्रारंभ करें सीरियल.बेगिन(9600); सीरियल.प्रिंटएलएन('स्टार्ट'); // डिस्प्ले इनिशियलाइज़ेशन डिस्प्ले.बेगिन(); // सेट स्क्रीन बैकग्राउंड कंट्रास्ट डिस्प्ले.सेटकॉन्ट्रास्ट (60) .प्रिंट ("विज़िटर: 0"); डिस्प्ले.डिस्प्ले(); विलंब(2000); ) शून्य लूप() ( // स्मूथ वैल्यू प्राप्त करें और वोल्टेज वैल्यू1=आईआररीड() में कनवर्ट करें; यदि(वैल्यू1>50) / / मार्ग को ठीक करें ( timevisitors=millis(); while(irRead()>50) ; if(millis()-timevisitors>300) // > न्यूनतम पारगमन समय (Serial.println("passage!!!"); count_visitors =count_visitors+1 ; // काउंटर बढ़ाएँ // सीरियल पोर्ट मॉनिटर पर प्रिंट करें Serial.print('count_visitors='); Serial.println(count_visitors); // डिस्प्ले पर प्रिंट करें display.clearDisplay(); display.setCursor (5,15); डिस्प्ले .प्रिंट("विज़िटर्स:"); डिस्प्ले.प्रिंट(काउंट_विज़िटर्स); डिस्प्ले.डिस्प्ले(); ) ) विलंब(200); ) // int irRead() को सुचारू करने के लिए कई मानों का औसत ( int औसत = 0; // डेटा के योग के लिए चर // (int i=0; i) के लिए 5 मान प्राप्त करना<5; i++) { value1 = analogRead(IRpin); // значение сенсора переводим в напряжение float volts = analogRead(IRpin)*0.0048828125; // и в расстояние в см int distance=32*pow(volts,-1.10); averaging = averaging + distance; delay(55); // Ожидание 55 ms перед каждым чтением } value1 = averaging / 5; // усреднить значения return(value1); } Работать с сенсорами SHARP очень просто - достаточно подключить к нему питание и завести вывод Vo на аналоговый вход Arduino. Значение получаемой функции analogRead представляет собой целое число от 0 до 1023. Таким образом, чтобы узнать напряжение на выходе сенсора, необходимо значение на аналоговом входе Arduino умножить на 0,0048828125 (5 В / 1024). Расстояние вычисляем по формуле distance=volts*0.0001831-0.003097. При чтении данных, при каждой итерации цикла, иногда приходят разные значения сигнала при одном и том же расстоянии. Датчик передает сигнал на аналоговый порт с некоторой амплитудой и иногда в момент считывания данных значение оказывалось отличным от нормального, потому что итерация приходится на провал. Для сглаживания значений, получаемых с дальномера используем функцию irRead(). Датчик обнаруживает попадание объекта в дверной проем. Далее ожидаем окончания прохода. Если это время больше минимального времени прохода (отсечение взмаха руки, пролет предмета и пр.) инкрементируем счетчик посетителей и выводим данные в последовательный порт и на дисплей. Для работы с дисплеем Nokia 5110 нам понадобятся Arduino библиотеки Adafruit_GFX и Adafruit_PCD8544.

अक्सर पूछे जाने वाले प्रश्न अक्सर पूछे जाने वाले प्रश्न

1. डिस्प्ले पर कोई जानकारी नहीं दिखाई जाती है
  • चित्र 5 में दिए गए चित्र के अनुसार, सभी तारों के सही कनेक्शन की जाँच करें।
2. दूरी सेंसर काम नहीं करता
  • शार्प मॉड्यूल के कनेक्शन की जाँच करें;
  • जांचें कि सीरियल पोर्ट मॉनिटर में सेंसर डिटेक्शन चालू है या नहीं।

इस लेख में, हम SHARP GP2Y0A02YK0F IR दूरी माप सेंसर को जोड़ने और उसके साथ काम करने पर विचार करेंगे।
इसके विपरीत, इस सेंसर की माप सीमा बहुत अधिक मामूली है, लेकिन फिर भी इसमें कई उपयोगी विशिष्ट गुण हैं। उदाहरण के लिए, यह सेंसर आपको पारदर्शी सतहों के माध्यम से भी दूरी मापने की अनुमति देता है (हालांकि रीडिंग की सटीकता कम हो रही है, लेकिन फिर भी)।

सेंसर कनेक्शन:

जी.एन.डीकिसी भी GND पिन --- arduino पर

बाहर Arduino के किसी भी एनालॉग इनपुट के लिए (उदाहरणों में A0 से जुड़ा हुआ)

वी.सी.सी Arduino पर +5 वोल्ट पर

मुख्य तकनीकी विशेषताएँ:

दूरी माप सीमा: 20 से 150 सेमी

अनुरूप उत्पादन

आयाम: 29.5x13x21.6 मिमी

वर्तमान खपत: 33mA

आपूर्ति वोल्टेज: 4.5 से 5.5 वी

इसे अनपैक किया जाना चाहिए और Arduino IDE फ़ोल्डर में "लाइब्रेरीज़" फ़ोल्डर में जोड़ा जाना चाहिए। यदि आपने इसे जोड़ते समय आईडीई खुला था तो पर्यावरण को पुनः आरंभ करना न भूलें।

इस लाइब्रेरी की ख़ासियत क्या है और इसे उपयोग के लिए अनुशंसित क्यों किया गया है? उत्तर सरल है और इसके कार्य के सिद्धांत में निहित है। दूरी मापने के लिए कई मापों का उपयोग किया जाता है, जिनमें से गलत मापों को हटा दिया जाता है, जो पड़ोसी मापों से बहुत भिन्न होते हैं। लेखकों के अनुसार, यदि गलत मापों को खारिज नहीं किया जाता है, तो सभी रीडिंग का 12% अंतिम दूरी मान में 42% त्रुटि का योगदान देता है।

आइए प्रोग्राम कोड पर चलते हैं - एक सेंसर के साथ काम करने का एक उदाहरण (उदाहरण GP2Y0A21Y सेंसर के लिए भी उपयुक्त है, कोड में आपको मॉडल मान को 1080 में बदलने की आवश्यकता होगी):

प्रोग्राम कोड उदाहरण

#शामिल करना #ir A0 को परिभाषित करें //पिन जिससे सेंसर जुड़ा है। निश्चित रूप से एनालॉग!#मॉडल 20150 को परिभाषित करें //सेंसर मॉडल। GP2Y0A21Y के लिए 1080, GP2Y0A02Y के लिए 20150शार्पआईआर शार्पआईआर(आईआर, मॉडल); खालीपन स्थापित करना () { धारावाहिक.शुरू(9600); ) खालीपन कुंडली() (विलंब(2000); अहस्ताक्षरित लंबा पेपे1=मिलिस (); // माप शुरू होने से पहले का समय नोट करें int dis=SharpIR .distance(); // सेंसर से दूरी प्राप्त करें धारावाहिक.प्रिंट('मीन दूरी:'); // पोर्ट मॉनिटर से दूरी प्रिंट करें धारावाहिक.println(dis); अहस्ताक्षरित लंबा pepe2=millis()-pepe1; // माप पर खर्च किए गए समय की गणना करें धारावाहिक.प्रिंट('लिया गया समय (एमएस):'); // और इसे आउटपुट करें धारावाहिक.println(pepe2); )

रेंजफ़ाइंडर

इस पाठ में हम रेंजफाइंडर के बारे में और अधिक जानेंगे।

अल्ट्रासोनिक रेंजफाइंडरकोर्ट-SR04

आज (2016) AliExpress पर इसकी कीमत $1 से अधिक नहीं है।

सेंसर में 4 आउटपुट हैं:

  • Vcc - यह पिन 5V पर संचालित होता है।
  • ट्रिग - अल्ट्रासोनिक तरंग उत्सर्जित करने के लिए रेंजफाइंडर के लिए इस पिन को 10μs तक तार्किक रूप से संचालित किया जाना चाहिए।
  • इको - अल्ट्रासोनिक तरंग वापस आने के बाद, इस संपर्क को वस्तु से दूरी के अनुपातिक समय के लिए एक तार्किक इकाई दी जाएगी
  • Gnd - यह पिन जमीन से जुड़ता है।

अल्ट्रासोनिक रेंजफाइंडर - "बैट" के सिद्धांत पर काम करता है। यह एक अल्ट्रासोनिक तरंग भेजता है और तरंग के वापस लौटने में लगने वाले समय की गणना करता है। ध्वनि की गति और तरंग के लौटने में लगने वाले समय को जानकर, आप वस्तु से दूरी की गणना कर सकते हैं।

इस रेंजफाइंडर की मदद से, हम एक छोटा पार्किंग सेंसर असेंबल करेंगे, जिसे बड़ा करके कार पार्किंग के लिए तैयार डिवाइस के रूप में असेंबल किया जा सकता है। मैं आपको यह भी दिखाऊंगा कि आप अपने उपकरणों को नियंत्रित करने के लिए रेंजफाइंडर का उपयोग कैसे कर सकते हैं।

रेंजफाइंडर

आइए यह समझने के लिए एक सरल सर्किट बनाएं कि रेंजफाइंडर कैसे काम करता है।

कोड

#ईसीएचओ 13 को परिभाषित करें #टीआरआईजी 12 शून्य सेटअप() को परिभाषित करें (पिनमोड(ईसीएचओ, इनपुट); // ईसीएचओ को एक तार्किक इकाई पिनमोड (टीआरआईजी, आउटपुट) पर सेट किया जाना चाहिए; //टीआरआईजी से हम दूरी मान सीरियल.बीगिन पढ़ेंगे (9600) ; //सीरियल पोर्ट से कनेक्शन स्थापित करें) शून्य लूप() ( //ट्रिग हाई और तुरंत कम डिजिटलराइट(टीआरआईजी, हाई); डिजिटलराइट(टीआरआईजी, लो); //आने वाले सिग्नल की लंबाई पढ़ें माइक्रोसेकंड में इंट डिस्ट = पल्सइन (ईसीएचओ, हाई) / 54; // रीडिंग को सेमी में बदलने के लिए 54 से विभाजित करें।

स्पष्टीकरण

पल्सइन(प्रतिध्वनि,उच्च);- इस फ़ंक्शन के साथ, हमने उस समय की गणना की जिसके लिए ECHO पिन हाई पर सेट है। इस समय को माइक्रोसेकंड में माना जाता है.

सामान्य तौर पर, पल्सइन(); इस प्रकार लिखा जा सकता है:

पल्सइन (पिन, मान, टाइमआउट);

नत्थी करना- वह पिन जिस पर समय की गणना की जाएगी.

अर्थ- अपेक्षित सिग्नल स्तर जिस पर गिनती की जाएगी। उच्च या निम्न।

समय समाप्त- माइक्रोसेकंड में समय जिसके दौरान सिग्नल के आने की उम्मीद है। टाइमआउट समाप्त होने के बाद, फ़ंक्शन द्वारा लौटाया गया मान शून्य पर सेट कर दिया जाएगा।

इसलिए, हमने रेंजफाइंडर के संचालन के सिद्धांत का पता लगा लिया। खिलौना कारों के लिए पार्किंग सेंसर बनाने का समय आ गया है।

पार्कट्रोनिक

सर्किट आरेख इस तरह दिखता है:

#ईको 3 को परिभाषित करें // रेंजफाइंडर से सिग्नल प्राप्त करें #टीआरआईजी 2 को परिभाषित करें // रेंजफाइंडर को सिग्नल भेजें #गिनती को परिभाषित करें 5 // एलईडी की संख्या #बज को परिभाषित करें 6 // बजर पिन #पहले 9 को परिभाषित करें // एलईडी का पहला पिन #डिस्ट_सेटअप को परिभाषित करें 1 //ट्यूनिंग कारक #आवृत्ति परिभाषित करें 5000 शून्य सेटअप() (for(int i = 0; i< COUNT; ++i) //Обозначаем светодиоды как выход... { pinMode(i+FIRST, OUTPUT); } pinMode(ECHO, INPUT); //...ECHO как вход... pinMode(TRIG, OUTPUT); //...TRIG как выход... pinMode(BUZZ, OUTPUT); //...пищалку как выход Serial.begin(9600); //Установим соединение с Serial } void loop() { digitalWrite(TRIG, HIGH); //Подаем команду на дальномер digitalWrite(TRIG, LOW); int dist = pulseIn(ECHO, HIGH) / 54; //Измеряем расстояние до объекта dist = constrain(dist, 2, 60); //Полученные значения загоняем в диапазон от 2 до 60 //Сравниваем полученные показания и включаем нужный режим if (dist < 10) { all_led_on(); } else if (dist < 20 * dist_setup) { four_led_on(); } else if (dist < 30 * dist_setup) { three_led_on(); } else if(dist < 40 * dist_setup) { two_led_on(); } else if(dist < 50 * dist_setup) { one_led_on(); } else { for(int i = 0; i < COUNT; ++i) { digitalWrite(i+FIRST, LOW); } noTone(BUZZ); } } // Описание режимов void one_led_on() { digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, HIGH); tone (BUZZ, frequency, 1000); delay(1000); } void two_led_on() { digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, HIGH); digitalWrite(13, HIGH); tone(BUZZ, frequency, 700); delay(700); } void three_led_on() { digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); tone(BUZZ, frequency, 400); delay(400); } void four_led_on() { digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); tone(BUZZ, frequency, 200); delay(200); } void all_led_on() { for(int i = 0; i < COUNT; ++i) { digitalWrite(i+FIRST, HIGH); } tone(BUZZ, frequency, 5000); delay(5000); }

स्पष्टीकरण

पार्किंग सेंसर एलईडी और ध्वनि संकेत से सुसज्जित हैं। जब कोई वस्तु एक निश्चित दूरी के भीतर पहुंचती है, तो अधिक बार बीप सुनाई देती है और अधिक एलईडी जलती हैं।

जिला_ स्थापित करना - यह वह गुणांक है जिसके द्वारा आप पार्किंग सेंसर के संचालन की दूरी को समायोजित कर सकते हैं।

मेरे लिए यह एक के बराबर है. यदि आपको दूरी कम करने की आवश्यकता है, तो आपको गुणांक कम करने की आवश्यकता है, लेकिन तब यह 0.xxx के रूप में होगा। ऐसा करने के लिए, एक फ्लोट प्रकार वैरिएबल पेश किया गया है।

बीप फ्रीक्वेंसी को भी बदला जा सकता है। ऐसा करने के लिए, आपको मान बदलना होगा आवृत्ति . लेकिन यह याद रखना चाहिए कि पीजो उत्सर्जक भयानक चीख़ता है। अत्यंत। और, मुझे ऐसा लगता है कि यह आपको 5 मिनट से अधिक या अधिक समय तक इसका उपयोग करने से हतोत्साहित करेगा।

एक विकल्प के रूप में, उदाहरण के लिए, आवृत्ति को 20 हर्ट्ज तक कम करें या एक नियमित 8 ओम स्पीकर कनेक्ट करें।

पासवर्ड

आइए अब एक गुप्त सिफर बनाने का प्रयास करें जो एलईडी को रोशन करता है। और यदि आप सर्किट में वाल्व के साथ एक सर्वोमोटर शामिल करते हैं, तो आप पासवर्ड के साथ दरवाजे या बॉक्स पर ताला बना सकते हैं।

आरेख पर ध्यान दें.

कोड

//पहला रेंजफाइंडर पिन #TRIG1 12 परिभाषित करें #ECHO1 13 परिभाषित करें //दूसरा रेंजफाइंडर पिन #TRIG2 10 परिभाषित करें #ECHO2 11 परिभाषित करें //एलईडी #पहले 3 परिभाषित करें #COUNT 5 परिभाषित करें //रीसेट बटन #रीसेट 2 परिभाषित करें //पासवर्ड वेरिएबल्स intkey1 ; intkey2; intkey3; शून्य सेटअप() ( //एलईडी को आउटपुट के रूप में डिजाइन करना (int i = 0; i< COUNT; i++) { pinMode(i+FIRST, OUTPUT); } //Обозначение пинов на дальномерах pinMode(TRIG1, OUTPUT); pinMode(ECHO1, INPUT); pinMode(TRIG2, OUTPUT); pinMode(ECHO2, INPUT); pinMode(RESET, INPUT_PULLUP); } void loop() { //Подача сигнала на дальномеры digitalWrite(TRIG2, HIGH); digitalWrite(TRIG2, LOW); int dist2 = pulseIn(ECHO2, HIGH,3000) / 54; digitalWrite(TRIG1, HIGH); digitalWrite(TRIG1, LOW); int dist1 = pulseIn(ECHO1, HIGH) / 54; //Дополнительная индикация "ввода" символов if(dist1 < 10 && dist2 < 10) { digitalWrite(5, HIGH); delay(100); } if(dist2 >20 && जिला2< 25) { digitalWrite(4, HIGH); delay(100); } if(dist1 >20 && जिला1< 25) { digitalWrite(6, HIGH); delay(100); } //Код пароля + индикация "ввода" символов if(dist2 >10 && जिला2<15) { key1 = 1; digitalWrite(3, HIGH); delay(100); } if(dist1 >10 && जिला1< 15) { digitalWrite(7, HIGH); delay(100); key1 = 0; } if(dist1 >20 && जिला1< 25 && key1 == 1) { key2 = 1; } else if(dist2 >20 && जिला2<25 || key1 == 0) { key1 = 0; key2 = 0; } if(dist1 < 10 && dist2 < 10 && key2 == 1) { key3 = 1; } if(key3 == 1) { for(int i = 0; i < COUNT; i++) { digitalWrite(i + FIRST, HIGH); } } if(key3 == 0) { for(int i = 0; i < COUNT; i++) { digitalWrite(i + FIRST, LOW); } } //Сброс пароля boolean res = digitalRead(RESET); if(res == 0) { key1 = 0; key2 = 0; key3 = 0; } }

स्पष्टीकरण

सभी पांच एल ई डी को रोशन करने के लिए, आपको उन कार्यों का क्रम जानना होगा जो आपको करने की आवश्यकता है। यहां आपके लिए एक कार्य है - "नीचे दिए गए स्पष्टीकरणों के बावजूद, यह निर्धारित करें कि कार्यों का कौन सा क्रम निष्पादित किया जाना चाहिए ताकि सभी पांच एलईडी जलें"

यदि आपने पाठ्यक्रम का पहला भाग पढ़ लिया है और समझ गए हैं कि फ़ंक्शन कैसे काम करता है तो यह एक उल्लेखनीय कार्य है। अगर()।

समझ गया? यदि हाँ, तो अच्छा किया, और यदि नहीं, तो लगभग अच्छा किया।

कुल तीन "इनपुट अक्षर" हैं - 0 से 10, 10 से 15, और 20 से 25।

दोनों हाथों को दोनों रेंजफाइंडर के 0 से 10 सेमी के भीतर लाकर 0 से 10 स्थिति सक्षम की जाती है। यदि ऐसा किया जाता है, तो पीली एलईडी जल उठेगी।

जब आप अपने हाथ को 10 से 15 सेमी की दूरी पर दाएं या बाएं रेंजफाइंडर पर ले जाएंगे तो स्थिति 10 से 15 चालू हो जाएगी। आपको बाएं हाथ के लिए सबसे बाईं ओर की एलईडी और दाएं हाथ के लिए सबसे दाईं ओर की एलईडी द्वारा ऐसा करने के लिए प्रेरित किया जाएगा। .

20 से 25 तक की स्थिति उस समय चालू होती है जब हाथ से रेंजफाइंडर में से एक की दूरी 20 से 25 सेमी तक होती है। आपको इसके बारे में बाएं से दूसरे और दाएं से दूसरे एलईडी द्वारा सूचित किया जाएगा। क्रमशः बाएँ और दाएँ हाथ।

यह ध्यान देने योग्य है कि अनुक्रम का सख्ती से पालन किया जाना चाहिए।

  • अपने दाहिने हाथ को 10 से 15 की दूरी पर उठाएं।
  • सबसे दाहिनी एलईडी जलने के बाद, बाएँ हाथ को 20 से 25 की दूरी पर लाएँ। यह सब दाहिने हाथ की स्थिति को बदले बिना किया जाता है।
  • बाईं ओर से दूसरी एलईडी को इंगित करने के बाद, अपने बाएं हाथ को बाईं ओर ले जाएं ताकि सबसे बाईं ओर की एलईडी न जले, अन्यथा आपको फिर से कोड डायल करना होगा। दाएँ हाथ को 0 से 10 की दूरी के करीब लाएँ, और बाएँ हाथ को 10 से 15 की दूरी को छुए बिना, समान दूरी पर लाएँ।
  • एलईडी चालू रहनी चाहिए और आपके कार्यों पर प्रतिक्रिया नहीं देनी चाहिए।
  • पासवर्ड रीसेट करने के लिए रीसेट बटन दबाएँ। एलईडी बंद होनी चाहिए।

प्रत्येक गलत कदम पासवर्ड को रीसेट कर देता है, और इसे फिर से दर्ज करना होगा। हो सकता है कि यह पहली बार काम न करे, लेकिन कुछ मिनटों के प्रशिक्षण के बाद, मुझे यकीन है कि सब कुछ ठीक हो जाएगा, और एलईडी जल उठेंगी।

सभी एल ई डी को जलाने का प्रबंधन करने के बाद, आप स्वयं परीक्षण कर सकते हैं और कोड बदल सकते हैं ताकि अनुक्रम अलग हो - अपने विवेक पर। आप अधिक "प्रतीक" बना सकते हैं, या आप वही छोड़ सकते हैं, लेकिन प्रत्येक प्रतीक को दो रेंजफाइंडर का उपयोग करके बनाएं। यह एक स्वतंत्र समाधान का कार्य होगा.

इन्फ्रारेड रेंजफाइंडरतीखा

इन रेंजफाइंडर के साथ, सब कुछ और भी आसान है। आपको सभी एनालॉग सेंसर की तरह, उन्हें कनेक्ट करने की आवश्यकता है। और 10 kΩ अवरोधक के बिना भी संभव है। यदि किसी कारण से आप नहीं जानते कि यह कैसे करना है, तो इसका वर्णन मेरे लेख में किया गया है।

थेरेमिन

थेरेमिन जैसा एक संगीत वाद्ययंत्र है। और अब हम इस उपकरण की झलक एकत्र करेंगे।

कोड

// रेंजफाइंडर, बटन और बजर को नामित करें #RFIND A5 को परिभाषित करें #लेकिन 9 को परिभाषित करें #BUZ 8 को परिभाषित करें // बटन बूल साउंड_ऑन = गलत के लिए बूलियन वैरिएबल; बूल बट_अप = सत्य; शून्य सेटअप() ( पिनमोड(RFIND, INPUT); पिनमोड(BUZ, OUTPUT); पिनमोड(BUT,INPUT_PULLUP); ) शून्य लूप() ( //थेरेमिन को चालू और बंद करने के लिए कोड बूल लेकिन_अब = डिजिटलरीड(BUT); यदि (लेकिन_ऊपर && !लेकिन_अब) (विलंब(10); बूल लेकिन_अब = डिजिटलरीड(लेकिन); यदि(!लेकिन_अब) ( ध्वनि_पर = !ध्वनि_पर; ) ) लेकिन_ऊपर = परंतु_अब; //उसके लिए कोड यदि(ध्वनि_पर == 1) (इंट वैल, फ्रीक; वैल = एनालॉगरीड (आरएफआईएनडी); // आप बाधा के साथ खेल सकते हैं और अपने दिल की सामग्री को मैप कर सकते हैं वैल = बाधा (वैल, 100, 400); फ्रीक = मैप (वैल, 100, 400, 1000, 2500); टोन(बज़, फ्रीक, 20); ) )

स्पष्टीकरण

यदि आप बटन दबाते हैं, तो ट्वीटर या स्पीकर से, आपने जो कनेक्ट किया है उसके आधार पर, एक सिग्नल ध्वनि सुनाई देगी जो रेंजफाइंडर से आपके हाथ तक की दूरी के अनुसार अलग-अलग होगी।

हमारे "थेरेमिन" को रोकने या शुरू करने के लिए बटन की आवश्यकता होती है

नतीजा

आज हमने रेंजफाइंडर पर करीब से नज़र डाली और कुछ छोटे प्रयोग किए, जिनमें से दो का उपयोग वास्तविक जीवन में किया जा सकता है। पार्कट्रॉनिक - पार्क करने में मदद करेगा, और कॉम्बिनेशन लॉक को इस तरह से बेहतर बनाया जा सकता है कि जब आप सही पासवर्ड दर्ज करते हैं, तो सर्वोमोटर आपके कमरे के दरवाजे पर लगी कुंडी खोल देता है, उदाहरण के लिए।

रेडियो तत्वों की सूची

पद का नाम प्रकार मज़हब मात्रा टिप्पणीदुकानमेरा नोटपैड
योजना 1
अरुडिनो बोर्ड

अरुडिनो यूनो

1 नोटपैड के लिए
ब्रेड बोर्डब्रेडबोर्ड-आधा1 नोटपैड के लिए
तार जोड़ना"पापा पापा"4 नोटपैड के लिए
रेंजफाइंडरकोर्ट-SR042 नोटपैड के लिए
योजना 2
अरुडिनो बोर्ड

अरुडिनो यूनो

1 नोटपैड के लिए
रेंजफाइंडरकोर्ट-SR041 नोटपैड के लिए
तार जोड़ना"पापा पापा"15 नोटपैड के लिए
ब्रेड बोर्डब्रेडबोर्ड-आधा1 नोटपैड के लिए
पीजो बजर 1 नोटपैड के लिए
अवरोध

220 ओम

1 नोटपैड के लिए
प्रकाश उत्सर्जक डायोड

AL102B

2 नोटपैड के लिए
प्रकाश उत्सर्जक डायोड

AL307V

1 नोटपैड के लिए
प्रकाश उत्सर्जक डायोड

AL307D

2 नोटपैड के लिए
योजना 3
अरुडिनो बोर्ड

अरुडिनो यूनो

1 नोटपैड के लिए
रेंजफाइंडरकोर्ट-SR042 नोटपैड के लिए
अवरोध

220 ओम

5
लोड हो रहा है...लोड हो रहा है...