विषयसूची:

बेसिस ३ अलार्म क्लॉक: ९ कदम
बेसिस ३ अलार्म क्लॉक: ९ कदम

वीडियो: बेसिस ३ अलार्म क्लॉक: ९ कदम

वीडियो: बेसिस ३ अलार्म क्लॉक: ९ कदम
वीडियो: Word-Meanings + हिंदी Explanation/ Neha's Alarm Clock / Class-4 ENGLISH Chapter By-KV Teacher 2024, नवंबर
Anonim
बेसिस 3 अलार्म क्लॉक
बेसिस 3 अलार्म क्लॉक

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

चरण 1: ब्लैक बॉक्स आरेख

ब्लैक बॉक्स आरेख
ब्लैक बॉक्स आरेख
ब्लैक बॉक्स आरेख
ब्लैक बॉक्स आरेख

हमने अपने कार्यक्रम में आवश्यक इनपुट और आउटपुट की कल्पना करने के लिए एक ब्लैक बॉक्स आरेख बनाकर अपनी परियोजना शुरू की। हमारे प्रोग्राम के लिए निम्नलिखित इनपुट जैसे 5-बिट इनपुट (Hour_in) को 24-घंटे का समय निर्दिष्ट करने के लिए प्रारंभ किया गया था, 60 मिनट तक प्रदर्शित करने के लिए 6-बिट (मिन_इन) इनपुट, उपयोगकर्ता को अनुमति देने के लिए एक रीसेट (Rst_b) बटन। अपना समय इनपुट बदलें, एक 1-बिट इनपुट (alm_en) जो अलार्म इनपुट को लोड करता है, एक 1-बिट इनपुट (अलार्म_sw) सक्रिय होने पर अलार्म घड़ी को बंद करने के लिए, एक 1-बिट इनपुट (e_sec) जो काउंटर को नियंत्रित करता है सेकंड की संख्या चलेगी, एक 1-बिट इनपुट (Led_btn) जो वर्तमान समय निर्धारित करता है, और अंत में एक 1-बिट इनपुट (clk) जो बेसिस 3 बोर्ड द्वारा प्रदर्शित समय को नियंत्रित करता है। आउटपुट (alm_on) हैं जो Arduino को सिग्नल भेजता है, sseg आउटपुट जो बेसिस 3 पर इनपुट समय प्रदर्शित करता है, और एनोड आउटपुट जो नियंत्रित करता है कि सात सेगमेंट डिस्प्ले पर इनपुट कहां प्रदर्शित होते हैं।

चरण 2: धीमी घड़ी

धीमी घड़ी
धीमी घड़ी

धीमी घड़ी या clock_div2 फ़ाइल एक ऐसी घड़ी बनाती है जिसकी आवृत्ति 2 हर्ट्ज़ है। यदि हम इस घड़ी को अपने सेकंड काउंटर पर फीड करते हैं, तो सेकंड का मान हर सेकेंड में एक बढ़ जाएगा। धीमी घड़ी का उपयोग एक विश्वसनीय घड़ी संकेत बनाने के लिए किया जाता है जो प्रति सेकंड एक बार निम्न से उच्च में बदलता है।

चरण 3: काउंटर

काउंटर
काउंटर
काउंटर
काउंटर

घटक काउंटर (मिनट और सेकंड):

मिनट और सेकंड का मूल कार्य यह है कि वे काउंटर हैं। मिनट काउंटर इनपुट (विन) लेता है जो इनपुट (मिन_इन) से सिग्नल है, और तब तक गिना जाता है जब तक वांछित इनपुट इनपुट तक नहीं पहुंच जाता। सेकंड केवल स्विच (e_Sec) के इनपुट में लगते हैं क्योंकि इसे सात सेगमेंट पर प्रदर्शित नहीं किया जा सकता है, और एक बार स्विच उच्च '1' होने पर पृष्ठभूमि में गिना जाता है। वे दोनों वहां (Qout) के लिए मूल्य का उत्पादन करते हैं, और फिर इसे (डेटा) में संग्रहीत किया जाता है जो इसे SSEG को भेजता है जो लिंकिंग फ़ाइल में किया जाता है। इसके अलावा, जब मिनट और सेकंड 59 के मान तक पहुंच जाते हैं तो यह रीसेट हो जाता है, और मिनट / घंटा बढ़ाने के लिए उनका आउटपुट '1' होता है। यह उनके इनपुट के लिए एक रीसेट (rst_b) के साथ मैप भी कर सकता है।

चरण 4: काउंटर घंटा

काउंटर घंटा
काउंटर घंटा
काउंटर घंटा
काउंटर घंटा

घटक काउंटर घंटा

इसी तरह, मिनट और सेकंड के कंपोनेंट काउंटर पर घंटा कंपोनेंट इनपुट s जैसे (Vin) लेता है, जो लिंकिंग फाइल इनपुट (Hour_in) से एक सिग्नल है, और इसमें आउटपुट होते हैं जो उसी तरह मिनट और सेकंड से जुड़े होते हैं। जब घंटे का काउंट वैल्यू 24 00 तक पहुंच जाता है तो यह 00 00 पर रीसेट हो जाता है।

चरण 5: अलार्म

अलार्म
अलार्म
अलार्म
अलार्म
अलार्म
अलार्म
अलार्म
अलार्म

अलार्म.vhd फाइल डी-फ्लिप-फ्लॉप से बनी होती है जो स्टोरेज डिवाइस होते हैं जो डिजिटल डेटा स्टोर कर सकते हैं। अलार्म फ़ाइल का उपयोग उस समय को संग्रहीत करने के लिए किया जाता है जिस पर अलार्म सक्रिय होगा। घंटों (5 बिट इनपुट) और मिनटों (6 बिट इनपुट) के डेटा को स्टोर करने के लिए हमें अपनी अलार्म फाइल के भीतर 11 डी-फ्लिप-फ्लॉप पर मुहर लगानी होगी। ऐसा करने के लिए, हमें पहले डी-फ्लिप-फ्लॉप के संचालन को नियंत्रित करने वाले तर्क को आयात करना होगा और घटकों को मैप करना होगा। 11 डी-फ्लिप-फ्लॉप में से प्रत्येक इनपुट से एक बिट डेटा संग्रहीत करेगा और डेटा को अलार्म फ़ाइल के आउटपुट में मैप करने की अनुमति देगा। क्योंकि डी-फ्लिप-फ्लॉप डेटा स्टोर करते हैं, हम बाद के समय में डेटा का उपयोग करने में सक्षम होते हैं, भले ही इनपुट स्विच बदल दिए गए हों।

चरण 6: यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर

यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर
यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर
यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर
यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर
यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर
यूनिवर्सल सेवन सेगमेंट डिस्प्ले ड्राइवर

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

चरण 7: लिंक फ़ाइल

लिंक फ़ाइल
लिंक फ़ाइल
लिंक फ़ाइल
लिंक फ़ाइल
लिंक फ़ाइल
लिंक फ़ाइल

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

चरण 8: अरुडिनो

अरुडिनो
अरुडिनो
अरुडिनो
अरुडिनो

Arduino का उपयोग स्पीकर को सक्रिय करने के साथ-साथ स्पीकर के माध्यम से बजाए जाने वाले नोट के स्वर और अवधि को नियंत्रित करने के लिए किया जाता है। आर्डिनो बेसिस 3 बोर्ड से एक डिजिटल सिग्नल पढ़ता है। जब यह सिग्नल अधिक होता है, तो arduino अलार्म के स्वर और अवधि को नियंत्रित करने वाले PWM सिग्नल को आउटपुट करेगा। Arduino से आउटपुट सिग्नल स्पीकर ड्राइवर बोर्ड के इनपुट सिग्नल से जुड़ता है जिससे स्पीकर का वॉल्यूम बढ़ जाता है। Arduino इस प्रक्रिया को प्रति सेकंड कई बार बहुत तेजी से दोहराता है।

चरण 9: केबल रूटिंग

केबल मार्ग
केबल मार्ग

बोर्डों के बीच संकेतों को स्थानांतरित करने के लिए आर्डिनो और बेसिस 3 बोर्ड को शारीरिक रूप से जोड़ा जाना चाहिए। तार के लिए पहली केबल बेसिस 3 के जेए पीएमओडी के ग्राउंड पिन से आर्डिनो के ग्राउंड पिन तक होगी। इसके बाद बेसिस 3 के जेए पीएमओडी के पिन 1 से एक तार को आर्डिनो के डिजिटल पिन 7 से कनेक्ट करें। इसके बाद, दो ग्राउंड पिन को arduino से स्पीकर ड्राइवर के ग्राउंड पिन से कनेक्ट करें। इसके बाद, Arduino के 3.3 V आउटपुट को स्पीकर ड्राइवर के Vcc पिन से कनेक्ट करें। इसके बाद, Arduino के डिजिटल पिन 9 को स्पीकर ड्राइवर के इन पिन से कनेक्ट करें।

सिफारिश की: