विषयसूची:

मॉर्निंग बडी: 8 कदम
मॉर्निंग बडी: 8 कदम

वीडियो: मॉर्निंग बडी: 8 कदम

वीडियो: मॉर्निंग बडी: 8 कदम
वीडियो: morning yoga easy at home step 8 # short # 2024, जुलाई
Anonim
Image
Image

कुछ लोगों के पास बहुत व्यस्त कार्यक्रम होते हैं, जिससे एक या दो चीज़ों को भूलना आसान हो जाता है। इस अलार्म घड़ी से आप समय पर रखने के लिए कई अलार्म सेट कर सकते हैं। घड़ी 24-समय पर चलती है और आपको बस इतना करना है कि इसे दिन के अलग-अलग समय पर बंद करने के लिए प्रोग्राम करना है जो आपके शेड्यूल के अनुकूल हो। जब आप ऐसा करते हैं तो आपके द्वारा निर्धारित समय एलसीडी स्क्रीन पर पॉप अप हो जाएगा, ताकि आप यह सुनिश्चित करने के लिए जांच कर सकें कि वे सही हैं और एक अतिरिक्त अनुस्मारक के रूप में काम करते हैं।

चरण 1: विचार मंथन

स्केचिंग और सामग्री
स्केचिंग और सामग्री

जब हम इस मुद्दे को हल करने की कोशिश कर रहे थे तो हमने एक विचार के साथ आने के लिए फिशबोन विधि का उपयोग किया और परिणामस्वरूप हमारी अलार्म घड़ी आई।

चरण 2: स्केचिंग और सामग्री

स्केचिंग और सामग्री
स्केचिंग और सामग्री

इस चरण के दौरान हमने उन सभी चीजों की एक सूची बनाने की कोशिश की जो हमने सोचा था कि हमें इलेक्ट्रॉनिक्स और बाहरी आवरण की आवश्यकता होगी। फिर हम एक स्केच के साथ आए जो हम चाहते थे कि अलार्म घड़ी कैसी दिखे और हम इसके बाहरी आवरण को कैसे इकट्ठा करेंगे।

चरण 3: बाहरी आवरण बनाना

बाहरी आवरण बनाना
बाहरी आवरण बनाना
बाहरी आवरण बनाना
बाहरी आवरण बनाना

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

चरण 4: बाहरी आवरण को लेजर काटना

लेजर बाहरी आवरण काटना
लेजर बाहरी आवरण काटना

दूसरे प्रोटोटाइप के लिए मैं सटीक माप प्राप्त करना चाहता था और लेजर कटर को भेजने के लिए एक पीडीएफ बनाना था। ऐसा करने के लिए मैंने एक बॉक्स मेकर ऐप वेबसाइट https://boxdesigner.connectionlab.org का उपयोग किया। उस वेबसाइट पर मैंने तब बॉक्स के 3-डी आयाम, हमारी सामग्री की मोटाई, माप इकाइयाँ और मैं किस प्रकार की फ़ाइल बनाना चाहता था, दर्ज किया। बॉक्स का आयाम x 3 में x 5 इंच में 7.5 था और मैंने मोटी एक्रिलिक सामग्री में 1/8 का उपयोग किया था। फिंगर जॉइंट नॉच की माप तब स्वचालित रूप से 0.46875 इंच होने के लिए कॉन्फ़िगर की गई थी। मैंने पीडीएफ संस्करण का चयन किया क्योंकि यह उस प्रकार की फाइल है जिसे लेजर कटर पढ़ता है और मैं फाइल में एडोब में कुछ बदलाव करना चाहता था। मैंने लाइन के रंगों को लाल रंग में बदल दिया, ताकि लेजर कटर आकार को उकेरने के बजाय उन्हें काटने के बारे में जाने, और मैंने 3.92 के आयामों के साथ 1.56 में एक आयत बॉक्स जोड़ा, जो कि सामने का टुकड़ा होने वाला था। डिब्बा। मैंने अलार्म घड़ी से जुड़े कॉर्ड के लिए एक उद्घाटन के रूप में काम करने के लिए नीचे दाईं ओर के टुकड़े पर 1in बाय 0.5in के आयामों के साथ एक आयत काटा। पिछली बार मैंने दो बजर और बटन के लिए शीर्ष पर तीन गोलाकार उद्घाटन जोड़े। बजर के उद्घाटन का व्यास 0.5 इंच था और बटन का उद्घाटन 0.375 इंच था।

चरण 5: इसे एक साथ रखना

एक साथ रखते हुए
एक साथ रखते हुए

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

चरण 6: कोड

परिचय:

इस प्रोजेक्ट को Arduino IDE सॉफ़्टवेयर पर c++ भाषा का उपयोग करके कोडित किया गया था। इस्तेमाल किया गया माइक्रो-कंट्रोलर ESP8266 के साथ NodeMCU था। इस परियोजना के लिए हमें समय को सही ढंग से रखने का एक तरीका चाहिए, बजर से ध्वनि, अलार्म बजने के लिए एक अलार्म सिस्टम, और सभी समय और अलार्म समय प्रदर्शित करने के लिए एक स्क्रीन। पूरे कोड के लिए इस लिंक को देखें

पुस्तकालय आयात करना

सबसे पहले चीज़ें, हमें आवश्यक पुस्तकालयों को आयात करने की आवश्यकता है।

#शामिल "RTClib.h"

#शामिल करें "वायर.एच" #शामिल करें #शामिल करें #शामिल करें #शामिल करें

चर आरंभ करना

आगे हमें बाद के लिए वेरिएबल आरंभ करने, बजर बटनों के लिए पिन लेआउट असाइन करने, RTC सेट करने और LCD डिस्प्ले का I2C पता सेट करने की आवश्यकता है।

लिक्विड क्रिस्टल_आई2सी एलसीडी (0x27, 20, 4);

कॉन्स्ट इंट बजर1 = 12; कॉन्स्ट इंट बजर2 = 0; कॉन्स्ट इंट बटन = 2; आरटीसी_डीएस3231 आरटीसी; char dayOfTheWeek[7][12] = {"रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"} int starttime; इंट एक्टिवटाइम; इंट प्रीवोसटाइम = 0; चार घंटे1[3]; चार अमीन्स1[3]; इंट घंटा1 = 0; इंट मिन1 = 0; चार घंटे २ [३]; चार अमीन्स2[3]; इंट घंटा2 = 0; इंट मिन2 = 0; चार घंटे ३ [३]; चार अमीन्स3[3]; इंट घंटा3 = 0; इंट मिन3 = 0; इंट अलार्म = 0; इंट बाइट रिसीव्ड; चार प्राप्त चार; कास्ट बाइट अंक = 32; चार प्राप्त वर्ण [numChars];

सेट अप

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

व्यर्थ व्यवस्था() {

#ifndef ESP8266 जबकि (! सीरियल); #endif if(! rtc.begin()) { Serial.println ("RTC नहीं मिल सका"); जबकि(1); } अगर (rtc.lostPower ()) { Serial.println ("RTC खोई हुई शक्ति, समय निर्धारित करने देता है!"); rtc.adjust(DateTime(F(_DATE_), F(_TIME_))) } LCD.init (); एलसीडी प्रकाश(); // बकलाइट को चालू करता है। एलसीडी.क्लियर (); // LCD LCD.print को साफ़ करता है ("00:00"); // कोड अपलोड के बाद LCD पर डिस्प्ले LCD.setCursor(10, 0); एलसीडी.प्रिंट ("00:00"); LCD.setCursor(0, 1); LCD.print ("समय"); LCD.setCursor(10, 1); LCD.print ("अलार्म 1"); LCD.setCursor(0, 3); LCD.print ("अलार्म 2"); LCD.setCursor(0, 2); एलसीडी.प्रिंट ("00:00"); LCD.setCursor(१०, ३); LCD.print ("अलार्म 3"); LCD.setCursor(10, 2); एलसीडी.प्रिंट ("00:00"); आरटीसी.बेगिन (); पिनमोड (बटन, इनपुट); // साइलेंस बटन पिनमोड (बजर1, OUTPUT) के लिए एक पिन सेट करें; // बजर आउटपुट पिनमोड (बजर 2, OUTPUT) के लिए एक पिन सेट करें; // बजर आउटपुट के लिए एक पिन सेट करें Serial.begin(9600); Serial.println ("एचएचएमएम प्रारूप में अलार्म का इनपुट समय जिसमें अलार्म के बीच कोई स्थान नहीं है"); प्रारंभ समय = मिली ()/1000; }

डेटा मिल रहा है

अब, हमें अलार्म समय प्राप्त करने में सक्षम होने की आवश्यकता है। ऐसा करने के लिए हमने सीरियल मॉनीटर से डेटा प्राप्त करने और इसे एक सरणी में संग्रहीत करने के लिए एक फ़ंक्शन बनाया है।

शून्य recvWithEndMarker () {

स्थिर इंट एनडीएक्स = 0; स्ट्रिंग टाइमिन = सीरियल.रीडस्ट्रिंग (); के लिए (एनडीएक्स = 0; टाइमइन [एनडीएक्स]; एनडीएक्स ++) {प्राप्त चार्स [एनडीएक्स] = टाइमइन [एनडीएक्स]; } प्राप्त वर्ण [एनडीएक्स] = '\0'; सीरियल.प्रिंट (प्राप्त चार्स); }

अलार्म सेट करना

अगला चरण अलार्म सेट करने में सक्षम हो रहा है। अलार्म 1 के लिए कोड यहां दिया गया है। अलार्म 2 और 3 के लिए एक ही प्रक्रिया को कुछ संख्या परिवर्तनों के साथ दोहराया गया था।

/* अलार्म 1*/

recvWithEndMarker (); इंट एच, एम; के लिए (एच = 0; एच <2; एच ++) {ahours1 [एच] = प्राप्त चर्स [एच]; } के लिए (एम = 2; एम <4; एम ++) {amins1 [एम -2] = प्राप्त चर्स [एम]; } ahours1[h] = '\0'; amins1[m-2] = '\0'; सीरियल.प्रिंट (एक घंटे 1); सीरियल.प्रिंट (amins1); घंटा १ = अतोई (अहौस १); min1 = atoi (amins1); सीरियल.प्रिंट (घंटा 1); सीरियल.प्रिंट (मिन 1);

बजर/बटन

ऐसा करने के साथ, हमें वास्तविक समय और अलार्म समय समान होने पर बजर को बंद करने की आवश्यकता होती है। साथ ही इस चरण में हम एक स्नूज़ जैसा बटन बनाते हैं जो बजर को पकड़ते समय बंद कर देता है।

/* साइलेंस बटन */

गहन मौन; इंट बी; बी = डिजिटलरीड(2); अगर (बी == कम) {मौन = 1; } और {मौन = 0; } /* अलार्म शुरू करें */ अगर (घंटे == घंटा1 && मिनट == मिनट1) {अलार्म = 1; } और अगर (घंटे == घंटा 2 && मिनट == मिनट 2) {अलार्म = 1; } और अगर (घंटे == घंटा 3 && मिनट == मिनट 3) {अलार्म = 1; } और {अलार्म = 0; मौन = 0; } अगर (अलार्म == 1 && मौन == 0) {टोन (बजर1, 4000, 1000); टोन (बजर 2, 4000, 1000); देरी (1000); नोटोन (बजर 1); नोटोन (बजर 2); देरी (1000); }

प्रिंटिंग टाइम्स

अंत में, हमें अलार्म समय और वास्तविक समय को एलसीडी स्क्रीन पर प्रिंट करना होगा।

डेटटाइम अब = rtc.now ();

int घंटे = (अब। घंटा ()); इंट मिनट = (अब। मिनट ()); /* 00:00 प्रारूप में अलार्म समय */lcd.setCursor(10, 0); LCD.प्रिंट (ahours1); LCD.setCursor(13, 0); LCD.print(amins1);lcd.setCursor(0, 2); LCD.प्रिंट (ahours2); LCD.setCursor(3, 2); LCD.प्रिंट (amins2); LCD.setCursor(10, 2); LCD.प्रिंट (ahours3); LCD.setCursor(13, 2); LCD.प्रिंट (amins3); /* आरटीसी से प्रदर्शन समय */lcd.setCursor(0, 0); एलसीडी.प्रिंट (घंटे); एलसीडी.प्रिंट (":"); एलसीडी.प्रिंट (मिनट);

चरण 7: इलेक्ट्रॉनिक्स

इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स

इस परियोजना के इलेक्ट्रॉनिक्स के कई टुकड़े हैं, जैसा कि सामग्री के बिल में देखा गया है। पहली छवि अंतिम इलेक्ट्रॉनिक्स परियोजनाओं का एक योजनाबद्ध है। दूसरी छवि हमारी अंतिम इलेक्ट्रॉनिक डिज़ाइन है। तीसरी छवि दूसरे प्रोटोटाइप के बीच में हमारे प्रोजेक्ट की है।

अपने NodeMCU को अपने ब्रेडबोर्ड के बहुत दूर तक संलग्न करना शुरू करने के लिए। फिर आपको अपने सभी अन्य इलेक्ट्रॉनिक्स को NodeMCU और ब्रेडबोर्ड से कनेक्ट करना होगा। अपनी LCD स्क्रीन को SCL के लिए पिन D1 और SDA के लिए D2 से कनेक्ट करके प्रारंभ करें। एलसीडी उपयोगकर्ता को वर्तमान समय और सेट अलार्म समय देखने की अनुमति देगा। अब अपने बजर को पिन D3 और D6 से जोड़ने के लिए एक तार लगाएं। बजर समय निर्धारित होने पर अलार्म को उपयोगकर्ता को सचेत करने की अनुमति देगा। अलार्म को बंद करने की अनुमति देने के लिए अब आपको एक बटन संलग्न करना होगा। D4 को पिन करने के लिए इस बटन को संलग्न करें। अब आप अपनी रीयल-टाइम घड़ी को ब्रेडबोर्ड से जोड़ देंगे। रीयल-टाइम घड़ी को तार दें ताकि यह एलसीडी डिस्प्ले के लिए उपयोग किए जाने वाले एसडीए और एससीएल पिन का उपयोग करे।

चरण 8: अंतिम

अंतिम
अंतिम

यदि आपने दी गई जानकारी का पालन किया है तो आपकी परियोजना ऊपर की छवि की तरह दिख सकती है। हम इस परियोजना को फिर से बनाने के आपके प्रयासों में आपको शुभकामनाएं देते हैं और जब आपने अपनी परियोजना पूरी कर ली है तो हम आपको टिप्पणियों में हमारे साथ तस्वीरें और टिप्पणियां साझा करने के लिए प्रोत्साहित करते हैं। धन्यवाद और शुभकामनाएँ साथी मेकर्स।

सिफारिश की: