विषयसूची:

एक इलेक्ट्रिक स्पिरिट लेवल बनाएं: १५ कदम
एक इलेक्ट्रिक स्पिरिट लेवल बनाएं: १५ कदम

वीडियो: एक इलेक्ट्रिक स्पिरिट लेवल बनाएं: १५ कदम

वीडियो: एक इलेक्ट्रिक स्पिरिट लेवल बनाएं: १५ कदम
वीडियो: how to make digtal spirit level डिजिटल स्पिरिट लेवल कैसे बनाये 2024, नवंबर
Anonim
एक इलेक्ट्रिक स्पिरिट लेवल बनाएं
एक इलेक्ट्रिक स्पिरिट लेवल बनाएं

संलग्न किसी भी वस्तु के झुकाव को जल्दी और आसानी से प्रदर्शित करने के लिए इस भावना स्तर का उपयोग करें!

रैफल्स इंस्टीट्यूशन से कैटिलिन द्वारा बनाया गया।

चरण 1: लक्ष्य

माइक्रो: बिट के अंतर्निर्मित एक्सेलेरोमीटर के साथ झुकाव पढ़ना सीखें।

माइक्रो: बिट के 5x5 एलईडी डिस्प्ले के साथ काम करना सीखें!

चरण 2: सामग्री

1 एक्स बीबीसी माइक्रो: बिट

1 एक्स माइक्रो यूएसबी केबल

2 एक्स एए बैटरी

1 एक्स डबल एए बैटरी पैक

चरण 3: प्री कोडिंग: अपना माइक्रो कनेक्ट करें: बिट

  1. एक माइक्रो यूएसबी केबल का उपयोग करके बीबीसी माइक्रो: बिट को अपने कंप्यूटर से कनेक्ट करें।
  2. micro:bit के लिए makecode.microbit.org पर जावास्क्रिप्ट संपादक तक पहुंचें।

चरण 4: चरण 0: कोड प्रवाह

इससे पहले कि हम कोड लिखना शुरू करें, हमें यह तय करना होगा कि हम प्रोग्राम के साथ क्या हासिल करना चाहते हैं और प्रत्येक घटक को किस क्रम में चलाना चाहिए।

इलेक्ट्रिक स्पिरिट लेवल के लिए, हम प्रत्येक लूप के लिए कोड में जो कदम उठाएंगे, वे हैं:

  • एक्सेलेरोमीटर से टिल्ट रीडिंग पढ़ें।
  • एलईडी मैट्रिक्स पर प्रदर्शित होने के लिए टिल्ट रीडिंग को टिल्ट लेवल में बदलें।
  • पिछले लूप से टिल्ट लेवल रीडिंग में बदलाव की जांच करें।
  • विभिन्न झुकाव मामलों और दिशाओं के लिए एलईडी निर्देशांक की सरणी बनाएं।
  • प्लॉट एलईडी माइक्रो: बिट एलईडी मैट्रिक्स पर निर्देशांक करता है।

कुछ अतिरिक्त कार्य जिन्हें हमें शामिल करने की आवश्यकता है वे हैं:

  • प्रारंभिक झुकाव स्थिति के लिए अंशांकन।
  • डिफ़ॉल्ट झुकाव अंशांकन पर वापस जा रहा है।

चरण 5: चरण 1: चर को परिभाषित करना

हम दिखाए गए अनुसार आवश्यक चर को परिभाषित करके शुरू करते हैं। कुछ चरों का टूटना है:

  • टिल्टलिस्ट: ऐरे जो क्रम में 0-4 मानों से झुकाव की सीमा को संग्रहीत करता है [बाएं, दाएं, आगे, पीछे]
  • झुकाव सीमा: 0 (कोई झुकाव नहीं) और 1 (मामूली झुकाव) के बीच पहले झुकाव स्तर की सीमा
  • prevState: ऐरे जो पिछले लूप से माइक्रो: बिट के टिल्ट वैल्यू को टिल्टलिस्ट के समान प्रारूप में संग्रहीत करता है, जिसका उपयोग पुनरावृत्तियों के बीच झुकाव में बदलाव की जांच के लिए किया जाता है
  • एलईडीप्लॉटलिस्ट: प्लॉट के रूप में समन्वय सरणियों को प्लॉट करें (x, y)। एक सरणी को परिभाषित करने के लिए, हम प्रकार के चर के नेस्टेड सरणी को इंगित करने के लिए प्रकार संख्या का उपयोग करते हैं: संख्या।

चरण 6: चरण 2: झुकाव मानों को स्तरों में बदलें

चूंकि 5x5 एलईडी मैट्रिक्स केवल इतनी ही जानकारी प्रदर्शित कर सकता है, वास्तविक झुकाव मान प्रदर्शन के लिए उपयोगी नहीं होंगे।

इसके बजाय, एक फ़ंक्शन टिल्टएक्सटेंट () पैरामीटर संख्या लेता है, जो एक्सेलेरोमीटर से झुकाव मान को संदर्भित करता है, और इन झुकाव मानों (संख्या) को 0 से 4 तक झुकाव के स्तर में परिवर्तित करता है।

0 दी गई दिशा में कोई झुकाव नहीं दर्शाता है और 4 बहुत बड़े झुकाव को इंगित करता है, जबकि -1 त्रुटि होने पर वापस आ जाता है।

यहां, झुकाव सीमा और झुकाव संवेदनशीलता का उपयोग झुकाव स्तरों के बीच सीमा मान के रूप में किया जाता है।

चरण 7: चरण 3: झुकाव स्तरों को संकलित करें

दो कार्य checkRoll () और checkPitch () टिल्टएक्सटेंट () से प्राप्त झुकाव स्तरों को क्रमशः रोल (बाएं-दाएं) और पिच (आगे-पिछड़े) अक्षों के लिए टिल्टलिस्ट में लिखते हैं।

झुकाव मूल्यों का उपयोग करने से पहले, हम बाद में लिखे गए अंशांकन फ़ंक्शन से प्राप्त पिच (ज़ीरोपिच) और रोल (ज़ीरोरोल) दोनों के लिए एक शून्य मान का उपयोग करके उन्हें कैलिब्रेट करते हैं।

चूंकि एक्सेलेरोमीटर रीडिंग बाएं और आगे के झुकाव दोनों के लिए नकारात्मक हैं, इसलिए हमें इन दो दिशाओं के लिए एक पैरामीटर के रूप में टिल्टएक्सटेंट () फ़ंक्शन को दिए जाने वाले नकारात्मक मान के मापांक को प्राप्त करने के लिए Math.abs() फ़ंक्शन का उपयोग करने की आवश्यकता है।

चरण 8: चरण 4: LEDPlotList फ़ंक्शन लिखें

टिल्टलिस्ट में झुकाव स्तर प्राप्त करने के बाद, अब हम उत्पन्न होने वाले विभिन्न मामलों के लिए एलईडी प्लॉटिंग फ़ंक्शन लिख सकते हैं, अर्थात्

  • प्लॉटसिंगल (): पैरामीटर के रूप में दी गई दिशा में झुकाव की सीमा लेते हुए, केवल एक ही दिशा में झुकाएं।
  • प्लॉटडायगोनल (): एक ही परिमाण के दो दिशाओं में झुकाव, किसी भी दिशा में झुकाव की सीमा को पैरामीटर के रूप में लेते हुए।
  • प्लॉटअनेकुअल (): अलग-अलग परिमाण की दो दिशाओं में झुकाव, प्रत्येक दिशा में झुकाव की सीमा को पैरामीटर के रूप में लेते हुए। पहले plotDiagonal() का उपयोग करता है और बाद में ledPlotList सरणी में जोड़ता है।

ये प्लॉटिंग फ़ंक्शन बाद में प्लॉट किए जाने के लिए LEDPlotList को एलईडी निर्देशांक की एक सरणी लिखते हैं।

चरण 9: चरण 5: प्रत्येक मामले के लिए प्लॉट एलईडी मैट्रिक्स

चरण 4 में तीन मामलों से प्लॉटिंग फ़ंक्शंस का उपयोग करके, अब हम झुकाव स्तरों के विभिन्न संभावित संयोजनों के लिए वास्तविक एलईडी मैट्रिक्स को प्लॉट कर सकते हैं। जैसा कि चरण 4 में तीन कार्य दिशा के साथ भेदभाव नहीं करते हैं, हमें एलईडी को सही दिशा में प्लॉट करने के लिए एलईडी मैट्रिक्स को दिए गए समन्वय मूल्यों को समायोजित करने की आवश्यकता है।

PlotResult () में कई यदि स्थितियां हैं जो झुकाव की जांच करती हैं और एलईडी मैट्रिक्स को तदनुसार एलईडी.प्लॉट (एक्स, वाई) का उपयोग करके प्लॉट करती हैं। झुकाव के संभावित संयोजन हैं:

सिंगल डायरेक्शन: लेफ्ट ओनली या राइट ओनली।

सिंगल डायरेक्शन: फॉरवर्ड ओनली या बैकवर्ड ओनली।

दो दिशाएँ: आगे-बाएँ या पीछे-बाएँ।

दो दिशाएँ: आगे-दाएँ या पीछे-दाएँ।

नोट: दो दिशाओं में झुकाव के लिए, प्रत्येक संयोजन में समान या अलग परिमाण हो सकता है (maxX और maxY की तुलना करके जांचा जाता है), और इसलिए क्रमशः प्लॉटडिएगोनल () या प्लॉटअनेक () का उपयोग करके प्लॉट किया जाता है।

चरण 10: चरण 6: अंशांकन कार्य लिखें

कोड का बड़ा हिस्सा पूरा करने के बाद, अब हम calibTilt() और resetTilt() फ़ंक्शन में जोड़ते हैं।

calibTilt() उपयोगकर्ताओं को माइक्रो:बिट की वर्तमान स्थिति पर झुकाव को शून्य पर झुकाने की अनुमति देता है

रीसेट टिल्ट () बोर्ड के अंशांकन को उसकी मूल स्थिति में रीसेट करता है।

चरण 11: चरण 7: राज्य कार्य लिखें

हम यह जांचने के लिए एक साधारण फ़ंक्शन चेकस्टेट () जोड़ते हैं कि क्या झुकाव का स्तर पिछले पुनरावृत्ति से बदल गया है।

यदि पिछले पुनरावृत्ति यानी स्टेटचेंज == 0 से झुकाव के स्तर में कोई बदलाव नहीं हुआ है, तो हम सीधे अगले पुनरावृत्ति पर जा सकते हैं और आवश्यक गणना को कम करते हुए एलईडी मैट्रिक्स की साजिश को छोड़ सकते हैं।

चरण १२: चरण ८: सभी को एक साथ रखना भाग १

अब हम अंत में सभी आवश्यक कार्यों को माइक्रो: बिट के अनंत लूप में बार-बार चलाने के लिए रख सकते हैं।

सबसे पहले, हम इनपुट.ऑनबटनप्रेस () का उपयोग करके क्रमशः माइक्रो: बिट पर कैलिब टिल्ट () और रीसेट टिल्ट () फ़ंक्शन पर बटन ए और बी सेट करते हैं, और कैलिब्रेशन पूरा होने पर एलईडी मैट्रिक्स पर एक टिक लगाते हैं।

चरण १३: चरण ९: सभी को एक साथ रखना भाग २

अगला चरण 0 में हमारे कोड प्रवाह के अनुसार आवश्यक कार्यों को चलाएं और एक राज्य परिवर्तन की जांच करें (जिसका अर्थ है कि पिछले पुनरावृत्ति के बाद से माइक्रो: बिट के झुकाव में बदलाव आया है)।

अगर टिल्ट लेवल यानी स्टेट चेंज == 1 में कोई बदलाव होता है, तो कोड prevState को नए टिल्ट लेवल पर अपडेट कर देगा और स्टेट चेंज को अगले पुनरावृत्ति के लिए 0 पर सेट कर देगा, और PlotResult() का उपयोग करके LED मैट्रिक्स पर अपडेटेड टिल्ट लेवल को प्लॉट करेगा।

चरण 14: चरण 10: विधानसभा

पूर्ण कोड को अपने माइक्रो: बिट पर फ्लैश करें।

अपने माइक्रो: बिट और बैटरी पैक को किसी भी वस्तु से सुरक्षित रूप से संलग्न करें और यह उपयोग के लिए तैयार है!

बहुत बढ़िया

अपने इलेक्ट्रिक स्पिरिट लेवल के साथ मज़े करें! और जब आप इसमें हों, तो झुकाव सेंसर की क्षमताओं का विस्तार करने या इसे एक गेम में बदलने का प्रयास क्यों न करें?

यह लेख TINKERCADEMY का है।

चरण 15: स्रोत

यह लेख यहां से है:

यदि आपके कोई प्रश्न हैं, तो आप संपर्क कर सकते हैं: [email protected]

सिफारिश की: