विषयसूची:

माइक्रो: बिट शोर स्तर डिटेक्टर: 3 कदम
माइक्रो: बिट शोर स्तर डिटेक्टर: 3 कदम

वीडियो: माइक्रो: बिट शोर स्तर डिटेक्टर: 3 कदम

वीडियो: माइक्रो: बिट शोर स्तर डिटेक्टर: 3 कदम
वीडियो: हाथ में Lightning Device फंस गया 😲 #asmr #viral 2024, नवंबर
Anonim
माइक्रो: बिट शोर स्तर डिटेक्टर
माइक्रो: बिट शोर स्तर डिटेक्टर
माइक्रो: बिट शोर स्तर डिटेक्टर
माइक्रो: बिट शोर स्तर डिटेक्टर
माइक्रो: बिट शोर स्तर डिटेक्टर
माइक्रो: बिट शोर स्तर डिटेक्टर

यह माइक्रो: बिट और पिमोरोनी एनविरो: बिट पर आधारित शोर स्तर डिटेक्टर के लिए एक छोटा उदाहरण है।

एनविरो पर माइक्रोफोन: बिट ध्वनि स्तर का पता लगाता है, और परिणामी मूल्य से 5x5 एलईडी मैट्रिक्स पर एक स्थिति की गणना की जाती है और संबंधित एलईडी सक्रिय होती है। मापा गया अधिकतम मान एलईडी मैट्रिक्स पर संग्रहीत और प्रदर्शित रहता है।

मानों को संख्याओं में भी प्रदर्शित किया जा सकता है।

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

माइक्रो: बिट्स 5x5 एलईडी मैट्रिक्स पर एक सेंसर द्वारा पता लगाए गए वास्तविक और अधिकतम मूल्यों को प्रदर्शित करने के लिए वर्णित विधि का उपयोग तापमान, आर्द्रता या दबाव जैसे अन्य मापदंडों के लिए भी किया जा सकता है।

चरण 1: उपयोग किए गए पुर्जे और सॉफ़्टवेयर

हार्डवेयर:

  • एक सूक्ष्म: बिट
  • एक पिमोरोनी एनवायरो: बिट - ध्वनि, प्रकाश और रंग, और दबाव/तापमान/आर्द्रता के लिए तीन सेंसर के साथ आता है (पिमोरोनी में 20 जीबीपी)
  • एक पिमोरोनी पावर: बिट - डिवाइस को बैटरी बनाने के लिए (वैकल्पिक, या माइक्रोबिट को पावर देने का कोई अन्य तरीका, पिमोरोनी में 6 जीबीपी)

सॉफ्टवेयर:

  • माइक्रोसॉफ्ट मेककोड
  • पिमोरोनी एनवायरो: बिट मेककोड एक्सटेंशन

स्क्रिप्ट को अपने माइक्रो: बिट में लोड करने के लिए, बस प्रदान की गई हेक्स-फाइल को अपने माइक्रो: बिट में एक एनवायरो: बिट संलग्न के साथ कॉपी करें।

चरण 2: कोड

कोड को Microsoft MakeCode का उपयोग करके ब्लॉक मोड में Enviro:Bit एक्सटेंशन का उपयोग करके लिखा गया है। नीचे आपको संबंधित JavaScript कोड मिलेगा।

फ़ंक्शन envirobit.getSoundLevel () सेंसर से ध्वनि स्तर को पढ़ता है, 0 से 443 तक का मान लौटाता है।

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

माप सर्कल में पता लगाया गया अधिकतम मान भिन्न शोर_मैक्स में संग्रहीत किया जाता है और एलईडी मैट्रिक्स पर प्रदर्शित रहता है।

बटन "ए" दबाने से नॉइज़_मैक्स रीसेट हो जाता है और स्क्रीन साफ़ हो जाती है, बटन "बी" दबाने पर मापा गया शोर मान वास्तविक संख्या के रूप में प्रदर्शित होता है।

मान प्रदर्शित करने के लिए, सिग्नल_मैक्स के नीचे के मान 25 "बिन्स" में रखे जाते हैं, जो एक एलईडी द्वारा दर्शाए जाते हैं, 0 (ऊपरी बाएं) से 24 (निचले दाएं) से शुरू होते हैं। फिर x/y स्थिति की गणना की जाती है और संबंधित LED को चालू किया जाता है। सिग्नल_मैक्स से ऊपर के मान बिन 24 में रखे गए हैं। यदि मान शोर_मैक्स से नीचे है, तो एल ई डी फिर से स्विच किया जाएगा।

चलो शोर_एक्स = 0लेट सिग्नल_मैक्स = 0 शोर_5 = 0 शोर_25 = 0 चलो शोर_मैक्स = 0 बुनियादी। शोस्ट्रिंग ("शोर") शोर_मैक्स = 0 शोर_25 = 0 शोर_5 = 0 सिग्नल_मैक्स = 250 बुनियादी। हमेशा के लिए (फ़ंक्शन () { जबकि (इनपुट).buttonIsPressed(Button. B)) { बेसिक. शोर_25 = मैथ.फ्लोर (एनवायरोबिट.गेटसाउंडलेवल () / सिग्नल_मैक्स * 25) अगर (शोर_25> 24) {शोर_25 = 24} नॉइज़_5 = मैथ.फ्लोर(noise_25/5) नॉइज़_एक्स = नॉइज़_25 - नॉइज़_5 * 5 एलईडी.प्लॉट (noise_x, शोर_5) बुनियादी.रोकें (200) अगर (शोर_25 शोर_मैक्स) {शोर_मैक्स = शोर_25}})

चरण 3: न्यूनतम/अधिकतम इंडेंटिफायर के साथ तापमान (आर्द्रता, दबाव) सेंसर के लिए एक कोड

न्यूनतम/अधिकतम इंडेंटिफायर के साथ तापमान (आर्द्रता, दबाव) सेंसर के लिए एक कोड
न्यूनतम/अधिकतम इंडेंटिफायर के साथ तापमान (आर्द्रता, दबाव) सेंसर के लिए एक कोड

यहां आपको एनवायरो के लिए एक कोड मिलता है: बिट तापमान फ़ंक्शन।

पैरामीटर सिग्नल_मिन और सिग्नल_मैक्स एलईडी मैट्रिक्स पर प्रदर्शित न्यूनतम और अधिकतम तापमान (* सी) सेट करते हैं। यहां सिग्नल_मेन = 5 और सिग्नल_मैक्स = 30 परिणाम 5 और 6 * सी में ऊपरी बाएं एलईडी (0, 0) और 28/29 * सी को निचले दाएं एलईडी (4, 4) द्वारा दर्शाया जा रहा है।

अनुकूलन के लिए जगह है: वर्तमान कोड के साथ बढ़ते और गिरते तापमान एलईडी के निशान को या तो चालू या बंद कर रहे हैं। दूसरी ओर यह वर्तमान तापमान प्रवृत्ति (गिरने/बढ़ने) को पढ़ने की अनुमति देता है, क्योंकि वर्तमान मूल्य ब्लिंकिंग एलईडी द्वारा इंगित किया जाता है।

getTemperature() को getHumidity() या getPressure() से बदलना और उसी के अनुसार सिग्नल_मिन और सिग्नल_मैक्स मानों को समायोजित करना (जैसे 0/100% क्रमशः 950/1150 hPA) एलईडी मैट्रिक्स पर इन मापदंडों को प्रदर्शित करने की अनुमति देगा।

चलो Temp_x = 0let Temp_5 = 0 जाने दें; Temp_Max = 0 Temp_Min = 24 बुनियादी। हमेशा के लिए (फ़ंक्शन () {if (input.buttonIsPressed(Button. A)) { Temp_Max = 0 Temp_Min = 24 basic.clearScreen ()} जबकि (input.buttonIsPressed(Button. B)) { basic.showNumber(Math.round(envirobit.getTemperature())) basic.showString("C") } Temp_25 = Math.floor((envirobit.getTemperature() - Signal_min)/signal_delta * 25) if (Temp_25 > 24) { Temp_25 = 24 } अगर (Temp_25 < 0) { Temp_25 = 0 } Temp_5 = Math.floor(Temp_25/5) Temp_x = Temp_25 - Temp_5 * 5 एलईडी.प्लॉट (Temp_x, Temp_5) बेसिक। पॉज़ (100) अगर (Temp_25) Temp_Min) {led.unplot(Temp_x, Temp_5)} अगर (Temp_25> Temp_Max) {Temp_Max = Temp_25} अगर (Temp_25 < Temp_Min) { Temp_Min = Temp_25}})

सिफारिश की: