- आवश्यक घटक:
- कार्य स्पष्टीकरण:
- सर्किट स्पष्टीकरण:
- प्रोग्रामिंग स्पष्टीकरण:
- EasyEDA का उपयोग कर सर्किट और पीसीबी डिजाइन:
- ऑनलाइन नमूने की गणना और आदेश:
भूकंप एक अप्रत्याशित प्राकृतिक आपदा है जो जान-माल को नुकसान पहुंचाती है। यह अचानक होता है और हम इसे रोक नहीं सकते हैं लेकिन हम इससे सतर्क हो सकते हैं। आज के समय में, कई प्रौद्योगिकियाँ हैं जिनका उपयोग छोटे झटकों और दस्तक का पता लगाने के लिए किया जा सकता है, ताकि हम पृथ्वी में कुछ प्रमुख कंपन से पहले सावधानी बरत सकें। यहां हम भूकंप के पूर्व कंपन का पता लगाने के लिए एक्सेलेरोमीटर ADXL335 का उपयोग कर रहे हैं। एक्सेलेरोमीटर ADXL335 सभी तीन अक्षों के साथ-साथ हिला और कंपन के लिए अत्यधिक संवेदनशील है। यहां हम एक्सेलेरोमीटर का उपयोग करके एक Arduino आधारित भूकंप डिटेक्टर का निर्माण कर रहे हैं ।
हम यहां इस भूकंप डिटेक्टर को पीसीबी पर एक Arduino शील्ड के रूप में बना रहे हैं और प्रसंस्करण का उपयोग करके कंप्यूटर पर कंपन ग्राफ भी दिखाएंगे।
आवश्यक घटक:
- Arduino UNO
- एक्सेलेरोमीटर ADXL335
- 16x2 एलसीडी
- बजर
- BC547 ट्रांजिस्टर
- 1k प्रतिरोधों
- 10K पॉट
- एलईडी
- बिजली की आपूर्ति 9v / 12v
- बर्ग लाठी नर / मादा
एक्सेलेरोमीटर:
एक्सीलरोमीटर का पिन विवरण:
- Vcc 5 वोल्ट की आपूर्ति इस पिन पर कनेक्ट होनी चाहिए।
- एक्स-आउट यह पिन एक्स डायरेक्शन में एनालॉग आउटपुट देता है
- Y-OUT यह पिन y दिशा में एक एनालॉग आउटपुट देता है
- Z-OUT यह पिन z दिशा में एक एनालॉग आउटपुट देता है
- जीएनडी ग्राउंड
- ST यह पिन सेंसर की सेट संवेदनशीलता के लिए उपयोग किया जाता है
एक्सेलेरोमीटर का उपयोग करके हमारी अन्य परियोजनाओं की भी जाँच करें:
- पिंग पोंग खेल Arduino का उपयोग कर
- एक्सेलेरोमीटर आधारित हैंड जेस्चर नियंत्रित रोबोट।
- जीपीएस, जीएसएम और एक्सेलेरोमीटर का उपयोग कर Arduino आधारित वाहन दुर्घटना चेतावनी प्रणाली
कार्य स्पष्टीकरण:
इस भूकंप डिटेक्टर का कार्य सरल है। जैसा कि हमने पहले उल्लेख किया है कि हमने एक्सेलेरोमीटर का उपयोग तीनों में से किसी भी अक्ष पर भूकंप के कंपन का पता लगाने के लिए किया है ताकि जब भी कंपन त्वरणमापी होश आए तो कंपन हो और उन्हें समान एडीसी मान में परिवर्तित कर सकें। तब ये ADC मान Arduino द्वारा पढ़े जाते हैं और 16x2 LCD पर दिखाए जाते हैं। हमने प्रोसेसिंग का उपयोग करके ग्राफ पर इन मूल्यों को भी दिखाया है । हमारे अन्य एक्सेलेरोमीटर परियोजनाओं के माध्यम से यहाँ जाकर एक्सेलेरोमीटर के बारे में अधिक जानें।
पहले हमें Arduino Powers up के आसपास के कंपन के नमूने लेकर Accelerometer को कैलिब्रेट करने की आवश्यकता होती है । फिर हमें वास्तविक रीडिंग प्राप्त करने के लिए वास्तविक रीडिंग से उन नमूना मूल्यों को घटाना होगा। इस अंशांकन की आवश्यकता है ताकि यह अपने सामान्य आसपास के कंपन के संबंध में अलर्ट न दिखाए। वास्तविक रीडिंग खोजने के बाद, Arduino इन मूल्यों की पूर्वनिर्धारित अधिकतम और न्यूनतम मूल्यों के साथ तुलना करता है। अगर Arduino में कोई भी परिवर्तन मान पाए जाते हैं, तो कम या ज्यादा होते हैं, तो दोनों दिशाओं (नकारात्मक और सकारात्मक) में किसी भी अक्ष के पूर्वनिर्धारित मूल्य तब Arduino बजर को ट्रिगर करते हैं और 16x2 एलसीडी पर अलर्ट की स्थिति दिखाते हैं और एक एलईडी भी चालू होता है। हम Arduino कोड में पूर्वनिर्धारित मूल्यों को बदलकर भूकंप डिटेक्टर की संवेदनशीलता को समायोजित कर सकते हैं।
प्रदर्शन वीडियो और Arduino कोड लेख के अंत में दिए गए हैं।
सर्किट स्पष्टीकरण:
इस भूकंप डिटेक्टर Arduino शील्ड पीसीबी का सर्किटसरल भी है। इस परियोजना में, हमने Arduino का उपयोग किया है जो त्वरक के एनालॉग वोल्टेज को पढ़ता है और उन्हें डिजिटल मूल्यों में परिवर्तित करता है। Arduino भी बजर, एलईडी, 16x2 एलसीडी को ड्राइव करता है और मूल्यों की गणना करता है और उचित कार्रवाई करता है। अगला भाग एक्सेलेरोमीटर है जो पृथ्वी के कंपन का पता लगाता है और 3 अक्षों (एक्स, वाई, और जेड) में एनालॉग वोल्टेज उत्पन्न करता है। एलसीडी का उपयोग एक्स, वाई और जेड एक्सिस के मूल्यों में बदलाव और इस पर अलर्ट संदेश दिखाने के लिए किया जाता है। यह एलसीडी 4-बिट मोड में Arduino से जुड़ी है। RS, GND और EN पिन सीधे Arduino के 9, GND और 8 पिनों से जुड़े हुए हैं और बाकी के 4 डेटा पिनों के LCD अर्थात् D4, D5, D6 और D7 सीधे Arduino के डिजिटल पिन 7, 6, 5 और 4 से जुड़े हुए हैं। । बजर NPN BC547 ट्रांजिस्टर के माध्यम से Arduino के 12 को पिन करने के लिए जुड़ा हुआ है। एलसीडी की चमक को नियंत्रित करने के लिए एक 10k पॉट का भी उपयोग किया जाता है।
प्रोग्रामिंग स्पष्टीकरण:
इस भूकंप डिटेक्टर Arduino शील्ड में, हमने दो कोड बनाए हैं: एक Arduino के लिए एक भूकंप का पता लगाने के लिए और दूसरा कंप्यूटर पर ग्राफ पर भूकंप के कंपन को प्लॉट करने के लिए प्रसंस्करण IDE के लिए। हम दोनों कोड एक-एक करके सीखेंगे:
Arduino कोड:
सबसे पहले, हम एक्सेलेरोमीटर को इसकी सतह रखने के संबंध में जांचते हैं, ताकि यह अपने सामान्य आस-पास के कंपन के संबंध में अलर्ट न दिखाए। इस अंशांकन में, हम कुछ नमूने लेते हैं और फिर उनमें से एक औसत लेते हैं और एक चर में संग्रहीत करते हैं।
for (int i = 0; मैं;
अब जब भी एक्सेलेरोमीटर रीडिंग लेता है, हम उन नमूना मूल्यों को रीडिंग से घटा देंगे ताकि यह आसपास के कंपन को अनदेखा कर सके।
int value1 = analogRead (x); // रीडिंग x आउट int2 = analogRead (y); // पढ़ने y बाहर int मान 3 = analogRead (z); // रीडिंग z int int xValue = xsample-value1; // x int yValue = ysample-value2 में परिवर्तन खोजना; // y int zValue = zsample-value3 में परिवर्तन खोजना; // z / * x, y और z अक्ष मानों को lcd * / lcd.setCursor (0,1) में बदलकर z / * में परिवर्तन खोजना; lcd.print (zValue); lcd.setCursor (6,1); lcd.print (yValue); lcd.setCursor (12,1); lcd.print (zValue); देरी (100)
फिर Arduino पूर्वनिर्धारित सीमाओं के साथ उन कैलिब्रेटेड (घटाए गए) मूल्यों की तुलना करता है। और उसके अनुसार कार्रवाई करें। यदि मान पूर्वनिर्धारित मूल्यों से अधिक हैं तो यह बजर को बीप करेगा और प्रोसेसिंग का उपयोग करके कंप्यूटर पर कंपन ग्राफ को प्लॉट करेगा।
/ * पूर्वनिर्धारित सीमाओं के साथ परिवर्तन की तुलना करना * मिली (); // टाइमर स्टार्ट बज़ = 1; // बजर / एलईडी ध्वज सक्रिय} और अगर (buz == 1) // बजर ध्वज सक्रिय तो भूकंप के अलर्ट {lcd.setCursor (0,0); lcd.print ("भूकंप अलर्ट"); if (मिली ()> = start + buzTime) buz = 0; }
प्रसंस्करण कोड:
नीचे प्रोसेसिंग कोड संलग्न है, आप नीचे दिए गए लिंक से कोड डाउनलोड कर सकते हैं:
अर्थ क्वेक डिटेक्टर प्रोसेसिंग कोड
हमने पृथ्वी भूकंप कंपन के लिए प्रसंस्करण का उपयोग करते हुए एक ग्राफ तैयार किया है, जिसमें हमने खिड़की के आकार, इकाइयों, फ़ॉन्ट आकार, पृष्ठभूमि, धारावाहिक बंदरगाहों को पढ़ने और प्रदर्शित करने, चयनित चयनित सीरियल पोर्ट आदि को परिभाषित किया है।
// खिड़की का आकार निर्धारित करें: और फ़ॉन्ट आकार f6 = createFont ("एरियल", 6, सच); f8 = createFont ("एरियल", 8, सच); f10 = createFont ("एरियल", 10, सच); f12 = createFont ("एरियल", 12, सच); f24 = createFont ("एरियल", 24, सच); आकार (1200, 700); // सभी उपलब्ध सीरियल पोर्ट्स की सूची प्रिंटल (Serial.list ()); myPort = नया सीरियल (यह, "COM43", 9600); Println (myPort); myPort.bufferUntil ('\ n'); पृष्ठभूमि (80)
नीचे दिए गए फ़ंक्शन में, हमने सीरियल पोर्ट से डेटा प्राप्त किया है और आवश्यक डेटा निकाला है और फिर इसे ग्राफ़ के आकार के साथ मैप किया है।
// सभी तीन अक्षों के सभी आवश्यक मूल्यों को निकालने: int l1 = inString.indexOf ("x =") + 2; स्ट्रिंग temp1 = inString.substring (l1, l1 + 3); l1 = inString.indexOf ("y =") + 2; स्ट्रिंग temp2 = inString.substring (l1, l1 + 3); l1 = inString.indexOf ("z =") + 2; स्ट्रिंग temp3 = inString.substring (l1, l1 + 3); // मैपिंग x, y और z मान ग्राफ आयामों के साथ तैरते हैं inByte1 = float (temp1 + (char) 9); inByte1 = नक्शा (inByte1; -80,80, 0, ऊंचाई -80); float inByte2 = float (temp2 + (char) 9); inByte2 = नक्शा (inByte2, -80,80, 0, ऊंचाई -80); float inByte3 = float (temp3 + (char) 9); inByte3 = मानचित्र (inByte3, -80,80, 0, ऊंचाई -80); फ्लोट x = मानचित्र (xPos, 0,1120,40, चौड़ाई -40);
इसके बाद, हमने एक्स, वाई और जेड-एक्सिस के यूनिट स्थान, अधिकतम और न्यूनतम सीमाएं, प्लॉट किए हैं।
// प्लॉटिंग ग्राफ विंडो, यूनिट स्ट्रोक वाइट (2); स्ट्रोक (175); लाइन (0,0,0,100); textFont (f24); भरण (0,00,255); textAlign (राइट); xmargin ("सर्किट डाइजेस्ट द्वारा भूकंप भूकंप", 200,100); भरना (100); स्ट्रोक वाइट (100); पंक्ति (1050,80,1200,80); …। ………।
इसके बाद हम ग्राफ पर मूल्यों को प्लॉट करते हैं 3 अलग-अलग रंगों को ब्लू के रूप में एक्स-एक्सिस मान के लिए, वाई अक्ष के लिए हरे रंग और जेड को लाल रंग द्वारा दर्शाया जाता है।
स्ट्रोक (0,0,255); if (y1 == 0) y1 = height -Byte1-shift; लाइन (x, y1, x + 2, ऊंचाई -Byte1-shift); y1 = height-inByte1-shift; स्ट्रोक (0,255,0); if (y2 == 0) y2 = height -Byte2-shift; पंक्ति (x, y2, x + 2, ऊंचाई -Byte2-shift); y2 = height-inByte2-shift; स्ट्रोक (255,0,0); if (y2 == 0) y3 = height -Byte3-shift; लाइन (x, y3, x + 2, ऊंचाई -Byte3-shift); y3 = height-inByte3-shift;
हमारे अन्य प्रसंस्करण परियोजनाओं के माध्यम से जाकर प्रसंस्करण के बारे में भी जानें।
EasyEDA का उपयोग कर सर्किट और पीसीबी डिजाइन:
ईजीएडीए योजनाबद्ध कैप्चर, सर्किट सिमुलेशन और पीसीबी डिजाइन के लिए केवल एक स्टॉप समाधान नहीं है, वे कम लागत वाले पीसीबी प्रोटोटाइप और कंपोनेंट्स सोर्सिंग सेवा भी प्रदान करते हैं। उन्होंने हाल ही में अपनी कंपोनेंट सोर्सिंग सर्विस शुरू की है, जहाँ उनके पास इलेक्ट्रॉनिक कंपोनेंट्स का बड़ा स्टॉक है और यूज़र्स अपने ज़रूरी कंपोनेंट्स को PCB ऑर्डर के साथ ऑर्डर कर सकते हैं।
अपने सर्किट और PCB को डिज़ाइन करते समय, आप अपने सर्किट और PCB डिज़ाइन को भी सार्वजनिक कर सकते हैं ताकि अन्य उपयोगकर्ता उन्हें कॉपी या एडिट कर सकें और वहां से लाभ ले सकें, हमने इस भूकंप संकेतक शील्ड के लिए अपने पूरे सर्किट और PCB लेआउट को भी सार्वजनिक कर दिया है। Arduino UNO, नीचे दिए गए लिंक की जाँच करें:
easyeda.com/circuitdigest/EarthQuake_Detector-380c29e583b14de8b407d06ab0bbf70f
नीचे ईज़ीईडीए से पीसीबी लेआउट की शीर्ष परत का स्नैपशॉट है, आप परत के 'विंडो' फॉर्म को चुनकर पीसीबी के किसी भी लेयर (टॉप, बॉटम, टॉप्सिल्क, बॉटम्सिल्क आदि) को देख सकते हैं।
आप EasyEDA का उपयोग करके पीसीबी का फोटो दृश्य भी देख सकते हैं:
ऑनलाइन नमूने की गणना और आदेश:
पीसीबी के डिजाइन को पूरा करने के बाद, आप फैब्रिकेशन आउटपुट के आइकन पर क्लिक कर सकते हैं, जो आपको पीसीबी के ऑर्डर पेज पर ले जाएगा। यहां आप अपने PCB को Gerber Viewer में देख सकते हैं या अपने PCB की Gerber फाइल डाउनलोड कर सकते हैं। यहां आप उन पीसीबी की संख्या का चयन कर सकते हैं जिन्हें आप ऑर्डर करना चाहते हैं, आपको कितने तांबे की परतों की जरूरत है, पीसीबी की मोटाई, तांबे का वजन और यहां तक कि पीसीबी का रंग भी। आपके द्वारा सभी विकल्पों का चयन करने के बाद, "कार्ट में सहेजें" पर क्लिक करें और अपना ऑर्डर पूरा करें। हाल ही में उन्होंने अपनी PCB दरों में काफी गिरावट की है और अब आप $ 2 के लिए 10cm x 10cm आकार के साथ 10 pcs 2-लेयर PCB को ऑर्डर कर सकते हैं।
यहाँ EasyedA से मैं पीसीबी मिल गया है:
नीचे पीसीबी पर घटकों को टांका लगाने के बाद अंतिम शील्ड की तस्वीरें हैं: