विषयसूची:

बच्चों की नींद प्रशिक्षण घड़ी: 6 कदम (चित्रों के साथ)
बच्चों की नींद प्रशिक्षण घड़ी: 6 कदम (चित्रों के साथ)

वीडियो: बच्चों की नींद प्रशिक्षण घड़ी: 6 कदम (चित्रों के साथ)

वीडियो: बच्चों की नींद प्रशिक्षण घड़ी: 6 कदम (चित्रों के साथ)
वीडियो: Learn The Clock | Telling the Time | Pebbles Learning Videos 2024, जुलाई
Anonim
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी
बच्चों की नींद प्रशिक्षण घड़ी

मुझे अपने ४ साल के जुड़वा बच्चों को थोड़ी देर सोना सीखने में मदद करने के लिए एक घड़ी की ज़रूरत थी (शनिवार को सुबह ५:३० बजे उठने के लिए मेरे पास पर्याप्त समय था), लेकिन वे अभी तक समय नहीं पढ़ सकते हैं। एक बहुत ही लोकप्रिय शॉपिंग साइट पर कुछ आइटम ब्राउज़ करने के बाद, मैंने सोचा, "सिर्फ एक बनाना कितना कठिन होगा?"

तो यहाँ मुझे लगा कि मैं इस परियोजना में क्या चाहता हूँ। यह तीन अलग-अलग रंगों को प्रदर्शित करने के लिए कुछ RGB LED का उपयोग करेगा (ज्यादातर इसलिए कि मेरे पास किसी अन्य प्रोजेक्ट से उनमें से लगभग पचास हैं)। लाल का मतलब होगा वापस सो जाओ, जागना बहुत जल्दी है। पीले रंग का मतलब होगा कि वे उठकर चुपचाप अपने कमरे में खेल सकते हैं। हरा, बेशक इसका मतलब है कि आप उठ सकते हैं। मैं भी समय को समायोजित करने में सक्षम होना चाहता था, क्योंकि मैं कुछ दिनों (सप्ताहांत/छुट्टियां बनाम सप्ताहांत और ऐसे) में अधिक समय तक सोना चाहता हूं।

आपूर्ति

रास्पबेरी पाई जीरो डब्ल्यू

दो आरजीबी एलईडी

छह 220 ओम रोकनेवाला's

फ़ाइलें (.stl, python, html) यहाँ मिलीं

आवश्यकतानुसार विभिन्न छोटे स्क्रू, तार और छोटे हिस्से।

चरण 1: 3डी प्रिंटिंग

3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग

मेरी बेटी वास्तव में गेंडा पसंद करती है, इसलिए इस परियोजना के लिए मैंने Riven02 की यूनिकॉर्न नाइटलाइट को रीमिक्स किया, जो कि Apachcreation की यूनिकॉर्न ट्रॉफी का रीमिक्स है, जिसे Thingiverse.com पर पाया जा सकता है और क्रिएटिव कॉमन्स गैर-वाणिज्यिक लाइसेंस के तहत उपयोग किया जा सकता है। मैंने रास्पबेरी पाई ज़ीरो के लिए पावर कॉर्ड फिट करने के लिए यूनिकॉर्न बेस को संशोधित किया। मेरे पास कुछ AMZ3D लाल PLA बिछा हुआ था, इसलिए गेंडा का आधार और सिर लाल होगा। मैंने हॉर्न के लिए क्लियर/पारभासी पीएलए का इस्तेमाल किया। मेरे द्वारा उपयोग की जाने वाली.stl फ़ाइलें और सेटिंग्स हैं:

गेंडा.stl

  • परत की ऊँचाई: 0.02
  • दीवार की मोटाई:.8
  • वॉल लाइन काउंट: 2
  • इन्फिल: 15%
  • इन्फिल पैटर्न: ग्रिड

यूनिकॉर्नबेस.stl

  • परत की ऊँचाई: 0.02
  • दीवार की मोटाई:.8
  • वॉल लाइन काउंट: 2
  • इन्फिल: 15%
  • इन्फिल पैटर्न: ग्रिड

Horn.stl

  • परत की ऊँचाई: 0.02
  • दीवार की मोटाई: 0.8
  • वॉल लाइन काउंट: 3
  • इन्फिल: 0

चरण 2: सर्किट

सर्किट
सर्किट
सर्किट
सर्किट
सर्किट
सर्किट

