विषयसूची:

ए बैक टू द फ्यूचर क्लॉक: 8 स्टेप्स (चित्रों के साथ)
ए बैक टू द फ्यूचर क्लॉक: 8 स्टेप्स (चित्रों के साथ)

वीडियो: ए बैक टू द फ्यूचर क्लॉक: 8 स्टेप्स (चित्रों के साथ)

वीडियो: ए बैक टू द फ्यूचर क्लॉक: 8 स्टेप्स (चित्रों के साथ)
वीडियो: Credit Card कैसे कर देता है 'कंगाल'? Banks कभी नहीं बताते ये नुकसान की बातें | AajTak Digital 2024, नवंबर
Anonim
ए बैक टू द फ्यूचर क्लॉक
ए बैक टू द फ्यूचर क्लॉक

इस परियोजना ने मेरे बेटे के लिए अलार्म घड़ी के रूप में जीवन शुरू किया। मैंने इसे बैक टू द फ्यूचर के टाइम सर्किट की तरह दिखने के लिए बनाया है। प्रदर्शन विभिन्न प्रारूपों में समय दिखा सकता है, जिसमें निश्चित रूप से फिल्मों में से एक भी शामिल है। यह बाड़े के शीर्ष पर स्थित बटनों के माध्यम से कॉन्फ़िगर करने योग्य है, लेकिन अंदर रास्पबेरी पाई ज़ीरो द्वारा परोसे गए वेब पेज के माध्यम से भी। प्रदर्शन मोड में से एक में यह स्थानीय मौसम (मेरे Arduino- संचालित मौसम स्टेशन से) के साथ-साथ पूर्वानुमान और वेब इंटरफ़ेस के माध्यम से कॉन्फ़िगर किए गए किसी भी दैनिक अनुस्मारक को दिखाएगा। इसमें डीएसी के लिए ऑडियो धन्यवाद भी है और एयरप्ले प्रोटोकॉल का उपयोग करके संगीत स्ट्रीम करेगा। अलार्म ध्वनि आपके द्वारा चुनी गई कोई भी ऑडियो फ़ाइल हो सकती है। यह दिन के दिए गए समय (जैसे सुबह और शाम) में डिस्प्ले को स्वचालित रूप से मंद और चमकीला कर देगा।

चरण 1: पृष्ठभूमि

पिछले साल मैं एक नए Arduino प्रोजेक्ट की खोज कर रहा था, जिसने अभी-अभी अपना पहला होम वेदर स्टेशन पूरा किया है। मेरे 11 साल के बेटे ने पहली बार बैक टू द फ्यूचर फिल्में देखी थीं, इसलिए मैंने सोचा कि उसके जन्मदिन के लिए डेलोरियन में टाइम सर्किट की तरह दिखने वाली अलार्म घड़ी बनाना मजेदार होगा। यह एक नया विचार नहीं है, वहाँ कुछ समान परियोजनाएं हैं (उदाहरण के लिए यह एक), इसलिए मैंने सोचा कि यह दूसरों से सीखने और कुछ नए कौशल लेने के लिए एक अच्छी परियोजना होगी।

पहले संस्करण ने काफी अच्छा काम किया (यह उनके जन्मदिन के लिए तैयार नहीं था: मैंने इसे क्रिसमस तक किया था) लेकिन मैं जो करना चाहता था उसमें मैं काफी महत्वाकांक्षी हो गया और पाया कि मेरा स्केच Arduino की स्मृति सीमा में चल रहा है। मेरे पास कई छोटे बाहरी हार्डवेयर मॉड्यूल (वाईफाई, एमपी3 प्लेयर, ऑडियो एम्पलीफायर, आरटीसी आदि) भी थे, इसलिए यह सब थोड़ा बोझिल हो रहा था। अंत में, मैंने रास्पबेरी पाई प्लेटफॉर्म पर जाने का फैसला किया, जिसने हार्डवेयर को सरल बनाया और मुझे बहुत अधिक कार्यक्षमता और सुविधाओं में पैक करने की अनुमति दी।

चरण 2: मुख्य हार्डवेयर घटक

बॉक्स के अंदर

यहां मेरे द्वारा उपयोग किए जाने वाले इलेक्ट्रॉनिक घटक हैं। उनमें से ज्यादातर ऑस्ट्रेलिया में कोर इलेक्ट्रॉनिक्स के स्रोत थे लेकिन निश्चित रूप से वे कहीं और भी आसानी से उपलब्ध हैं:

  • 4 x क्वाड अल्फ़ान्यूमेरिक डिस्प्ले-येलो-ग्रीन
  • रास्पबेरी पाई जीरो डब्ल्यू
  • रास्पबेरी पाई ज़ीरो के लिए पिमोरोनी पीएचएटी डीएसी
  • ऑडियो एम्प (PAM8403 IC)
  • रास्पबेरी पाई 3+ बिजली की आपूर्ति
  • 4 एक्स जम्पर तार - 0.1 ", 5-पिन, 12"
  • 40 पिन (2 x 20) रिबन केबल
  • रास्पबेरी पाई GPIO पुरुष हैडर
  • रास्पबेरी पाई मॉडल बी - जीपीआईओ कटा हुआ हैडर (2X20)
  • पीआई ए+/बी+/पीआई 2/पीआई 3 के लिए जीपीआईओ स्टैकिंग हैडर - अतिरिक्त-लंबा 2X20
  • 4 x 5 पिन पुरुष हेडर
  • 2 छोटे 3W स्पीकर
  • एनालॉग ऑडियो कनेक्शन DAC से Amp. के लिए 2 x समाक्षीय केबल
  • एक amp, एलईडी, बटन के लिए आरपीआई को संभालने के लिए वेराबोर्ड या कस्टम पीसीबी
  • 5 एक्स क्षणिक पुश-बटन स्विच
  • 4 एक्स 2-वे पीसीबी-माउंटेबल स्क्रू टर्मिनल ब्लॉक

डिब्बा

  • 'चेसिस' बनाने के लिए एमडीएफ के टुकड़े और टुकड़े, स्क्रू और बोल्ट
  • ग्रीन टिंटेड पर्सपेक्स, स्थानीय आपूर्तिकर्ता
  • एक स्थानीय शौक की दुकान से स्टाइरीन, मॉडलिंग गोंद, स्प्रे पेंट (एल्यूमीनियम रंग)
  • स्टिकर (फ़ाइल अनुरोध पर उपलब्ध - Redbubble द्वारा मुद्रित)

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

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

घड़ी के लिए एलईडी डिस्प्ले में 16x14-सेगमेंट अल्फ़ान्यूमेरिक डिस्प्ले होते हैं, सौभाग्य से बैक टू द फ्यूचर टाइम सर्किट के समान वर्ण होते हैं। जबकि केवल पहले तीन वर्णों को अल्फ़ान्यूमेरिक होने की आवश्यकता होती है और बाकी 7-सेगमेंट संख्यात्मक डिस्प्ले हो सकते हैं जो मूवी प्रोप का अनुकरण करने के लिए हो सकते हैं, मैंने उन सभी को अल्फ़ान्यूमेरिक बनाने का फैसला किया, जो प्रदर्शित किया जा सकता है और उन सभी को देखते रहने के लिए कुछ लचीलेपन की अनुमति देता है। वैसा ही। एडफ्रूट क्वाड-बैकपैक यहां एक बेहतरीन समाधान है और इसे रास्पबेरी पाई की I2C बस पर चलाया जा सकता है। इन इकाइयों के बारे में अधिक जानकारी और उन्हें कैसे तार-तार करना है, यहां एडफ्रूट वेबसाइट पर पाया जा सकता है। केवल थोड़ी सी गैर-मानक चीज जो मुझे करनी थी, उनमें से तीन के पते बदल दिए गए थे, इसलिए प्रत्येक बैकपैक अद्वितीय था।

ऑडियो चलाने के लिए (स्टीरियो में), मैंने PAM8403 चिप पर आधारित Pimoroni pHAT DAC और 2 x 3W स्टीरियो ऑडियो एम्पलीफायर शामिल किया। PHAT DAC वास्तव में Pi से जुड़ना आसान है। मैंने पाई पर 2 x 20 पिन पुरुष हेडर और DAC पर एक GPIO स्टैकिंग हेडर लगाया ताकि उन्हें दूसरे के ऊपर एक साथ प्लग किया जा सके। पुरुष हेडर पिन डीएसी के शीर्ष से गुजरते हैं, जिससे मुझे महिला कनेक्टर्स के साथ एक रिबन केबल चलाने की अनुमति मिलती है, शुरुआत में ब्रेडबोर्ड-परीक्षण के लिए रास्पबेरी पाई ब्रेकआउट के लिए, लेकिन अंततः एक कस्टम-निर्मित पीसीबी पर एक कटा हुआ हेडर के लिए।

ऑडियो एम्पलीफायर के लिए, बहुत सारे विकल्प हैं (जिसमें केवल चिप प्राप्त करना और स्वयं को असेंबल करना शामिल है)। यह केवल एक पिन की स्थिति को बदलकर आउटपुट को म्यूट करने का विकल्प है (उच्च चालू है, कम बंद है) और मैंने इसे तार दिया ताकि इसे पीआई से नियंत्रित किया जा सके। इसे वायर करने के अपने शुरुआती प्रयासों में, जब ऑडियो चालू था, तो मुझे काफी पृष्ठभूमि शोर का पता चला। ग्राउंडिंग के साथ बहुत खेलने के बाद, मैंने अंततः इनपुट आपूर्ति वोल्टेज को Pi के 5V से 3.3V तक ले जाने की कोशिश की और इसे ठीक कर दिया। मुझे लगता है कि चारों ओर उड़ने वाले विभिन्न डिजिटल संकेतों से काफी शोर उत्पन्न होता है, लेकिन ऐसा लगता है कि 3.3V आपूर्ति किसी तरह अलग-थलग है।

अन्य कनेक्शनों में डीएसी से एम्पलीफायर तक का एनालॉग ऑडियो शामिल है (मैंने शोर पिकअप को प्रबंधित करने में मदद के लिए यहां समाक्षीय केबल का उपयोग किया है) और छोटे 3W स्पीकर की एक जोड़ी के लिए आउटपुट ऑडियो जो बाड़े में फिट होते हैं। बॉक्स के शीर्ष पर चार क्षणिक स्विच के लिए GPIO कनेक्शन भी हैं और मैंने हार्ड रीसेट "RUN" पिन के लिए एक क्षणिक बटन को तार दिया (इस पृष्ठ पर अतिरिक्त कनेक्शन अनुभाग देखें)। बाड़े के पीछे रीसेट बटन को दृष्टि से बाहर रखा गया है। यहाँ एक आरेख है जो कनेक्शन दिखा रहा है:

चरण 4: एक कस्टम पीसीबी

एक कस्टम पीसीबी
एक कस्टम पीसीबी

जबकि सर्किट के बारे में कुछ भी जटिल नहीं है, वहां काफी वायरिंग है और एक ब्रेडबोर्ड बहुत जल्दी स्पेगेटी की तरह दिख सकता है। इसलिए मैंने इसे नियंत्रण में रखने के लिए एक पीसीबी डिजाइन किया। यह एक होम-ब्रू सिंगल साइडेड बोर्ड है और मुझे इसे बनाने में मदद करने के लिए एक दोस्त मिला है। इसे बनाने और तार-तार करने के बाद, मुझे एहसास हुआ कि मैं ऑडियो के लिए टर्मिनल ब्लॉक के लिए कनेक्शन शामिल करना भूल गया था और मैंने बाद में ऑडियो amp आपूर्ति को 5V से 3.3V तक ले जाने के लिए एक बदलाव किया, इसलिए यह आदर्श नहीं है और मुझे इससे निपटना पड़ा ऑडियो कनेक्शन की अनुमति देने के लिए कुछ Veroboard. इसके अलावा, ऑडियो amp बोर्ड पिनआउट एक गैर-मानक पृथक्करण पर हैं (वे पिन के बीच भी भिन्न होते हैं) इसलिए इसके लिए मुख्य पीसीबी से कनेक्शन 11 छोटे ~ 1cm कनेक्शन तारों के साथ थोड़ा भयानक है।

अगर मैंने एक और बोर्ड बनाया है, तो मैं इन सभी संशोधनों को शामिल करूंगा और चार बटनों के लिए कनेक्टर को कुछ अच्छे से बदल दूंगा। DAC और Pi ठीक ऊपर स्टैक करेंगे, इसलिए किसी रिबन केबल की आवश्यकता नहीं है। ऊपर दिया गया चित्र दिखाता है कि यह कैसा दिख सकता है।

चरण 5: संलग्नक

संलग्नक
संलग्नक
संलग्नक
संलग्नक
संलग्नक
संलग्नक

मैं एक बाड़ा बनाना चाहता था जो मूवी टाइम सर्किट की एक पंक्ति की तरह दिखे। एलईडी डिस्प्ले की तीन पंक्तियाँ अलार्म घड़ी के लिए बहुत अधिक होतीं और इससे लागत में उल्लेखनीय वृद्धि होती। मैंने एल्युमीनियम से बाड़े को बनाने के बारे में सोचा लेकिन मेरे पास उस क्षेत्र में कोई कौशल नहीं है। हालांकि, मैंने अपने जीवन में कुछ प्लास्टिक मॉडल बनाए हैं, और कुछ लकड़ी के काम का अनुभव है, इसलिए एल ई डी और स्पीकर को माउंट करने के लिए एमडीएफ का उपयोग करके एक फ्रेम बनाने का फैसला किया और सामने की तरफ पर्सपेक्स को ठीक किया, फिर 5 तरफा स्टाइरीन के साथ कवर किया। सामने की तरफ बेज़ल वाला बॉक्स, जिसे एल्युमिनियम मैटेलिक स्प्रे पेंट से रंगा गया है। प्लास्टिक और पेंट एक स्थानीय मॉडल की दुकान से प्राप्त किए गए थे। मैंने मूवी प्रोप पर लेबलों को करीब से देखा और रंग, फ़ॉन्ट प्रकार और आकार को कॉपी करने की पूरी कोशिश की। मैंने लेबल बनाने के लिए फोटोशॉप का इस्तेमाल किया और उन्हें Redbubble से स्टिकर के रूप में प्रिंट करवाया।

ऊपर दिए गए चित्र दिखाते हैं:

  1. एमडीएफ चेसिस के सामने। 4 एलईडी बैकपैक्स को हरे रंग के पर्सपेक्स के साथ आगे की तरफ माउंट किया गया है
  2. बॉक्स के अंदर। बैकपैक्स सभी माउंटेड और लाइन अप, रास्पबेरी पाई और कस्टम पीसीबी, दोनों तरफ स्पीकर।
  3. तारों को स्थापित किया गया और बाहरी आवरण जारी रखने के लिए तैयार है। यह थोड़ा सा निचोड़ था!

चरण 6: रास्पबेरी पाई की स्थापना

मेरे पास रास्पियन स्ट्रेच के साथ कुछ संगतता मुद्दे थे (जो कि अगर मैं जारी रहता तो हल हो सकता था) लेकिन जेसी इसके साथ ठीक काम करता है, इसलिए मैंने इसके साथ जाने का फैसला किया।

मैंने पाई को वीएनसी और एसएसएच एक्सेस के साथ एक हेडलेस यूनिट के रूप में स्थापित किया। यह कभी भी कीबोर्ड या मॉनिटर में प्लग किए बिना किया जा सकता था, लेकिन मैंने सिर्फ टीवी उधार लिया और एक कीबोर्ड को खंगाला, और यह बहुत जल्दी बिना सिर के हो गया। तब से, मैंने तब से बहुत अधिक VNC का उपयोग किया है।

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

पायथन पुस्तकालय

  • Adafruit_LED_Backpack
  • Rpi. GPIO (apt-get install python-rpi.gpio)
  • अलसौडियो
  • paho.mqtt.client (pip install paho-mqtt)
  • फ्लास्क (उपयुक्त-पायथन-फ्लास्क स्थापित करें)

अन्य पैकेज आदि

  • मच्छर (उपयुक्त-प्राप्त मच्छर स्थापित करें)
  • शायरपोर्ट
  • पिमोरोनी वेब साइट में डीएसी की स्थापना पर कुछ अच्छे दस्तावेज हैं, इसलिए मैं बस उसी के साथ भागा।

चरण 7: सॉफ्टवेयर

Image
Image
सॉफ्टवेयर
सॉफ्टवेयर

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

ऊपर दी गई पहली छवि दिखाती है कि घड़ी अपने विभिन्न प्रदर्शन मोड में कैसी दिखती है, और एक छोटा वीडियो है जो इसे स्क्रॉलिंग मोड में दिखा रहा है।

जबकि कोड देखने में सुंदर नहीं है, यह अच्छा और स्थिर है। मुझे इसे अनुरोध करने वाले किसी भी व्यक्ति को भेजने में खुशी हो रही है और जब यह बेहतर ढंग से व्यवस्थित और टिप्पणी करेगा तो इसे ऑनलाइन रखूंगा।

वेब ऐप

अगली छवि दिखाती है कि घड़ी का वेब इंटरफ़ेस कैसा दिखता है। कॉन्फ़िगर और एक नियंत्रण पृष्ठ भी हैं और ये बहुत सारे बटन मैशिंग के बिना घड़ी के साथ खेलना बहुत आसान बनाते हैं:-)।

चरण 8: आगे क्या?

आगे क्या?
आगे क्या?

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

सिफारिश की: