विषयसूची:
- चरण 1: इंटरेक्शन वीडियो
- चरण 2: समस्या विवरण
- चरण 3: यह कैसे काम करता है इसका अवलोकन
- चरण 4: सामग्री और उपकरणों की सूची
- चरण 5: ब्रेडबोर्ड के साथ निर्माण शुरू करें
- चरण 6: कोड शुरू करना
- चरण 7: फिनिशिंग टच
वीडियो: स्टडी रूम टाइमर: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
अध्ययन कक्ष के लिए टाइमर बनाने के निर्देश।
चरण 1: इंटरेक्शन वीडियो
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
चरण 2: समस्या विवरण
ज्यादातर समय स्टडी रूम हमेशा लिया जाता है। ऐसा इसलिए होता है क्योंकि लोग जरूरत से ज्यादा देर तक कमरे में रहना पसंद करते हैं। हमने एक टाइमर डिज़ाइन किया है जो प्रत्येक व्यक्ति को कुल 2 घंटे की अनुमति देता है और लोग अगले समूह में कमरे का अनुरोध करने की क्षमता का इंतजार कर रहे हैं। Neopixels पर RGB का उपयोग शेष समय की मात्रा को व्यक्त करेगा।
चरण 3: यह कैसे काम करता है इसका अवलोकन
टाइमर में लेजर कटर, 3 बटन, 1 एलईडी, 1 पोटेंशियोमीटर द्वारा काटे गए हिस्से होते हैं।
Neopixels और पोटेंशियोमीटर को NodeMCU से तार दिया जाता है। NodeMCU को यह पता लगाने के लिए प्रोग्राम किया गया है कि गोलाकार Neopixel स्ट्रिप पर एलईडी की मात्रा को बदलने के लिए पोटेंशियोमीटर को कितनी दूर घुमाया जाता है। रिक्वेस्ट बटन स्टार्ट, स्टॉप और सेट टाइम फंक्शन के फंक्शन को रोकता है। कमरे के अंदर टाइमर पर एलईडी का रंग बॉक्स के किनारे पर लगे एलईडी के समान रंग है। बॉक्स के किनारे पर नियोपिक्सल इमारत की लॉबी में डिस्प्ले का प्रतिनिधित्व करता है यह जानने के लिए कि कौन सा कमरा लिया गया है और कितना समय बचा है। प्रत्येक कमरे के लिए 2 एलईडी निर्धारित हैं, एक एलईडी दर्शाता है कि क्या कमरा लिया गया है और दूसरा एलईडी टाइमर पर एलईडी के रंग को दर्शाता है (हरा अधिक समय है, फिर पीला, फिर कम समय के लिए लाल)।
चरण 4: सामग्री और उपकरणों की सूची
-स्पष्ट एक्रिलिक
-माइक्रोयूएसबी केबल
www.digikey.com/product-detail/hi/stewart-…
-ब्रेड बोर्ड
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-पोटेंशियोमीटर
www.alliedelec.com/honeywell-380c32500/701…
-3 बटन
www.digikey.com/product-detail/hi/te-conne…
-नोडएमसीयू
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 नियोपिक्सल स्ट्रिप्स
www.amazon.com/Lighting-Modules-NeoPixel-W…
-प्रतिरोधक
www.digikey.com/product-detail/hi/te-conne…
- तार
www.digikey.com/product-detail/hi/sparkfun…
-1 एलईडी
www.mouser.com/ProductDetail/Cree-Inc/C512…
-गर्म गोंद वाली बंदूक
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-स्टिकी वेल्क्रो स्ट्रिप्स
www.amazon.com/VELCRO-Brand-90076-फास्टनर…
चरण 5: ब्रेडबोर्ड के साथ निर्माण शुरू करें
पोटेंशियोमीटर पर A0 से मध्य पिन
नियोपिक्सल रिंग पर विन टू पावर
3v3 पोटेंशियोमीटर के एक तरफ
NodeMCU पर ग्राउंड करने के लिए सभी आधार
D1 से अनुरोध बटन
D2 एलईडी का अनुरोध करने के लिए
D3 प्रारंभ करने के लिए बटन
D4 टू स्टॉप बटन
D5 रिंग पर Neopixel इनपुट को रोकने के लिए
D6 Neopixel इनपुट स्ट्रिप को रोकने के लिए
चरण 6: कोड शुरू करना
यह सुनिश्चित करने के लिए कोड है कि आपकी परियोजना अब तक काम कर रही है। Neopixel Ring पर टाइमर प्रति एलईडी केवल कुछ सेकंड का होना चाहिए। एक बार जब आप जान जाते हैं कि यह इस बिंदु तक काम कर रहा है, तो आपको बस इतना करना है कि यदि नीचे दिए गए विवरण आपकी निर्दिष्ट सीमा तक हैं तो समय बदल दें। मैं हर बार '#चेंज टाइम' डालूंगा अगर स्टेटमेंट्स जिन्हें आपको अपने टाइम अलॉटमेंट के लिए बदलने की जरूरत है।
कोड की कोशिश कर रहा है:
आयात utime
आयात समय
मशीन से आयात एडीसी
आयात मशीन
आयात नियोपिक्सेल
एडीसी = एडीसी(0)
पिन = मशीन। पिन (14, मशीन। पिन। आउट)
np = neopixel. NeoPixel (पिन, 12)
पिन 2 = मशीन। पिन (12, मशीन। पिन। आउट)
np2 = neopixel. NeoPixel(pin2, 8)
एल 1 = मशीन। पिन (4, मशीन। पिन। आउट)
b1 = मशीन। पिन (5, मशीन। पिन.इन, मशीन। पिन। PULL_UP)
b3 = मशीन.पिन(2, मशीन.पिन.इन, मशीन.पिन. PULL_UP)
b2 = मशीन। पिन (0, मशीन। पिन.इन, मशीन। पिन। PULL_UP)
l1.मूल्य(0)
def tglled (): # टॉगल 'अनुरोध' एलईडी फ़ंक्शन
अगर l1.value() == 0:
l1.मूल्य(1)
अन्यथा:
l1.मूल्य(0)
एक्स = 0
b1temp1 = 0
b1temp2 = 0
टी = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
एस = 0
जबकि सच:
# यह वह बटन है जो 'अनुरोध' एलईडी को टॉगल करता है
b1temp2 = b1.value ()
अगर b1temp1 और b1temp2 नहीं:
tglled ()
समय सो जाओ (0.05)
b1temp1 = b1temp2
#यह ग्रिड है
एनपी २ [०] = एनपी [११]
अगर l1.value() == 1:
np2[1] = (३०, ०, ०)
अन्यथा:
np2[1] = (0, 0, 30)
np2.लिखें ()
# यह वह जगह है जहां हम चुनते हैं कि हमें कितना समय चाहिए
अगर टी == 0:
मैं सीमा में (-1, 12) के लिए:
अगर (l1.value() == 0):
अगर (adc.read() >= (85.34 * (i+1))):
एनपी = (0, 0, 0)
एनपी [11] = (0, 0, 30)
एस = (मैं + 1)
अन्यथा:
एनपी = (0, 0, 30)
एनपी.लिखें ()
अन्यथा:
एनपी = (0, 0, 0)
एनपी.लिखें ()
# यह टाइमर शुरू करने का बटन है
अगर (l1.value() == 0) और (टी == 0):
b2temp2 = b2.value ()
अगर b2temp1 और b2temp2 नहीं:
एक्स + = 1
टी + = (एस * १००)
समय सो जाओ (0.05)
b2temp1 = b2temp2
# यह बटन टाइमर समाप्त करता है
अगर (l1.value() == 0):
b3temp2 = b3.value ()
अगर b3temp1 और b3temp2 नहीं:
एक्स = 0
टी = 0
समय सो जाओ (0.05)
b3temp1 = b3temp2
#यह टाइमर है
अगर एक्स> 0:
टी + = 1
अगर (टी> 0) और (टी <= 100): #समय बदलें
एनपी [0] = (5, 30, 0)
एनपी[1] = (5, 30, 0)
एनपी[2] = (5, 30, 0)
एनपी [3] = (5, 30, 0)
एनपी [4] = (5, 30, 0)
एनपी [5] = (5, 30, 0)
एनपी [6] = (5, 30, 0)
एनपी [7] = (5, 30, 0)
एनपी [8] = (5, 30, 0)
एनपी [9] = (5, 30, 0)
एनपी [10] = (5, 30, 0)
एनपी [11] = (5, 30, 0)
एनपी.लिखें ()
अगर (टी> 100) और (टी <= 200): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (10, 30, 0)
एनपी[2] = (10, 30, 0)
एनपी [3] = (10, 30, 0)
एनपी [4] = (10, 30, 0)
एनपी [5] = (10, 30, 0)
एनपी [6] = (10, 30, 0)
एनपी [7] = (10, 30, 0)
एनपी [8] = (10, 30, 0)
एनपी [9] = (10, 30, 0)
एनपी [10] = (10, 30, 0)
एनपी [11] = (10, 30, 0)
एनपी.लिखें ()
अगर (टी> 200) और (टी <= 300): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (15, 30, 0)
एनपी [3] = (15, 30, 0)
एनपी [4] = (15, 30, 0)
एनपी [5] = (15, 30, 0)
एनपी [6] = (15, 30, 0)
एनपी [7] = (15, 30, 0)
एनपी [8] = (15, 30, 0)
एनपी [9] = (15, 30, 0)
एनपी [१०] = (१५, ३०, ०)
एनपी [११] = (१५, ३०, ०)
एनपी.लिखें ()
अगर (टी> 300) और (टी <= 400): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (20, 30, 0)
एनपी [4] = (20, 30, 0)
एनपी [5] = (20, 30, 0)
एनपी [6] = (20, 30, 0)
एनपी [7] = (20, 30, 0)
एनपी [8] = (20, 30, 0)
एनपी [9] = (20, 30, 0)
एनपी [10] = (20, 30, 0)
एनपी [11] = (20, 30, 0)
एनपी.लिखें ()
अगर (टी> 400) और (टी <= 500): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [४] = (२५, ३०, ०)
एनपी [5] = (२५, ३०, ०)
एनपी [6] = (२५, ३०, ०)
एनपी [7] = (२५, ३०, ०)
एनपी [8] = (25, 30, 0)
एनपी [9] = (२५, ३०, ०)
एनपी [१०] = (२५, ३०, ०)
एनपी [११] = (२५, ३०, ०)
एनपी.लिखें ()
अगर (टी> 500) और (टी <= 600): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (30, 30, 0)
एनपी [6] = (३०, ३०, ०)
एनपी [7] = (30, 30, 0)
एनपी [8] = (30, 30, 0)
एनपी [9] = (३०, ३०, ०)
एनपी [१०] = (३०, ३०, ०)
एनपी [११] = (३०, ३०, ०)
एनपी.लिखें ()
अगर (टी > ६००) और (टी <= ७००): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (0, 0, 0)
एनपी [6] = (30, 25, 0)
एनपी [7] = (30, 25, 0)
एनपी [8] = (30, 25, 0)
एनपी [9] = (30, 25, 0)
एनपी [१०] = (३०, २५, ०)
एनपी [११] = (३०, २५, ०)
एनपी.लिखें ()
अगर (टी> 700) और (टी <= 800): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (0, 0, 0)
एनपी [6] = (0, 0, 0)
एनपी [7] = (30, 20, 0)
एनपी [8] = (30, 20, 0)
एनपी [9] = (30, 20, 0)
एनपी [10] = (30, 20, 0)
एनपी [११] = (३०, २०, ०)
एनपी.लिखें ()
अगर (टी > ८००) और (टी <= ९००): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (0, 0, 0)
एनपी [6] = (0, 0, 0)
एनपी [7] = (0, 0, 0)
एनपी [8] = (30, 15, 0)
एनपी [9] = (३०, १५, ०)
एनपी [१०] = (३०, १५, ०)
एनपी [११] = (३०, १५, ०)
एनपी.लिखें ()
अगर (टी> 900) और (टी <= 1000): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (0, 0, 0)
एनपी [6] = (0, 0, 0)
एनपी [7] = (0, 0, 0)
एनपी [8] = (0, 0, 0)
एनपी [9] = (30, 10, 0)
एनपी [१०] = (३०, १०, ०)
एनपी [११] = (३०, १०, ०)
एनपी.लिखें ()
अगर (टी> 1000) और (टी <= 1100): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (0, 0, 0)
एनपी [6] = (0, 0, 0)
एनपी [7] = (0, 0, 0)
एनपी [8] = (0, 0, 0)
एनपी [9] = (0, 0, 0)
एनपी [१०] = (३०, ५, ०)
एनपी [११] = (३०, ५, ०)
एनपी.लिखें ()
अगर (टी> 1100) और (टी <= 1200): #समय बदलें
एनपी [0] = (0, 0, 0)
एनपी[1] = (0, 0, 0)
एनपी[2] = (0, 0, 0)
एनपी [3] = (0, 0, 0)
एनपी [4] = (0, 0, 0)
एनपी [5] = (0, 0, 0)
एनपी [6] = (0, 0, 0)
एनपी [7] = (0, 0, 0)
एनपी [8] = (0, 0, 0)
एनपी [9] = (0, 0, 0)
एनपी [10] = (0, 0, 0)
एनपी [११] = (३०, ०, ०)
एनपी.लिखें ()
अगर टी>= 1300: #समय बदलें
टी = 0
एक्स = 0
चरण 7: फिनिशिंग टच
अब, एक बार जब आप इतनी दूर हो जाते हैं, तो आपके पास NodeMCU पर काम करने वाला कोड अपलोड होना चाहिए और सभी भागों को ब्रेडबोर्ड से जोड़ दिया जाना चाहिए। एक बार जब आप कोड की कोशिश कर लेते हैं और बाहरी के लिए आपके पास मौजूद किसी भी टुकड़े को काट देते हैं, यानी लेजर कट केसिंग, तो आप अब तारों को NodeMCU में मिला सकते हैं। टांका लगाना वैकल्पिक है, लेकिन यह आपके आवरण के लिए इसे अधिक सुरक्षित और छोटा बना सकता है। यहां कुछ लेजर कट वाले हिस्से हैं जिन्हें हमने बनाया है।
सिफारिश की:
स्टडी बडी: १० कदम
स्टडी बडी: यह निर्देश योग्य बताता है कि एक अध्ययन मित्र कैसे बनाया जाए इस अध्ययन मित्र का कार्य 14 से 18 वर्ष की आयु के किशोरों को योजना बनाना और अध्ययन करना सीखने में मदद करना है। उद्देश्य यह है कि रोबोट छात्रों के साथ सीख सके। कवर एक में चित्रित किया गया है
डी फ्लिप फ्लॉप और 555 टाइमर के साथ स्टेपर मोटर; सर्किट का पहला भाग ५५५ टाइमर: ३ कदम
डी फ्लिप फ्लॉप और 555 टाइमर के साथ स्टेपर मोटर; सर्किट का पहला भाग 555 टाइमर: स्टेपर मोटर एक डीसी मोटर है जो असतत चरणों में चलती है। इसका उपयोग अक्सर प्रिंटर और यहां तक कि रोबोटिक्स में भी किया जाता है। मैं इस सर्किट को चरणों में समझाऊंगा। सर्किट का पहला भाग 555 है टाइमर यह 555 चिप w के साथ पहली छवि (ऊपर देखें) है
स्टडी एरिया इंडिकेटर (साई): 8 कदम
स्टडी एरिया इंडिकेटर (SAI): फाइनल वीक के दौरान स्टडी स्पॉट ढूंढना आसान बनाना चाहते हैं? अध्ययन क्षेत्र संकेतकों के निर्माण पर विचार करें! अपने सरलतम रूप में, प्रणाली अध्ययन क्षेत्र संकेतक (एसएआई) का एक संग्रह है जो बिजली के मुख्य स्रोत से जुड़ा है जो उपलब्धता को इंगित करता है
एवीआर माइक्रोकंट्रोलर। टाइमर का उपयोग कर एलईडी फ्लैशर। टाइमर बाधित। टाइमर सीटीसी मोड: 6 कदम
एवीआर माइक्रोकंट्रोलर। टाइमर का उपयोग कर एलईडी फ्लैशर। टाइमर बाधित। टाइमर सीटीसी मोड: सभी को नमस्कार! इलेक्ट्रॉनिक्स के क्षेत्र में टाइमर एक महत्वपूर्ण अवधारणा है। हर इलेक्ट्रॉनिक कंपोनेंट टाइम बेस पर काम करता है। इस बार आधार सभी कामों में तालमेल बिठाने में मदद करता है। सभी माइक्रोकंट्रोलर कुछ पूर्वनिर्धारित घड़ी आवृत्ति पर काम करते हैं
स्टडी बडी: 4 कदम
स्टडी बडी: मैं अपनी कक्षाओं के लिए अध्ययन करने के बेहतर तरीकों पर विचार-मंथन करते हुए अध्ययन मित्र के लिए विचार लेकर आया। जब मुझे पढ़ाई करनी चाहिए तो मुझे अपने फोन का उपयोग करने में कठिनाई होती है, और मैंने पाया है कि इसे दृष्टि से बाहर रखना मुझे ध्यान केंद्रित करने में मदद करने का सबसे अच्छा तरीका है, ठीक है