सर्किट काफी आसान है। मैंने आरजीबी के विभिन्न रंगों के लिए चालू/बंद को नियंत्रित करने के लिए छह अलग-अलग जीपीआईओ पिन चुने। वे पिन और संबंधित एलईडी रंग हैं:

  • पिन 11 से RGB 1 RED
  • पिन 13 से RGB 1 हरा
  • पिन 15 से RGB 1 BLUE
  • पिन 16 से RGB 2 RED
  • पिन 18 से RGB 2 ग्रीन
  • पिन 36 से RGB 2 BLUE
  • पिन 39 टू ग्राउंड

प्रत्येक पिन को 220 ओम के करंट लिमिटिंग रेसिस्टर (जमीन के अपवाद के साथ) के माध्यम से रेसिस्टर से जोड़ा जाता है। मैंने रेसिस्टर को लाइन में मिलाया और इसे हीट सिकुड़ ट्यूबिंग के साथ कवर किया।

चरण 3: रास्पबेरी पाई तैयारी

मैं वेब इंटरफेस का उपयोग करके स्लीप ट्रेनर घड़ी के लिए समय निर्धारित करने में सक्षम होना चाहता था। इसलिए मुझे रास्पबेरी पाई पर एक अपाचे और PHP सर्वर स्थापित करने की आवश्यकता थी। रास्पबेरी पाई पर नया सॉफ़्टवेयर स्थापित करते समय पहली बात जो आपको हमेशा करनी चाहिए, वह यह सुनिश्चित करना है कि यह टाइप करके अद्यतित है:

सुडो एपीटी-अपडेट प्राप्त करें

उसके बाद, हम वास्तव में व्यापार में उतर सकते हैं। हम Apache2 को स्थापित करके ऐसा करेंगे:

sudo apt-apache2 -y. स्थापित करें

यह अपाचे वेब सर्वर स्थापित करना चाहिए। आप रास्पबेरी पाई पर एक ब्राउज़र का उपयोग करके और यहां नेविगेट करके इसका परीक्षण कर सकते हैं:

लोकलहोस्ट/

या किसी अन्य कंप्यूटर के ब्राउज़र से अपने रास्पबेरी पाई के आईपी पते पर नेविगेट करके। अपना आईपी पता प्रकार खोजने के लिए:

होस्टनाम -I

ऐसा करने से एक डिफ़ॉल्ट Apache वेब सर्वर पेज बन जाएगा। इसे /var/www/html/ निर्देशिका में स्थित index.html को बदलकर बदला जा सकता है। इसे मेरी अपनी index.html फ़ाइल से बदला जा सकता है।

इसके बाद हम PHP फ़ाइलों को चलाने में सक्षम होने के लिए Apache वेब सर्वर सेट करेंगे। टाइप करके प्रारंभ करें:

sudo apt-php libapache2-mod-php -y. स्थापित करें

अब आप sleepset.php फ़ाइल को /var/www/html में index.html फ़ाइल के साथ रखने में सक्षम होना चाहिए।

अपने स्वयं के नेटवर्क में इस पृष्ठ पर नेविगेट करने के लिए, आपको अपने रास्पबेरी पाई को एक स्थिर आईपी पते के साथ सेट करना होगा (या आप नए आईपी पते का पता लगाने की कोशिश कर सकते हैं जब आपका नेटवर्क इसे अभी और फिर नवीनीकृत करता है)। इसे काम करने के लिए आपको कुछ फाइलों को संपादित करना होगा। आपको /etc/dhcpcd.conf फ़ाइल को निम्नलिखित के साथ संपादित करना होगा:

इंटरफ़ेस wlan0

स्थिर ip_address=192.168.1.स्थिर राउटर=192.168.1.1 स्थिर डोमेन_नाम_सर्वर=192.168.1.1

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

सुडो रिबूट

Google ड्राइव लिंक से फ़ाइलों का स्थान इस प्रकार होना चाहिए:

  • index.html और sleepset.php को /var/www/html निर्देशिका में रखा जाना चाहिए
  • sleepset.txt और sleeptrainer1_1.py को /home/pi/pythoncode निर्देशिका में रखा जाना चाहिए (संकेत: आपको यह निर्देशिका बनानी होगी)

इन फ़ाइलों को सही निर्देशिका में रखने के बाद, स्टार्टअप पर स्लीपट्रेनर1_1.py प्रोग्राम चलाने के लिए rc.local फ़ाइल को संशोधित करने की आवश्यकता है। rc.local फ़ाइल को संशोधित करने के लिए आपको रूट-स्तरीय पहुंच की आवश्यकता होगी, इसलिए टाइप करें:

सुडो नैनो /etc/rc.local

संपादक में, नीचे स्क्रॉल करें, और 0 लाइन से बाहर निकलने से ठीक पहले, जोड़ें:

अजगर /home/pi/pythoncode/sleeptrainer1_1.py &

यहाँ दो बातें याद रखने योग्य हैं:

  1. पूर्ण फ़ाइलपथ का उपयोग करें ताकि LINUX यह न सोचे कि स्लीपट्रैनर1_1.py फ़ाइल उसी निर्देशिका में स्थित है जिसमें rc.local है।
  2. अंत में एम्परसेंड (&) को न भूलें। यह LINUX को इस फ़ाइल को पृष्ठभूमि में चलाने और बूटिंग जारी रखने की अनुमति देगा।

अब, ctrl-x टाइप करके फाइल को सेव करें और फिर y जब सेव करने के लिए कहा जाए और फिर ENTER करें।

इसके बाद sudo रिबूट टाइप करें।

यहां कहीं यह उल्लेख किया जाना चाहिए कि (कम से कम) आपको पासवार्ड कमांड का उपयोग करके अपना रास्पबेरी पाई पासवर्ड बदलना चाहिए। यदि आपने अभी तक ऐसा नहीं किया है, तो अब एक अच्छा समय होगा।

चरण 4: कोड

स्लीपट्रेनर1_1.py फ़ाइल का कोड निम्नलिखित है। मैंने स्लीपसेट.txt फ़ाइल में पढ़े गए समय की तुलना करने के लिए डेटाटाइम ऑब्जेक्ट का उपयोग किया। पाठ फ़ाइल केवल दो पंक्तियों की है, पहली घंटे के लिए, दूसरी मिनट के लिए। स्लीपट्रेनर1_1.py लूप पुनरावृत्तियों के बीच एक मिनट के लिए सोता है ताकि प्रोसेसर को टाई न किया जा सके। हरी बत्ती मूल रूप से बहुत तेज निकल रही थी, इसलिए मैंने इसे मंद करने के लिए पल्स चौड़ाई मॉडुलन का उपयोग किया जब लाल रंग के साथ पीला बनाने के लिए उपयोग किया गया।

पायथन कोड:

RPI. GPIO को GPIO के रूप में आयात करें

डेटाटाइम आयात डेटाटाइम से डीटी आयात समय के रूप में GPIO.setmode(GPIO. BOARD) GPIO.setwarnings(False) red1 = 11 red2 = 16 green1 = 13 green2 = 18 blue1 = 15 blue2 = 36 GPIO.setup(red1, GPIO. OUT) GPIO.setup(red2, GPIO. OUT) GPIO.setup(green1, GPIO. OUT) GPIO.setup(green2, GPIO. OUT) GPIO.setup(blue1, GPIO. OUT) GPIO.setup(blue2, GPIO. OUT) p1 = GPIO. PWM(green1, 100) p2 = GPIO. PWM(green2, 100) def readset(): setfile = open("/home/pi/pythoncode/sleepset.txt", 'r') a = setfile. रीडलाइन () बी = सेटफाइल। रीडलाइन () ए = इंट (ए) बी = इंट (बी) रिटर्न ए, बी डीईएफ़ एलईडीलाइट (रंग): अगर (रंग == "लाल"): GPIO.output (red1, GPIO. उच्च) GPIO.output(red2, GPIO. HIGH) p1.stop() p2.stop() GPIO.output(blue1, GPIO. LOW) GPIO.output(blue2, GPIO. LOW) elif (रंग == "नीला"): GPIO.output(red1, GPIO. LOW) GPIO.output(red2, GPIO. LOW) p1.stop() p2.stop() GPIO.output(blue1, GPIO.high) GPIO.output(blue2, GPIO. उच्च) एलिफ (रंग == "हरा"): GPIO.output(red1, GPIO. LOW) GPIO.output(red2, GPIO. LOW) p1.start(100) p2.start(100) GPIO.output(blue1, GPIO. LOW) GPIO.output(blue2, GPIO. LOW) elif (रंग == "पीला"): p1.start(60) p2.start(60) GPIO.output(red1, GPIO. HIGH) GPIO.output (red2, GPIO. HIGH) GPIO.output(blue1, GPIO. LOW) GPIO.output(blue2, GPIO. LOW) elif (रंग == "ऑफ"): GPIO.output(red1, GPIO. LOW) GPIO.output (red2, GPIO. LOW) GPIO.output(blue1, GPIO. LOW) GPIO.output(blue2, GPIO. LOW) p1.stop() p2.stop() जबकि ट्रू: सेटटाइम = रीडसेट () घंटा, मिनट = सेटटाइम अगर मिनट == 0: अगर डीटी (डीटी। अब ()। वर्ष, डीटी.अब ()। महीना, डीटी.अब ()। दिन, घंटा -2) < डीटी। अब () < डीटी (डीटी। अब ().वर्ष, दिनांक.अब ()। माह, दिनांक.अब ()। दिन, घंटा -1, मिनट + 30): एलईडीलाइट ("लाल") एलिफ डीटी (डीटी। अब ()। वर्ष, डीटी। अब ().माह, तारीख.अब (.दिन, घंटा-1, मिनट+30) < डीटी.अब ().दिन, घंटा, मिनट): एलईडीलाइट ("पीला") एलिफ डीटी (डीटी। अब ()। वर्ष, डीटी। अब ()। महीना, डीटी। अब ()। दिन, घंटा, मिनट) < डीटी। अब () <dt(dt.now().year, dt.now().month, dt.now().day, घंटा+1, मिनट): एलईडीलाइट ("ग्रीन") और: एलईडीलाइट ("ऑफ") एलिफ dt(dt.now().year, dt.now().month, dt.now().day, ho ur-2) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day, घंटा, मिनट-30): एलईडीलाइट ("रेड") elif dt(dt.now().year, dt.now().month, dt.now().दिन, घंटा, मिनट-30) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().दिन, घंटा, मिनट): एलईडीलाइट ("पीला") elif डीटी (डीटी। अब ()। वर्ष, डीटी। अब ()। महीना, डीटी। अब (.दिन, घंटा, मिनट) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day, घंटा+1, मिनट): एलईडीलाइट ("हरा") और: एलईडीलाइट ("बंद") समय। नींद (60)

फ़ाइल index.html HTML में डिज़ाइन किया गया एक मूल रूप है। यह दो टेक्स्ट बॉक्स की सामग्री लेता है और उन्हें स्लीपसेट.php फ़ाइल में फॉर्म हैंडलिंग के लिए भेजता है। PHP फ़ाइल केवल अद्यतन डेटा के साथ sleepset.txt फ़ाइल को अधिलेखित कर देती है।

चरण 5: यह सब एक साथ रखना

यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें

कोडिंग समाप्त होने और सभी भागों के प्रिंट होने के साथ, यह असेंबली का समय है। मैंने यह सब एक साथ रखने के लिए इन चरणों का पालन किया:

  1. आरजीबी एलईडी के आकार के दो छोटे छेदों को हॉर्न के नीचे ड्रिल करें और एलईडी को इन छेदों में रखें।
  2. गेंडा के सिर के छेद में हॉर्न रखें और इसे तब तक खींचे जब तक यह कड़ा न हो जाए। सींग को सुरक्षित करने के लिए अंदर से गोंद का प्रयोग करें।
  3. रास्पबेरी पाई ज़ीरो डब्ल्यू को गेंडा सिर के अंदर से संलग्न करें। (हो सकता है कि हॉट ग्लू गन का उपयोग करना)
  4. यूनिकॉर्न हेड को यूनिकॉर्न बेस से अटैच करें।
  5. पावर कॉर्ड संलग्न करें, और पूरी असेंबली को दीवार से जोड़ दें।
  6. घड़ी में प्लग करें।

इस बिंदु पर मेरे पास एक कामकाजी बच्चों की स्लीप ट्रेनर घड़ी है।

चरण 6: एक साल बाद …

एक साल बाद …
एक साल बाद …

एक साल बाद:

मेरी लड़कियां थोड़ी देर में सो रही हैं। हमें अपने कमरे में छोटे बच्चों को जगाने की आदत हो गई है, "पिताजी, बत्ती हरी है।" और यह बहुत अच्छा है। लंबी कहानी छोटी, हम शनिवार को सुबह 5:30 बजे ही उठते हैं जब हम इसकी योजना बनाते हैं।

जिन चीजों को मैं भविष्य में सुधारने की योजना बना रहा हूं:

  • हो सकता है कि कुछ सेंसर या अन्य आइटम जैसे माइक और स्पीकर जोड़ना।
  • हो सकता है कि अलार्म घड़ी के रूप में उपयोग करने के लिए स्पीकर के साथ काम करने के लिए कोड संपादित करें क्योंकि मेरे बच्चे जल्द ही स्कूल शुरू कर देंगे।

सिफारिश की: