विषयसूची:

माइक्रो-कंट्रोलर आधारित मेट्रोनोम: 5 कदम
माइक्रो-कंट्रोलर आधारित मेट्रोनोम: 5 कदम

वीडियो: माइक्रो-कंट्रोलर आधारित मेट्रोनोम: 5 कदम

वीडियो: माइक्रो-कंट्रोलर आधारित मेट्रोनोम: 5 कदम
वीडियो: MACH 3 CNC CONTROL SOFTWARE TUTORIAL 5 TROUBLESHOOTING 2024, नवंबर
Anonim
Image
Image

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

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

चरण 1: आवश्यक घटक:

·

  • Atmega8A माइक्रोकंट्रोलर
  • · १६*२ एलसीडी डिस्प्ले
  • · पीजो बजर
  • एलईडी (हरा, लाल)
  • · प्रतिरोधक (220e, 330e, 1k, 5.6k)
  • · पुशबटन (2* एंटी-लॉकिंग, 1* लॉकिंग)
  • · 3V CR2032 कॉइन सेल बैटरी (*2)
  • सिक्का बैटरी धारक (* 2)
  • · 6pin रिलीमेट (ध्रुवीकृत) कनेक्टर

चरण 2: सर्किट बनाना

सर्किट कनेक्शन बनाएं जैसा कि चित्र में एक वर्बार्ड पर दिखाया गया है और कनेक्शन को ठीक से मिलाप करें

चरण 3: मेट्रोनोम की विशेषताएं

मेट्रोनोम का इंटरफ़ेस मुख्य रूप से एलसीडी स्क्रीन द्वारा कब्जा कर लिया गया है। इसके ऊपर 8A माइक्रोकंट्रोलर है जो केंद्र में एलईडी और बजर के साथ दाईं ओर रखा गया है। तीन स्विच और रिलीमेट कनेक्टर को सबसे ऊपर रखा गया है।

पूरी परियोजना केवल दो कॉइन सेल बैटरी (श्रृंखला में @6V 220mAh) द्वारा संचालित है, जिसका अनुमानित रनटाइम 20 दिनों से 1 महीने (लगातार नहीं) है। इसलिए यह मध्यम शक्ति कुशल है और इसकी वर्तमान आवश्यकता 3 - 5 mA है।

सेल्फ़ लॉकिंग स्विच को सबसे बाईं ओर रखा गया है और यह ON/OFF बटन है। बीच में बटन सेटअप बटन है और दाईं ओर बटन का उपयोग बीपीएम और बीट्स (प्रति बार) के मूल्यों को बदलने के लिए किया जाता है।

जब ON/OFF स्विच दबाया जाता है, तो LCD चालू होता है और प्रति बार बीट्स का मान प्रदर्शित करता है। यह उपयोगकर्ता द्वारा मान को बदलने के लिए 3 सेकंड तक प्रतीक्षा करता है जिसके बाद वह परिणामी मान को अपने इनपुट के रूप में लेता है। यह मान 1/4, 2/4, 3/4, 4/4 के बीच होता है।

फिर यह बीट्स प्रति मिनट (बीपीएम) प्रदर्शित करता है और फिर से 3 सेकंड के लिए उपयोगकर्ता द्वारा उस मूल्य को बदलने की प्रतीक्षा करता है जिसके बाद वह विशेष मान सेट करता है। उपयोगकर्ता द्वारा मान बदलने के बाद 3 सेकंड का यह प्रतीक्षा समय कैलिब्रेट किया जाता है। बीपीएम मान 30 से 240 तक भिन्न हो सकते हैं। बीपीएम सेटअप के दौरान सेटअप बटन को दबाने से इसका मान 30 बीपीएम पर रीसेट हो जाता है जो बटन क्लिक की मात्रा को कम करने में सहायक होता है। बीपीएम मान 5 के गुणज हैं।

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

Atmega8A माइक्रोकंट्रोलर में EEPROM के 500 बाइट्स होते हैं, जिसका अर्थ है कि बीट्स और बीपीएम के जो भी मान दर्ज किए जाते हैं, मेट्रोनोम बंद होने के बाद भी संग्रहीत रहते हैं। इसलिए इसे वापस चालू करना, इसे उसी डेटा के साथ फिर से शुरू करता है जो पहले दर्ज किया गया था।

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

चरण 4: विवरण

यह प्रोजेक्ट Atmel Atmega8A माइक्रोकंट्रोलर का उपयोग करके बनाया गया है जिसे Arduino IDE का उपयोग करके एक Arduino Uno/Mega/Nano के माध्यम से ISP प्रोग्रामर के रूप में उपयोग किया जाता है।

यह माइक्रोकंट्रोलर Atmel Atmega328p का एक कम विशेष रुप से प्रदर्शित संस्करण है जिसका उपयोग Arduino Uno में बड़े पैमाने पर किया जाता है। Atmega8A में 1Kb रैम के साथ 8Kb प्रोग्रामेबल मेमोरी शामिल है। यह एक 8 बिट का माइक्रोकंट्रोलर है जो 328p यानी 16Mhz की समान आवृत्ति पर चल रहा है।

इस परियोजना में, चूंकि वर्तमान खपत एक महत्वपूर्ण पहलू है, घड़ी की आवृत्ति कम कर दी गई है और आंतरिक 1 मेगाहर्ट्ज ऑसीलेटर का उपयोग किया जाता है। यह वर्तमान आवश्यकता को लगभग 3.5 mA @3.3V और 5mA @ 4.5V तक कम कर देता है।

Arduino IDE में इस माइक्रोकंट्रोलर को प्रोग्राम करने की सुविधा नहीं है। इसलिए एक ऑप्टिबूट बूटलोडर का उपयोग करके अपने आंतरिक थरथरानवाला के साथ 8A को चलाने के लिए एक "मिनीकोर" पैकेज (प्लगइन) स्थापित किया गया था। यह देखा गया कि बढ़ते वोल्टेज के साथ परियोजना की बिजली की आवश्यकता में वृद्धि हुई। इसलिए इष्टतम बिजली उपयोग के लिए, माइक्रोकंट्रोलर को 1 मेगाहर्ट्ज पर चलाने के लिए सेट किया गया था जिसमें केवल 3V सिक्का बैटरी ड्राइंग केवल 3.5mA थी। लेकिन यह देखा गया कि इतने कम वोल्टेज पर एलसीडी ठीक से काम नहीं कर रही थी। इसलिए श्रृंखला में दो सिक्का बैटरी का उपयोग करने का निर्णय वोल्टेज को 6V तक बढ़ाने के लिए लागू किया गया था। लेकिन इसका मतलब था कि वर्तमान खपत बढ़कर 15mA हो गई जो कि एक बड़ी कमी थी क्योंकि बैटरी जीवन बहुत खराब हो जाएगा। साथ ही यह 8A माइक्रोकंट्रोलर के 5.5V की सुरक्षित वोल्टेज सीमा को पार कर गया।

इसलिए इस समस्या से छुटकारा पाने के लिए एक 330 ओम रेसिस्टर को 6V बिजली आपूर्ति के साथ श्रृंखला में जोड़ा गया था। रोकनेवाला मूल रूप से माइक्रोकंट्रोलर को सुरक्षित रूप से चलाने के लिए 5.5V के भीतर वोल्टेज स्तर को कम करने के लिए अपने आप में एक वोल्टेज ड्रॉप का कारण बनता है। इसके अतिरिक्त 330 के मान को विभिन्न कारकों को ध्यान में रखकर चुना गया था:

  • · बिजली बचाने के लिए जितना संभव हो उतना कम वोल्टेज पर 8ए चलाने का लक्ष्य था।
  • · यह देखा गया है कि एलसीडी ने 3.2V से नीचे काम करना बंद कर दिया है, हालांकि माइक्रोकंट्रोलर अभी भी काम कर रहा है
  • · ३३० का यह मान सुनिश्चित करता है कि सिक्का बैटरियों का पूरा उपयोग करने के लिए वोल्टेज चरम सीमा पर गिरता है, बिल्कुल सटीक है।
  • · जब कॉइन सेल अपने चरम पर थे, तब वोल्टेज 6.3V के आसपास था, जिसमें 8A को 4.6 - 4.7 V (@ 5mA) का प्रभावी वोल्टेज प्राप्त हुआ था। और जब बैटरियां लगभग सूख चुकी थीं, तो 8A के साथ वोल्टेज लगभग 4V था और LCD को ठीक से काम करने के लिए पर्याप्त वोल्टेज यानी 3.2V प्राप्त हो रहा था। (@ 3.5mA)
  • · बैटरी के 4v स्तर से नीचे, वे प्रभावी रूप से बेकार थे बिना किसी रस के कुछ भी शक्ति देने के लिए छोड़ दिया। 8A माइक्रोकंट्रोलर की वर्तमान खपत के बाद से रेसिस्टर में वोल्टेज ड्रॉप पूरे समय बदलता रहता है और एलसीडी वोल्टेज को कम करने के साथ कम हो जाता है जो अनिवार्य रूप से बैटरी जीवन को बढ़ाने में सहायक होता है।

16*2 LCD को Arduino IDE की बिल्ट इन लिक्विड क्रिस्टल लाइब्रेरी का उपयोग करके प्रोग्राम किया गया था। यह 8A माइक्रोकंट्रोलर के 6 डेटा पिन का उपयोग करता है। इसके अतिरिक्त, इसकी चमक और कंट्रास्ट को दो डेटा पिन का उपयोग करके नियंत्रित किया गया था। ऐसा इसलिए किया गया ताकि एक अतिरिक्त घटक यानी पोटेंशियोमीटर का उपयोग न किया जा सके। इसके बजाय, स्क्रीन के कंट्रास्ट को समायोजित करने के लिए डेटा पिन D9 के PWM फ़ंक्शन का उपयोग किया गया था। इसके अलावा, जब आवश्यकता नहीं होती है तो एलसीडी बैकलाइट को बंद करने की आवश्यकता होती है, इसलिए इसे पावर देने के लिए डेटा पिन का उपयोग किए बिना यह संभव नहीं होता। बैकलाइट एलईडी में करंट को सीमित करने के लिए 220 ओम अवरोधक का उपयोग किया गया था।

बजर और एलईडी भी 8A (प्रत्येक के लिए एक) के डेटा पिन से जुड़े थे। लाल एलईडी में करंट को सीमित करने के लिए 5.6 k ओम अवरोधक का उपयोग किया गया था जबकि हरे रंग के लिए 1k ओम का उपयोग किया गया था। प्रतिरोधक मूल्यों को चमक और वर्तमान खपत के बीच एक मधुर स्थान प्राप्त करके चुना गया है।

ON/OFF बटन डेटा पिन से जुड़ा नहीं है और यह केवल एक स्विच है जो प्रोजेक्ट को स्विच करता है। इसका एक टर्मिनल 330 ओम रेसिस्टर से कनेक्ट होता है जबकि दूसरा LCD और 8A के Vcc पिन से कनेक्ट होता है। दो अन्य बटन डेटा पिन से जुड़े होते हैं जो सॉफ्टवेयर के माध्यम से वोल्टेज की आपूर्ति के लिए आंतरिक रूप से खींचे जाते हैं। स्विच के संचालन के लिए यह आवश्यक है।

इसके अतिरिक्त डेटा पिन, सेटअप बटन से कनेक्ट होता है, एक हार्डवेयर इंटरप्ट पिन है। इसकी इंटरप्ट सर्विस रूटीन (ISR) Arduino IDE में सक्रिय है। इसका मतलब यह है कि जब भी उपयोगकर्ता सेटअप मेनू चलाना चाहता है, तो 8A मेट्रोनोम के रूप में काम करने के अपने वर्तमान संचालन को निलंबित कर देता है, और ISR चलाता है जो मूल रूप से सेटअप मेनू को सक्रिय करता है। अन्यथा, उपयोगकर्ता सेटअप मेनू तक नहीं पहुंच पाएगा।

पहले उल्लेख किया गया EEPROM विकल्प यह सुनिश्चित करता है कि दर्ज किया गया डेटा बोर्ड के बंद होने के बाद भी संग्रहीत रहता है। और SPI हेडर में 6 पिन होते हैं - Vcc, Gnd, MOSI, MISO, SCK, RST। यह SPI प्रोटोकॉल का हिस्सा है और जैसा कि पहले उल्लेख किया गया है, एक ISP प्रोग्रामर का उपयोग 8A को फिर से नई सुविधाओं या कुछ और जोड़ने के लिए प्रोग्राम करने के लिए किया जा सकता है। वीसीसी पिन बैटरी पॉजिटिव टर्मिनल से अलग है और इसलिए मेट्रोनोम पहले उल्लिखित प्रतिबंधों को ध्यान में रखते हुए बाहरी बिजली आपूर्ति का उपयोग करने का विकल्प प्रदान करता है।

सर्किट आरेख के अनुसार अलग-अलग घटकों और उपयुक्त कनेक्शनों को सोल्डर करके पूरी परियोजना का निर्माण वेरोबार्ड में किया गया था।

सिफारिश की: